diff options
author | Corbin Simpson <[email protected]> | 2009-05-18 09:40:13 -0700 |
---|---|---|
committer | Corbin Simpson <[email protected]> | 2009-05-18 09:51:09 -0700 |
commit | 301d238c1adf3d451b412333a77c81af14feed6f (patch) | |
tree | 831e17d02990e90f46b4be3233a661b1b11be44c /src/gallium/drivers/r300/r300_state.c | |
parent | edfbf7dccb1d90ebedfa08fe06e1db7fff9f94d4 (diff) |
r300-gallium: Always do VTE, never software viewport.
This makes glxgears draw properly with SW TCL.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_state.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index e818a776994..d7825e0e5f5 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -343,6 +343,8 @@ static void* r300_create_rs_state(struct pipe_context* pipe, /* Copy rasterizer state for Draw. */ rs->rs = *state; + rs->enable_vte = !state->bypass_vs_clip_and_viewport; + /* If bypassing TCL, or if no TCL engine is present, turn off the HW TCL. * Else, enable HW TCL and force Draw's TCL off. */ if (state->bypass_vs_clip_and_viewport || @@ -557,11 +559,11 @@ static void r300_set_viewport_state(struct pipe_context* pipe, { struct r300_context* r300 = r300_context(pipe); - draw_flush(r300->draw); + //draw_flush(r300->draw); - if (r300_screen(r300->context.screen)->caps->has_tcl) { + if (TRUE || r300_screen(r300->context.screen)->caps->has_tcl) { /* Do the transform in HW. */ - r300->viewport_state->vte_control = R300_VTX_XY_FMT | R300_VTX_Z_FMT; + r300->viewport_state->vte_control = R300_VTX_W0_FMT; if (state->scale[0] != 1.0f) { assert(state->scale[0] != 0.0f); |