diff options
author | Thomas Hellstrom <[email protected]> | 2014-06-13 09:46:54 +0200 |
---|---|---|
committer | Thomas Hellstrom <[email protected]> | 2014-07-03 22:26:00 +0200 |
commit | 556a415033223108eb5706364604b3400f497c58 (patch) | |
tree | 10e17010700d7a538dd1989f5dad465c8e973e65 /src/gallium/drivers/svga/svga_state_vs.c | |
parent | 824197efd526dec5623b37f2c6078c212c81eb2b (diff) |
svga: Don't unnecessarily reemit BindGBShader commands v2
The Linux winsys can no longer relocate shader code, so avoid
reemitting BindGBShader commands. They are costly.
v2: Correctly handle errors from SVGA3D_BindGBShader()
Reported-by: Michael Banack <[email protected]>
Signed-off-by: Thomas Hellstrom <[email protected]>
Tested-by: Brian Paul <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Jakob Bornecrantz <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_vs.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_state_vs.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/src/gallium/drivers/svga/svga_state_vs.c b/src/gallium/drivers/svga/svga_state_vs.c index 125903b386a..545c9d7420f 100644 --- a/src/gallium/drivers/svga/svga_state_vs.c +++ b/src/gallium/drivers/svga/svga_state_vs.c @@ -243,17 +243,6 @@ emit_hw_vs(struct svga_context *svga, unsigned dirty) if (svga_have_gb_objects(svga)) { struct svga_winsys_gb_shader *gbshader = variant ? variant->gb_shader : NULL; - - /* - * Bind is necessary here only because pipebuffer_fenced may move - * the shader contents around.... - */ - if (gbshader) { - ret = SVGA3D_BindGBShader(svga->swc, gbshader); - if (ret != PIPE_OK) - return ret; - } - ret = SVGA3D_SetGBShader(svga->swc, SVGA3D_SHADERTYPE_VS, gbshader); if (ret != PIPE_OK) return ret; |