summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_genX.h
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-05-20 11:49:12 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-05-27 15:18:09 -0700
commit3a83c176eab8c513eb723554a240af1a7308d701 (patch)
treec24fac04d0ddcc91436f38423c2509401c54804a /src/intel/vulkan/anv_genX.h
parent7120c75ec3046b48610f7423dff2b67e60f34be5 (diff)
downloadexternal_mesa3d-3a83c176eab8c513eb723554a240af1a7308d701.zip
external_mesa3d-3a83c176eab8c513eb723554a240af1a7308d701.tar.gz
external_mesa3d-3a83c176eab8c513eb723554a240af1a7308d701.tar.bz2
anv/cmd_buffer: Only emit PIPE_CONTROL on-demand
This is in contrast to emitting it directly in vkCmdPipelineBarrier. This has a couple of advantages. First, it means that no matter how many vkCmdPipelineBarrier calls the application strings together it gets one or two PIPE_CONTROLs. Second, it allow us to better track when we need to do stalls because we can flag when a flush has happened and we need a stall. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/intel/vulkan/anv_genX.h')
-rw-r--r--src/intel/vulkan/anv_genX.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_genX.h b/src/intel/vulkan/anv_genX.h
index a5ec27d..cf5a232 100644
--- a/src/intel/vulkan/anv_genX.h
+++ b/src/intel/vulkan/anv_genX.h
@@ -39,6 +39,8 @@ genX(cmd_buffer_alloc_null_surface_state)(struct anv_cmd_buffer *cmd_buffer,
void genX(cmd_buffer_set_subpass)(struct anv_cmd_buffer *cmd_buffer,
struct anv_subpass *subpass);
+void genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer);
+
void genX(flush_pipeline_select_3d)(struct anv_cmd_buffer *cmd_buffer);
void genX(flush_pipeline_select_gpgpu)(struct anv_cmd_buffer *cmd_buffer);