[Mesa-dev] Mesa (master): i965/fs: Remove broken optimization for live intervals in loops.

Eric Anholt eric at anholt.net
Sat Apr 9 01:00:05 PDT 2011


On Fri, 08 Apr 2011 17:37:32 -0700, Ian Romanick <idr at freedesktop.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 04/08/2011 11:05 AM, Eric Anholt wrote:
> > Module: Mesa
> > Branch: master
> > Commit: 963431829055f63ec94d88c97a5d07d30e49833a
> > URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=963431829055f63ec94d88c97a5d07d30e49833a
> > 
> > Author: Eric Anholt <eric at anholt.net>
> > Date:   Sat Apr  2 18:11:32 2011 -1000
> > 
> > i965/fs: Remove broken optimization for live intervals in loops.
> > 
> > The theory here was to detect a temporary variable used within a loop,
> > and avoid considering it live across the entire loop.  However, it was
> > overeager and failed when the first definition of the variable
> > appeared within the loop but was only conditionally defined.
> > 
> > Fixes glsl-fs-loop-redundant-condition.
> 
> Some aspect of this change has broken glsl-fs-convolution-2 on my
> Ironlake system.  I get an assertion failure:
> 
> shader_runner: brw_fs.cpp:3762: GLboolean brw_wm_fs_emit(brw_context*,
> brw_wm_compile*): Assertion `!v.failed' failed.
> 
> I haven't tracked it any further than bisecting.

Thought I'd verified that I didn't need the rest of that series to avoid
breaking that test with this patch these days.  Anyway, not surprising,
and "we fail to compile a valid program" seems less bad to me than "we
turn a successfully-compiling valid program into a
successfully-compiling bad program (involving looping, and if you're not
lucky, hanging)".
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110408/cfbdc6cc/attachment.pgp>


More information about the mesa-dev mailing list