summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_state_vs.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-01-05 17:32:19 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-01-05 17:32:53 +0000
commit8ebef37c7ba67c4449367b95821293176a0a370b (patch)
treed803c5c435c45c32912ca00c56cf28f96e9b6cbe /src/gallium/drivers/svga/svga_state_vs.c
parentef1b9426918a29b7ddd28601b0e53ed683abb89a (diff)
svga: Rebind shaders when tokens change.
Even shader ID doesn't change. Otherwise the token change is not effective. This reverts regression from commit cdb445f3a9285e2d8f042a07021ade78b94e0156. Regression could be seen in Quake3's loading screen -- the upper right corner of the screen would be black.
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_vs.c')
-rw-r--r--src/gallium/drivers/svga/svga_state_vs.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/gallium/drivers/svga/svga_state_vs.c b/src/gallium/drivers/svga/svga_state_vs.c
index 6cf51434d7..db30f2735f 100644
--- a/src/gallium/drivers/svga/svga_state_vs.c
+++ b/src/gallium/drivers/svga/svga_state_vs.c
@@ -149,16 +149,13 @@ static int emit_hw_vs( struct svga_context *svga,
}
if (result != svga->state.hw_draw.vs) {
- if (id != svga->state.hw_draw.shader_id[PIPE_SHADER_VERTEX]) {
- ret = SVGA3D_SetShader(svga->swc,
- SVGA3D_SHADERTYPE_VS,
- id );
- if (ret)
- return ret;
- }
+ ret = SVGA3D_SetShader(svga->swc,
+ SVGA3D_SHADERTYPE_VS,
+ id );
+ if (ret)
+ return ret;
svga->dirty |= SVGA_NEW_VS_RESULT;
- svga->state.hw_draw.shader_id[PIPE_SHADER_VERTEX] = id;
svga->state.hw_draw.vs = result;
}