[Bug 28294] [r300g] Unigine Sanctuary v2.2: black glitches

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 27 15:28:54 PDT 2010


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

--- Comment #32 from Benjamin Segovia <benjamin.segovia at intel.com> 2010-09-27 15:28:53 PDT ---
Ok, the number of registers may be too high, so optimizing is required to lower
that number.

1/ To mesa developpers: do you know which part of mesa is disabled when
RADEON_DEBUG=noopt is setup? Does it only modify radeon backend?
In that case, this is a backend problem not a glsl2 or prog_optimize.c bug.

2/ We may try to workaround the assert you hit. You may do the following thing
in _mesa_optimize_program. As below, comments the lines I commented. This will
disable optimizations while maintaining register reallocation:

#if 0
_mesa_remove_extra_move_use(program);
      if (_mesa_remove_dead_code_global(program))
         any_change = GL_TRUE;
      if (_mesa_remove_extra_moves(program))
         any_change = GL_TRUE;
      if (_mesa_remove_dead_code_local(program))
         any_change = GL_TRUE;
#endif
      _mesa_reallocate_registers(program);

Thanks for help. You are awesomely reactive :)

Ben


(In reply to comment #31)
> (In reply to comment #30)
> > (In reply to comment #29)
> > > Created an attachment (id=38758)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=38758)
[details]
> > > screenshot with current mesa git (    dab2a7660a407364a33337327743b56ea9701d9b)
> > 
> > Hello,
> > 
> > Problem is that I cannot test r300g. One bug was outstanding in my merge. It
> > was solved few hours after glsl2 merge. So:
> > 1/ One bug or more in the mesa program optimizations could cause that bug
> > 2/ One bug or more in glsl2 could cause it
> > 3/ Both
> > 
> > Could you comment the body of function _mesa_optimize_program in
> > src/mesa/program/prog_optimize.c (this is the last function of the source
> > file)? This will deactivate my commit.
> > 
> > Just to see if there is something wrong with glsl2 merge first.
> > 
> > Cheers,
> > Ben
> 
> Hi, I did comment out the body of _mesa_optimize_program and I'm now hiting
> this assertion "Sanctuary: program/program.c:879: _mesa_find_used_registers:
> Assertion `inst->DstReg.Index < usedSize' failed.", this is with shaders
> quality high, with low there is no change (starts but no shadows). 
> I've found out that I can make shadows work when I start it with
> RADEON_DEBUG=noopt, which if I understand it correctly disables all
> optimizations.

(In reply to comment #31)
> (In reply to comment #30)
> > (In reply to comment #29)
> > > Created an attachment (id=38758)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=38758)
[details]
> > > screenshot with current mesa git (    dab2a7660a407364a33337327743b56ea9701d9b)
> > 
> > Hello,
> > 
> > Problem is that I cannot test r300g. One bug was outstanding in my merge. It
> > was solved few hours after glsl2 merge. So:
> > 1/ One bug or more in the mesa program optimizations could cause that bug
> > 2/ One bug or more in glsl2 could cause it
> > 3/ Both
> > 
> > Could you comment the body of function _mesa_optimize_program in
> > src/mesa/program/prog_optimize.c (this is the last function of the source
> > file)? This will deactivate my commit.
> > 
> > Just to see if there is something wrong with glsl2 merge first.
> > 
> > Cheers,
> > Ben
> 
> Hi, I did comment out the body of _mesa_optimize_program and I'm now hiting
> this assertion "Sanctuary: program/program.c:879: _mesa_find_used_registers:
> Assertion `inst->DstReg.Index < usedSize' failed.", this is with shaders
> quality high, with low there is no change (starts but no shadows). 
> I've found out that I can make shadows work when I start it with
> RADEON_DEBUG=noopt, which if I understand it correctly disables all
> optimizations.

(In reply to comment #31)
> (In reply to comment #30)
> > (In reply to comment #29)
> > > Created an attachment (id=38758)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=38758)
[details]
> > > screenshot with current mesa git (    dab2a7660a407364a33337327743b56ea9701d9b)
> > 
> > Hello,
> > 
> > Problem is that I cannot test r300g. One bug was outstanding in my merge. It
> > was solved few hours after glsl2 merge. So:
> > 1/ One bug or more in the mesa program optimizations could cause that bug
> > 2/ One bug or more in glsl2 could cause it
> > 3/ Both
> > 
> > Could you comment the body of function _mesa_optimize_program in
> > src/mesa/program/prog_optimize.c (this is the last function of the source
> > file)? This will deactivate my commit.
> > 
> > Just to see if there is something wrong with glsl2 merge first.
> > 
> > Cheers,
> > Ben
> 
> Hi, I did comment out the body of _mesa_optimize_program and I'm now hiting
> this assertion "Sanctuary: program/program.c:879: _mesa_find_used_registers:
> Assertion `inst->DstReg.Index < usedSize' failed.", this is with shaders
> quality high, with low there is no change (starts but no shadows). 
> I've found out that I can make shadows work when I start it with
> RADEON_DEBUG=noopt, which if I understand it correctly disables all
> optimizations.

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


More information about the dri-devel mailing list