summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i965/brw_wm_pass1.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-10-29 20:18:01 +0000
committerKeith Whitwell <keithw@vmware.com>2009-10-29 20:18:01 +0000
commit99cc0fd67597cbcd6106afcf437a0d5e2431c9df (patch)
treeb01d1ce2a717dd366c04e40db3481614c4ba7457 /src/gallium/drivers/i965/brw_wm_pass1.c
parent81b8589f064204d9ddcd7d1f9d43d2dcf5676235 (diff)
i965g: work in progress on fragment shaders
Diffstat (limited to 'src/gallium/drivers/i965/brw_wm_pass1.c')
-rw-r--r--src/gallium/drivers/i965/brw_wm_pass1.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/gallium/drivers/i965/brw_wm_pass1.c b/src/gallium/drivers/i965/brw_wm_pass1.c
index 85a3a55ca4..b0356b1bd5 100644
--- a/src/gallium/drivers/i965/brw_wm_pass1.c
+++ b/src/gallium/drivers/i965/brw_wm_pass1.c
@@ -90,17 +90,24 @@ static void track_arg(struct brw_wm_compile *c,
static GLuint get_texcoord_mask( GLuint tex_idx )
{
switch (tex_idx) {
- case TEXTURE_1D_INDEX:
+ case TGSI_TEXTURE_1D:
return BRW_WRITEMASK_X;
- case TEXTURE_2D_INDEX:
+ case TGSI_TEXTURE_2D:
+ case TGSI_TEXTURE_RECT:
return BRW_WRITEMASK_XY;
- case TEXTURE_3D_INDEX:
+ case TGSI_TEXTURE_3D:
return BRW_WRITEMASK_XYZ;
- case TEXTURE_CUBE_INDEX:
+ case TGSI_TEXTURE_CUBE:
return BRW_WRITEMASK_XYZ;
- case TEXTURE_RECT_INDEX:
- return BRW_WRITEMASK_XY;
- default: return 0;
+
+ case TGSI_TEXTURE_SHADOW1D:
+ return BRW_WRITEMASK_XZ;
+ case TGSI_TEXTURE_SHADOW2D:
+ case TGSI_TEXTURE_SHADOWRECT:
+ return BRW_WRITEMASK_XYZ;
+ default:
+ assert(0);
+ return 0;
}
}
@@ -217,14 +224,9 @@ void brw_wm_pass1( struct brw_wm_compile *c )
case TGSI_OPCODE_TEX:
case TGSI_OPCODE_TXP:
read0 = get_texcoord_mask(inst->tex_idx);
-
- if (inst->tex_shadow)
- read0 |= BRW_WRITEMASK_Z;
break;
case TGSI_OPCODE_TXB:
- /* Shadow ignored for txb.
- */
read0 = get_texcoord_mask(inst->tex_idx) | BRW_WRITEMASK_W;
break;