summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZou Nan hai <nanhai.zou@intel.com>2007-09-30 13:47:05 +0800
committerZou Nan hai <nanhai.zou@intel.com>2007-09-30 13:47:05 +0800
commit3d6c4109902b555a3f8076170d572c7caeb6cbfe (patch)
tree38270fb9071b61d94ff89988feba25d247796945
parentb0b48798c7e854d2e36e0317bf94b7385e815242 (diff)
fragment shader function call fix, gl_FragCoord fix
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu.h5
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_glsl.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h
index d44217d02f..5c98767c3e 100644
--- a/src/mesa/drivers/dri/i965/brw_eu.h
+++ b/src/mesa/drivers/dri/i965/brw_eu.h
@@ -648,6 +648,11 @@ static __inline struct brw_reg deref_1uw(struct brw_indirect ptr, GLint offset)
return retype(deref_1f(ptr, offset), BRW_REGISTER_TYPE_UW);
}
+static __inline struct brw_reg deref_1ud(struct brw_indirect ptr, GLint offset)
+{
+ return retype(deref_1f(ptr, offset), BRW_REGISTER_TYPE_UD);
+}
+
static __inline struct brw_reg get_addr_reg(struct brw_indirect ptr)
{
return brw_address_reg(ptr.addr_subnr);
diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
index 1f1e32ee47..58cdf72e37 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
@@ -966,7 +966,7 @@ static void emit_wpos_xy(struct brw_wm_compile *c,
/* TODO -- window_height - Y */
brw_MOV(p,
dst[1],
- negate(retype(src0[1], BRW_REGISTER_TYPE_UW)));
+ retype(src0[1], BRW_REGISTER_TYPE_UW));
}
}
@@ -1272,7 +1272,7 @@ static void brw_wm_emit_glsl(struct brw_wm_compile *c)
brw_push_insn_state(p);
brw_set_mask_control(p, BRW_MASK_DISABLE);
brw_set_access_mode(p, BRW_ALIGN_1);
- brw_ADD(p, deref_1uw(stack_index, 0), brw_ip_reg(), brw_imm_d(3*16));
+ brw_ADD(p, deref_1ud(stack_index, 0), brw_ip_reg(), brw_imm_d(3*16));
brw_set_access_mode(p, BRW_ALIGN_16);
brw_ADD(p, get_addr_reg(stack_index),
get_addr_reg(stack_index), brw_imm_d(4));
@@ -1288,7 +1288,7 @@ static void brw_wm_emit_glsl(struct brw_wm_compile *c)
brw_ADD(p, get_addr_reg(stack_index),
get_addr_reg(stack_index), brw_imm_d(-4));
brw_set_access_mode(p, BRW_ALIGN_1);
- brw_MOV(p, brw_ip_reg(), deref_1uw(stack_index, 0));
+ brw_MOV(p, brw_ip_reg(), deref_1ud(stack_index, 0));
brw_set_access_mode(p, BRW_ALIGN_16);
brw_pop_insn_state(p);