Mesa (master): i965: Copy shader->shadow_samplers to prog->ShadowSamplers.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Jan 5 05:33:18 UTC 2015


Module: Mesa
Branch: master
Commit: 1f1102c8349bd06d579e542ded32fb1aea8a27ab
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f1102c8349bd06d579e542ded32fb1aea8a27ab

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Dec 31 17:38:05 2014 -0800

i965: Copy shader->shadow_samplers to prog->ShadowSamplers.

ir_to_mesa does this - apparently we just forgot or something.

Without this, we'll guess the wrong texture swizzle (XYZW for color
instead of XXX1 for depth) when doing precompiles.

This cuts 26 shader recompiles in a time demo of "Counter Strike:
Global Offensive" (58 -> 32) on Sandybridge.  Haswell still has 0
recompiles.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87886
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

---

 src/mesa/drivers/dri/i965/brw_shader.cpp |    1 +
 1 file changed, 1 insertion(+)

diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index e38dfd6..d76134b 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -242,6 +242,7 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
       do_set_program_inouts(shader->base.ir, prog, shader->base.Stage);
 
       prog->SamplersUsed = shader->base.active_samplers;
+      prog->ShadowSamplers = shader->base.shadow_samplers;
       _mesa_update_shader_textures_used(shProg, prog);
 
       _mesa_reference_program(ctx, &shader->base.Program, prog);




More information about the mesa-commit mailing list