summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_resource_buffer_upload.c
diff options
context:
space:
mode:
authorCharmaine Lee <charmainel@vmware.com>2016-10-26 16:15:23 -0700
committerBrian Paul <brianp@vmware.com>2016-11-03 14:29:23 -0600
commit8a195e2fd59886b4f47c7761bda96478bb0f8f95 (patch)
tree0db28b278146bbd22e54f2ad45e9baa265e3bbda /src/gallium/drivers/svga/svga_resource_buffer_upload.c
parent06bba2452f00d6fa8a4b233567995af0480a3f4d (diff)
svga: invalidate new surface before it is bound to a render target view
Invalidate a "new" surface before it is bound to a render target view or depth stencil view in order to avoid the unnecessary host side copy of the surface data before it is rendered to. Note that, recycled surface is already invalidated before it is reused. Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/gallium/drivers/svga/svga_resource_buffer_upload.c')
-rw-r--r--src/gallium/drivers/svga/svga_resource_buffer_upload.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_resource_buffer_upload.c b/src/gallium/drivers/svga/svga_resource_buffer_upload.c
index ac8cedfd3b7..b327a1679e4 100644
--- a/src/gallium/drivers/svga/svga_resource_buffer_upload.c
+++ b/src/gallium/drivers/svga/svga_resource_buffer_upload.c
@@ -146,6 +146,8 @@ svga_buffer_create_host_surface(struct svga_screen *ss,
assert(!sbuf->user);
if (!sbuf->handle) {
+ boolean validated;
+
sbuf->key.flags = 0;
sbuf->key.format = SVGA3D_BUFFER;
@@ -187,7 +189,8 @@ svga_buffer_create_host_surface(struct svga_screen *ss,
sbuf->b.b.width0);
sbuf->handle = svga_screen_surface_create(ss, sbuf->b.b.bind,
- sbuf->b.b.usage, &sbuf->key);
+ sbuf->b.b.usage,
+ &validated, &sbuf->key);
if (!sbuf->handle)
return PIPE_ERROR_OUT_OF_MEMORY;