Mesa (master): tgsi: (trivial) fix handling msaa resources on TXF

Roland Scheidegger sroland at kemper.freedesktop.org
Fri Aug 29 23:18:04 UTC 2014


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

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Aug 28 00:41:05 2014 +0200

tgsi: (trivial) fix handling msaa resources on TXF

Just handle as ordinary 2d / 2d array resources. Prevents an assertion failure
with softpipe and piglit glsl-resource-not-bound 2DMS/2DMSArray tests.
While here also fix TXD shadowCube similarly, which fixes the crash with piglit
tex-miplevel-selection textureGrad CubeShadow (the test will still fail due to
softpipe being broken).

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=80011

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

---

 src/gallium/auxiliary/tgsi/tgsi_exec.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index d848348..6dae379 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -1949,7 +1949,8 @@ exec_txd(struct tgsi_exec_machine *mach,
    case TGSI_TEXTURE_3D:
    case TGSI_TEXTURE_CUBE:
    case TGSI_TEXTURE_CUBE_ARRAY:
-      /* only TEXTURE_CUBE_ARRAY actually needs W */
+   case TGSI_TEXTURE_SHADOWCUBE:
+      /* only TEXTURE_CUBE_ARRAY and TEXTURE_SHADOWCUBE actually need W */
       FETCH(&r[0], 0, TGSI_CHAN_X);
       FETCH(&r[1], 0, TGSI_CHAN_Y);
       FETCH(&r[2], 0, TGSI_CHAN_Z);
@@ -2004,6 +2005,7 @@ exec_txf(struct tgsi_exec_machine *mach,
    case TGSI_TEXTURE_3D:
    case TGSI_TEXTURE_2D_ARRAY:
    case TGSI_TEXTURE_SHADOW2D_ARRAY:
+   case TGSI_TEXTURE_2D_ARRAY_MSAA:
       IFETCH(&r[2], 0, TGSI_CHAN_Z);
       /* fallthrough */
    case TGSI_TEXTURE_2D:
@@ -2012,6 +2014,7 @@ exec_txf(struct tgsi_exec_machine *mach,
    case TGSI_TEXTURE_SHADOW2D:
    case TGSI_TEXTURE_SHADOWRECT:
    case TGSI_TEXTURE_1D_ARRAY:
+   case TGSI_TEXTURE_2D_MSAA:
       IFETCH(&r[1], 0, TGSI_CHAN_Y);
       /* fallthrough */
    case TGSI_TEXTURE_BUFFER:




More information about the mesa-commit mailing list