summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvc0
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2011-02-23 15:00:26 +0100
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2011-02-24 17:35:36 +0100
commitb0bf4ee85f01e9cbe240e49e67a947d052daa3f3 (patch)
treeba4c3e3103a84da56cb69a3ec960fb8ea198b9eb /src/gallium/drivers/nvc0
parent9dd7d0803e5a881510d05a61908d6a7ffc04d16b (diff)
nvc0: sprite coord enable is per GENERIC, not overall index
Diffstat (limited to 'src/gallium/drivers/nvc0')
-rw-r--r--src/gallium/drivers/nvc0/nvc0_state_validate.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nvc0/nvc0_state_validate.c
index 0cc0a0c623..70c418fad9 100644
--- a/src/gallium/drivers/nvc0/nvc0_state_validate.c
+++ b/src/gallium/drivers/nvc0/nvc0_state_validate.c
@@ -302,14 +302,12 @@ nvc0_validate_sprite_coords(struct nvc0_context *nvc0)
if (nvc0->rast->pipe.point_quad_rasterization) {
uint32_t en = nvc0->rast->pipe.sprite_coord_enable;
- int i;
- struct nvc0_program *prog = nvc0->fragprog;
while (en) {
- i = ffs(en) - 1;
+ int i = ffs(en) - 1;
en &= ~(1 << i);
- if (prog->fp.in_pos[i] >= 0xc0 && prog->fp.in_pos[i] < 0xe0)
- reg |= 8 << ((prog->fp.in_pos[i] - 0xc0) / 4);
+ if (i >= 0 && i < 8)
+ reg |= 8 << i;
}
}