tgsi: add TGSI_TEXTURE_SHADOWCUBEMAP
authorDave Airlie <airlied@redhat.com>
Wed, 11 Jan 2012 13:22:22 +0000 (13:22 +0000)
committerDave Airlie <airlied@redhat.com>
Wed, 11 Jan 2012 17:35:25 +0000 (17:35 +0000)
This adds support for shadow cubemap texture sampling instructions.

This is required for GL 3.0.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/tgsi/tgsi_strings.c
src/gallium/auxiliary/tgsi/tgsi_util.c
src/gallium/include/pipe/p_shader_tokens.h

index 72b1dcab60381b93e2bf0554e5f6408bb45208f0..c0bd2d04cd7773dd0d2a67cfaafcc98ff8a71963 100644 (file)
@@ -1865,6 +1865,7 @@ exec_tex(struct tgsi_exec_machine *mach,
                   &r[0], &r[1], &r[2], &r[3]);  /* outputs */
       break;
    case TGSI_TEXTURE_SHADOW2D_ARRAY:
+   case TGSI_TEXTURE_SHADOWCUBE:
       FETCH(&r[0], 0, CHAN_X);
       FETCH(&r[1], 0, CHAN_Y);
       FETCH(&r[2], 0, CHAN_Z);
@@ -2182,6 +2183,7 @@ exec_sample(struct tgsi_exec_machine *mach,
       break;
 
    case TGSI_TEXTURE_SHADOW2D_ARRAY:
+   case TGSI_TEXTURE_SHADOWCUBE:
       FETCH(&r[0], 0, CHAN_X);
       FETCH(&r[1], 0, CHAN_Y);
       FETCH(&r[2], 0, CHAN_Z);
index de9152dae21db0553a224fe01e6580f25f45b894..520452ce1b88af17471364c15721c03e59ed5262 100644 (file)
@@ -90,6 +90,7 @@ const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] =
    "2DARRAY",
    "SHADOW1DARRAY",
    "SHADOW2DARRAY",
+   "SHADOWCUBE"
 };
 
 const char *tgsi_property_names[TGSI_PROPERTY_COUNT] =
index 9f6997dc88a8e8f6ffab3ea747a1a3afc4b207a8..36dc10d555ec621ad73abfcc171eab741e5eade5 100644 (file)
@@ -284,6 +284,7 @@ tgsi_util_get_inst_usage_mask(const struct tgsi_full_instruction *inst,
             read_mask = TGSI_WRITEMASK_XYZ;
             break;
          case TGSI_TEXTURE_SHADOW2D_ARRAY:
+         case TGSI_TEXTURE_SHADOWCUBE:
             read_mask = TGSI_WRITEMASK_XYZW;
             break;
          default:
index a1316306bbc352f602f4c1451f9f89527a69eaf1..df2dd5e618ef0d7ff2689fd67ab8ff1da4849b85 100644 (file)
@@ -454,7 +454,8 @@ struct tgsi_instruction_label
 #define TGSI_TEXTURE_2D_ARRAY       10
 #define TGSI_TEXTURE_SHADOW1D_ARRAY 11
 #define TGSI_TEXTURE_SHADOW2D_ARRAY 12
-#define TGSI_TEXTURE_COUNT          13
+#define TGSI_TEXTURE_SHADOWCUBE     13
+#define TGSI_TEXTURE_COUNT          14
 
 struct tgsi_instruction_texture
 {