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>
pgpatouphydiQ.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev