diff options
author | Christoph Bumiller <[email protected]> | 2011-02-23 15:00:26 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2011-02-24 17:35:36 +0100 |
commit | b0bf4ee85f01e9cbe240e49e67a947d052daa3f3 (patch) | |
tree | ba4c3e3103a84da56cb69a3ec960fb8ea198b9eb /src/gallium | |
parent | 9dd7d0803e5a881510d05a61908d6a7ffc04d16b (diff) |
nvc0: sprite coord enable is per GENERIC, not overall index
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_state_validate.c | 8 |
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 0cc0a0c6236..70c418fad9b 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; } } |