Browse Source

tgsi: add TGSI_TEXTURE_SHADOWCUBEMAP

This adds support for shadow cubemap texture sampling instructions.

This is required for GL 3.0.

Signed-off-by: Dave Airlie <airlied@redhat.com>
tags/mesa-8.0-rc1
Dave Airlie 14 years ago
parent
commit
0ec30805a4

+ 2
- 0
src/gallium/auxiliary/tgsi/tgsi_exec.c View 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);

+ 1
- 0
src/gallium/auxiliary/tgsi/tgsi_strings.c View 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] =

+ 1
- 0
src/gallium/auxiliary/tgsi/tgsi_util.c View 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:

+ 2
- 1
src/gallium/include/pipe/p_shader_tokens.h View 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
{

Loading…
Cancel
Save