diff options
author | Marek Olšák <maraeo@gmail.com> | 2009-12-24 03:10:33 +0100 |
---|---|---|
committer | Corbin Simpson <MostAwesomeDude@gmail.com> | 2010-01-06 12:49:15 -0800 |
commit | bf60eb3fec844a7c3793aba0c70da56b74a17344 (patch) | |
tree | 3fd46844a6fb0ee0d1b7a9bf60e54512929a0382 /src/gallium/drivers/r300/r300_emit.c | |
parent | dc7f309f9c4562e367bb18a2eb3d1dcf67003cad (diff) |
r300g: add WPOS
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_emit.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 596ec21bc0..30a1000c29 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -165,6 +165,28 @@ static const float * get_shader_constant( vec[3] = 0; break; + case RC_STATE_R300_VIEWPORT_SCALE: + if (r300->rs_state->enable_vte) { + vec[0] = r300->viewport_state->xscale; + vec[1] = r300->viewport_state->yscale; + vec[2] = r300->viewport_state->zscale; + } else { + vec[0] = 1; + vec[1] = 1; + vec[2] = 1; + } + break; + + case RC_STATE_R300_VIEWPORT_OFFSET: + if (r300->rs_state->enable_vte) { + vec[0] = r300->viewport_state->xoffset; + vec[1] = r300->viewport_state->yoffset; + vec[2] = r300->viewport_state->zoffset; + } else { + /* Zeros. */ + } + break; + default: debug_printf("r300: Implementation error: " "Unknown RC_CONSTANT type %d\n", constant->u.State[0]); |