}
-/**
- * svga_reemit_gs_bindings - Reemit the geometry shader bindings
- */
-enum pipe_error
-svga_reemit_gs_bindings(struct svga_context *svga)
-{
- enum pipe_error ret;
- struct svga_winsys_gb_shader *gbshader = NULL;
- SVGA3dShaderId shaderId = SVGA3D_INVALID_ID;
-
- assert(svga->rebind.flags.gs);
- assert(svga_have_gb_objects(svga));
-
- /* Geometry Shader is only supported in vgpu10 */
- assert(svga_have_vgpu10(svga));
-
- if (svga->state.hw_draw.gs) {
- gbshader = svga->state.hw_draw.gs->gb_shader;
- shaderId = svga->state.hw_draw.gs->id;
- }
-
- if (!svga_need_to_rebind_resources(svga)) {
- ret = svga->swc->resource_rebind(svga->swc, NULL, gbshader,
- SVGA_RELOC_READ);
- }
- else {
- ret = SVGA3D_vgpu10_SetShader(svga->swc, SVGA3D_SHADERTYPE_GS,
- gbshader, shaderId);
- }
-
- if (ret != PIPE_OK)
- return ret;
-
- svga->rebind.flags.gs = FALSE;
- return PIPE_OK;
-}
-
static enum pipe_error
emit_hw_gs(struct svga_context *svga, unsigned dirty)
{