All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
@ 2011-03-12 19:24 bugzilla-daemon
  2011-03-12 19:25 ` [Bug 35257] " bugzilla-daemon
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 19:24 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

           Summary: r300_fragprog_emit.c::emit_alu(): Too many ALU
                    instructions
           Product: Mesa
           Version: 7.10
          Platform: x86 (IA32)
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/r300
        AssignedTo: dri-devel@lists.freedesktop.org
        ReportedBy: biru.ionut@gmail.com


Created an attachment (id=44402)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=44402)
xorg log

when using gnome shell 2.91.91, clicking on Applications, in the location where
the icons should be listed,i have a big black square. Clicking on the other
categories the icons are show normally, only the All category has this problem

.xsession-errors has


r300 FP: Compiler Error:
r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
Using a dummy shader instead.


mesa 7.10.1
clutter 1.6.8

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
@ 2011-03-12 19:25 ` bugzilla-daemon
  2011-03-12 19:44 ` bugzilla-daemon
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 19:25 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #1 from Ionut Biru <biru.ionut@gmail.com> 2011-03-12 11:25:17 PST ---
Created an attachment (id=44403)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=44403)
preview of the bug

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
  2011-03-12 19:25 ` [Bug 35257] " bugzilla-daemon
@ 2011-03-12 19:44 ` bugzilla-daemon
  2011-03-12 19:49 ` bugzilla-daemon
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 19:44 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

Tom Stellard <tstellar@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #44402|application/octet-stream    |text/plain
          mime type|                            |

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
  2011-03-12 19:25 ` [Bug 35257] " bugzilla-daemon
  2011-03-12 19:44 ` bugzilla-daemon
@ 2011-03-12 19:49 ` bugzilla-daemon
  2011-03-12 19:49 ` bugzilla-daemon
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 19:49 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #2 from Tom Stellard <tstellar@gmail.com> 2011-03-12 11:49:08 PST ---
Can you set the environment variable RADEON_DEBUG=fp and post the
.xsession-errors file?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (2 preceding siblings ...)
  2011-03-12 19:49 ` bugzilla-daemon
@ 2011-03-12 19:49 ` bugzilla-daemon
  2011-03-12 20:10 ` bugzilla-daemon
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 19:49 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #3 from Ionut Biru <biru.ionut@gmail.com> 2011-03-12 11:49:50 PST ---
Created an attachment (id=44404)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=44404)
log generated using RADEON_DEBUG=fp when using gnome-shell

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (3 preceding siblings ...)
  2011-03-12 19:49 ` bugzilla-daemon
@ 2011-03-12 20:10 ` bugzilla-daemon
  2011-03-14 21:08 ` bugzilla-daemon
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-12 20:10 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

Tom Stellard <tstellar@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |NOTABUG

--- Comment #4 from Tom Stellard <tstellar@gmail.com> 2011-03-12 12:10:48 PST ---
Like Marek said, this isn't a bug it is a hardware limitation.  The only way
this could work is with changes to Gnome Shell, so you should contact the Gnome
Shell developers, although they might tell your hardware is unsupported.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (4 preceding siblings ...)
  2011-03-12 20:10 ` bugzilla-daemon
@ 2011-03-14 21:08 ` bugzilla-daemon
  2011-03-14 21:14 ` bugzilla-daemon
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-14 21:08 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #5 from Ian Romanick <idr@freedesktop.org> 2011-03-14 14:08:08 PDT ---
(In reply to comment #4)
> Like Marek said, this isn't a bug it is a hardware limitation.  The only way
> this could work is with changes to Gnome Shell, so you should contact the Gnome
> Shell developers, although they might tell your hardware is unsupported.

Since we know there's a lot of work still to be done in the compiler's higher
level optimization passes, I always feel like this is a bit of a cop out
answer.  The TGSI input is 125 instructions, and it looks like a nightmare of
lowered if-statements.  There are way more CMP/SEQ/MUL sequences than any
program should generate.  Unsurprisingly, the driver chokes on it.  I'm sure
the i915 driver, which has limitations similar to r300, would choke even worse.

Comparing the GLSL to the generated TGSI might reveal some high-level
optimization opportunities that we're missing.  It may also help us give some
suggestions to the gnome-shell folks to make the shader more friendly to older
hardware.  There are, after all, a lot of i915s and r300s out there.

Just for giggles, could we get the output of MESA_GLSL=dump too?  Use the same
procedure as for RADEON_DEBUG=fp.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (5 preceding siblings ...)
  2011-03-14 21:08 ` bugzilla-daemon
@ 2011-03-14 21:14 ` bugzilla-daemon
  2011-03-15  0:28 ` bugzilla-daemon
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-14 21:14 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #6 from Ionut Biru <biru.ionut@gmail.com> 2011-03-14 14:14:05 PDT ---
@Ian (In reply to comment #5)
> (In reply to comment #4)
> > Like Marek said, this isn't a bug it is a hardware limitation.  The only way
> > this could work is with changes to Gnome Shell, so you should contact the Gnome
> > Shell developers, although they might tell your hardware is unsupported.
> 

my problem was fixed by gnome-shell developers by reducing the number of
shader.
http://git.gnome.org/browse/gnome-shell/commit/?id=43cf60f5636e7883bd5012e4c89ed5d57e28200c

> Since we know there's a lot of work still to be done in the compiler's higher
> level optimization passes, I always feel like this is a bit of a cop out
> answer.  The TGSI input is 125 instructions, and it looks like a nightmare of
> lowered if-statements.  There are way more CMP/SEQ/MUL sequences than any
> program should generate.  Unsurprisingly, the driver chokes on it.  I'm sure
> the i915 driver, which has limitations similar to r300, would choke even worse.
> 
> Comparing the GLSL to the generated TGSI might reveal some high-level
> optimization opportunities that we're missing.  It may also help us give some
> suggestions to the gnome-shell folks to make the shader more friendly to older
> hardware.  There are, after all, a lot of i915s and r300s out there.
> 
> Just for giggles, could we get the output of MESA_GLSL=dump too?  Use the same
> procedure as for RADEON_DEBUG=fp.

sure. i would do it

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (6 preceding siblings ...)
  2011-03-14 21:14 ` bugzilla-daemon
@ 2011-03-15  0:28 ` bugzilla-daemon
  2011-03-15  0:29 ` bugzilla-daemon
  2011-03-15  4:26 ` bugzilla-daemon
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-15  0:28 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #7 from Tom Stellard <tstellar@gmail.com> 2011-03-14 17:28:24 PDT ---
(In reply to comment #5)
> (In reply to comment #4)
> > Like Marek said, this isn't a bug it is a hardware limitation.  The only way
> > this could work is with changes to Gnome Shell, so you should contact the Gnome
> > Shell developers, although they might tell your hardware is unsupported.
> 
> Since we know there's a lot of work still to be done in the compiler's higher
> level optimization passes, I always feel like this is a bit of a cop out
> answer.  The TGSI input is 125 instructions, and it looks like a nightmare of
> lowered if-statements.  There are way more CMP/SEQ/MUL sequences than any
> program should generate.  Unsurprisingly, the driver chokes on it.  I'm sure
> the i915 driver, which has limitations similar to r300, would choke even worse.
> 
> Comparing the GLSL to the generated TGSI might reveal some high-level
> optimization opportunities that we're missing.  It may also help us give some
> suggestions to the gnome-shell folks to make the shader more friendly to older
> hardware.  There are, after all, a lot of i915s and r300s out there.
> 
> Just for giggles, could we get the output of MESA_GLSL=dump too?  Use the same
> procedure as for RADEON_DEBUG=fp.

We were able to give some suggestions to the gnome shell developers to get the
shader to fit.  The optimization that is missing is pre-computing of equivalent
expressions (not sure what the technical term is).  In this shader there was a
four clause conditional that was being used in two different IF statements.
I've attached the before and after versions of the shader if you're interested

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (7 preceding siblings ...)
  2011-03-15  0:28 ` bugzilla-daemon
@ 2011-03-15  0:29 ` bugzilla-daemon
  2011-03-15  4:26 ` bugzilla-daemon
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-15  0:29 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #8 from Tom Stellard <tstellar@gmail.com> 2011-03-14 17:29:19 PDT ---
Created an attachment (id=44454)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=44454)
The shader in question before and after our suggestions

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug 35257] r300_fragprog_emit.c::emit_alu(): Too many ALU instructions
  2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
                   ` (8 preceding siblings ...)
  2011-03-15  0:29 ` bugzilla-daemon
@ 2011-03-15  4:26 ` bugzilla-daemon
  9 siblings, 0 replies; 11+ messages in thread
From: bugzilla-daemon @ 2011-03-15  4:26 UTC (permalink / raw)
  To: dri-devel

https://bugs.freedesktop.org/show_bug.cgi?id=35257

--- Comment #9 from Matt Turner <mattst88@gmail.com> 2011-03-14 21:26:25 PDT ---
(In reply to comment #7)
> We were able to give some suggestions to the gnome shell developers to get the
> shader to fit.  The optimization that is missing is pre-computing of equivalent
> expressions (not sure what the technical term is).

Common subexpression elimination.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-03-15  4:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-12 19:24 [Bug 35257] New: r300_fragprog_emit.c::emit_alu(): Too many ALU instructions bugzilla-daemon
2011-03-12 19:25 ` [Bug 35257] " bugzilla-daemon
2011-03-12 19:44 ` bugzilla-daemon
2011-03-12 19:49 ` bugzilla-daemon
2011-03-12 19:49 ` bugzilla-daemon
2011-03-12 20:10 ` bugzilla-daemon
2011-03-14 21:08 ` bugzilla-daemon
2011-03-14 21:14 ` bugzilla-daemon
2011-03-15  0:28 ` bugzilla-daemon
2011-03-15  0:29 ` bugzilla-daemon
2011-03-15  4:26 ` bugzilla-daemon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.