diff options
author | Jason Ekstrand <[email protected]> | 2016-09-26 12:10:11 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-11-16 10:11:07 -0800 |
commit | 3d9747780bc2508f4474230a0998d9dba7b02d1e (patch) | |
tree | 4733d8eca2c91f73151b62067b1a2c6e09b1ef12 /src/intel/vulkan/anv_genX.h | |
parent | 184bbfd69bf74cc5b4c27cd80d4d8d0b16b24a17 (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.h | 5 |
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); |