Mesa (master): glsl: Fix samplerCubeShadow support in shader compiler

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Dec 7 23:12:17 UTC 2011


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

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Dec  6 11:11:03 2011 -0800

glsl: Fix samplerCubeShadow support in shader compiler

This patch fixes the samplerCubeShadow support in GLSL shader compiler.
shader compiler was picking the 'r' texture coordinate for shadow comparison
when the expected behaviour is to use 'q' texture coordinate in case of cube
shadow maps.

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/glsl/builtins/tools/texture_builtins.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/builtins/tools/texture_builtins.py b/src/glsl/builtins/tools/texture_builtins.py
index 27cc027..07d0a1b 100755
--- a/src/glsl/builtins/tools/texture_builtins.py
+++ b/src/glsl/builtins/tools/texture_builtins.py
@@ -105,7 +105,7 @@ def generate_sigs(g, tex_inst, sampler_type, variant = 0, unused_fields = 0):
             print "1",
 
         # Shadow comparitor
-        if sampler_type == "2DArrayShadow": # a special case:
+        if sampler_type == "2DArrayShadow" or sampler_type == "CubeShadow": # a special case:
             print "(swiz w (var_ref P))",   # ...array layer is z; shadow is w
         elif sampler_type.endswith("Shadow"):
             print "(swiz z (var_ref P))",




More information about the mesa-commit mailing list