summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_genX.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-09-26 12:10:11 -0700
committerJason Ekstrand <[email protected]>2016-11-16 10:11:07 -0800
commit3d9747780bc2508f4474230a0998d9dba7b02d1e (patch)
tree4733d8eca2c91f73151b62067b1a2c6e09b1ef12 /src/intel/vulkan/anv_genX.h
parent184bbfd69bf74cc5b4c27cd80d4d8d0b16b24a17 (diff)
anv: Add a helper for doing buffer copies with nothing but VF and SOL.
This method of doing copies has the advantage of touching very little of the GPU state. While it does disable all the shader stages, it doesn't have to blow away binding tables, viewports, scissors, or any other bits of dynamic state other than VBO 32 which is already reserved. All of the state that it does touch is contained within a pipeline anyway so that's the only thing that has to be dirtied. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_genX.h')
-rw-r--r--src/intel/vulkan/anv_genX.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_genX.h b/src/intel/vulkan/anv_genX.h
index 5bb2a613b77..793717012b6 100644
--- a/src/intel/vulkan/anv_genX.h
+++ b/src/intel/vulkan/anv_genX.h
@@ -62,5 +62,10 @@ genX(emit_urb_setup)(struct anv_device *device, struct anv_batch *batch,
void genX(cmd_buffer_emit_hz_op)(struct anv_cmd_buffer *cmd_buffer,
enum blorp_hiz_op op);
+void genX(cmd_buffer_gpu_memcpy)(struct anv_cmd_buffer *cmd_buffer,
+ struct anv_bo *dst, uint32_t dst_offset,
+ struct anv_bo *src, uint32_t src_offset,
+ uint32_t size);
+
void genX(blorp_exec)(struct blorp_batch *batch,
const struct blorp_params *params);