Kenneth Graunke <kenn...@whitecape.org> writes:
> In addition to registers used by instructions, fs_visitor maintains
> direct references to certain "special" values used for inputs/outputs.
>
> When I added VGRF compaction, I overlooked these, believing that these
> direct references weren't used once instructions were generated.  That
> was wrong.  For example, pixel_x/y are used in virtual_grf_interferes(),
> which is called by optimization passes and register allocation.
>
> This patch treats all of them as used and patches them after compacting.
> While it's not strictly necessary to patch all of them (as some aren't
> used after emitting code), it seems safer to simply fix them all.
>
> Fixes oglconform's textureswizzle/advanced.shader.targets, piglit's
> glsl-fs-lots-of-tex, and glean's texCombine on pre-Gen6 hardware.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56790

Yeah, finally realized this morning that this was probably about how
delta_xy weren't being adjusted for the register allocator.

Reviewed-by: Eric Anholt <e...@anholt.net>

Attachment: pgpatouphydiQ.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to