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

Author: Brian Paul <bri...@vmware.com>
Date:   Fri Mar 25 14:06:39 2016 -0600

st/xa: emit sampler view declarations in shaders

Fixes recent regressions with the VMware gallium driver.

Reviewed-by: Charmaine Lee <charmai...@vmware.com>
Tested-by: Charmaine Lee <charmai...@vmware.com>

---

 src/gallium/state_trackers/xa/xa_tgsi.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/gallium/state_trackers/xa/xa_tgsi.c 
b/src/gallium/state_trackers/xa/xa_tgsi.c
index 5d8b807..a50393d 100644
--- a/src/gallium/state_trackers/xa/xa_tgsi.c
+++ b/src/gallium/state_trackers/xa/xa_tgsi.c
@@ -339,6 +339,16 @@ create_yuv_shader(struct pipe_context *pipe, struct 
ureg_program *ureg)
     u_sampler = ureg_DECL_sampler(ureg, 1);
     v_sampler = ureg_DECL_sampler(ureg, 2);
 
+    ureg_DECL_sampler_view(ureg, 0, TGSI_TEXTURE_2D,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
+    ureg_DECL_sampler_view(ureg, 1, TGSI_TEXTURE_2D,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
+    ureg_DECL_sampler_view(ureg, 2, TGSI_TEXTURE_2D,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
+
     matrow0 = ureg_DECL_constant(ureg, 0);
     matrow1 = ureg_DECL_constant(ureg, 1);
     matrow2 = ureg_DECL_constant(ureg, 2);
@@ -475,6 +485,9 @@ create_fs(struct pipe_context *pipe, unsigned fs_traits)
     }
     if (is_composite) {
        src_sampler = ureg_DECL_sampler(ureg, 0);
+        ureg_DECL_sampler_view(ureg, 0, TGSI_TEXTURE_2D,
+                               TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                               TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
        src_input = ureg_DECL_fs_input(ureg,
                                       TGSI_SEMANTIC_GENERIC, 0,
                                       TGSI_INTERPOLATE_PERSPECTIVE);
@@ -494,12 +507,18 @@ create_fs(struct pipe_context *pipe, unsigned fs_traits)
 
     if (has_mask) {
        mask_sampler = ureg_DECL_sampler(ureg, 1);
+        ureg_DECL_sampler_view(ureg, 1, TGSI_TEXTURE_2D,
+                               TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                               TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
        mask_pos = ureg_DECL_fs_input(ureg,
                                      TGSI_SEMANTIC_GENERIC, 1,
                                      TGSI_INTERPOLATE_PERSPECTIVE);
     }
 #if 0                          /* unused right now */
     dst_sampler = ureg_DECL_sampler(ureg, 2);
+    ureg_DECL_sampler_view(ureg, 2, TGSI_TEXTURE_2D,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
+                           TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
     dst_pos = ureg_DECL_fs_input(ureg,
                                 TGSI_SEMANTIC_POSITION, 2,
                                 TGSI_INTERPOLATE_PERSPECTIVE);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to