diff options
Diffstat (limited to 'src/gallium/drivers/svga/svga_surface.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_surface.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c index 04173266ff0..29d91fd3221 100644 --- a/src/gallium/drivers/svga/svga_surface.c +++ b/src/gallium/drivers/svga/svga_surface.c @@ -531,7 +531,11 @@ svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s) * need to update the host-side copy with the invalid * content when the associated mob is first bound to the surface. */ - svga->swc->surface_invalidate(svga->swc, stex->handle); + if (svga->swc->surface_invalidate(svga->swc, stex->handle) != PIPE_OK) { + svga_context_flush(svga, NULL); + ret = svga->swc->surface_invalidate(svga->swc, stex->handle); + assert(ret == PIPE_OK); + } stex->validated = TRUE; } |