summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/svga/svga_context.c')
-rw-r--r--src/gallium/drivers/svga/svga_context.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/svga/svga_context.c b/src/gallium/drivers/svga/svga_context.c
index 9f4f8a47def..cbeb424fff5 100644
--- a/src/gallium/drivers/svga/svga_context.c
+++ b/src/gallium/drivers/svga/svga_context.c
@@ -259,6 +259,20 @@ void svga_hwtnl_flush_retry( struct svga_context *svga )
}
+/**
+ * Flush the primitive queue if this buffer is referred.
+ *
+ * Otherwise DMA commands on the referred buffer will be emitted too late.
+ */
+void svga_hwtnl_flush_buffer( struct svga_context *svga,
+ struct pipe_resource *buffer )
+{
+ if (svga_hwtnl_is_buffer_referred(svga->hwtnl, buffer)) {
+ svga_hwtnl_flush_retry(svga);
+ }
+}
+
+
/* Emit all operations pending on host surfaces.
*/
void svga_surfaces_flush(struct svga_context *svga)