Mesa (main): v3dv: implement vkCmdCopyBuffer2KHR
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jun 21 06:14:51 UTC 2021
Module: Mesa
Branch: main
Commit: 47390d6669ae57ad0594f028d8275029c3361c8e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=47390d6669ae57ad0594f028d8275029c3361c8e
Author: Iago Toral Quiroga <itoral at igalia.com>
Date: Thu Jun 17 09:46:37 2021 +0200
v3dv: implement vkCmdCopyBuffer2KHR
The common Vulkan code will call this to implement vkCmdCopyBuffer.
Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11443>
---
src/broadcom/vulkan/v3dv_meta_copy.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c
index 5391e4da2d8..c2802138ecb 100644
--- a/src/broadcom/vulkan/v3dv_meta_copy.c
+++ b/src/broadcom/vulkan/v3dv_meta_copy.c
@@ -2312,7 +2312,7 @@ copy_buffer(struct v3dv_cmd_buffer *cmd_buffer,
uint32_t dst_offset,
struct v3dv_bo *src,
uint32_t src_offset,
- const VkBufferCopy *region)
+ const VkBufferCopy2KHR *region)
{
const uint32_t internal_bpp = V3D_INTERNAL_BPP_32;
const uint32_t internal_type = V3D_INTERNAL_TYPE_8UI;
@@ -2385,21 +2385,18 @@ copy_buffer(struct v3dv_cmd_buffer *cmd_buffer,
}
VKAPI_ATTR void VKAPI_CALL
-v3dv_CmdCopyBuffer(VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferCopy *pRegions)
+v3dv_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,
+ const VkCopyBufferInfo2KHR *pCopyBufferInfo)
{
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
- V3DV_FROM_HANDLE(v3dv_buffer, src_buffer, srcBuffer);
- V3DV_FROM_HANDLE(v3dv_buffer, dst_buffer, dstBuffer);
+ V3DV_FROM_HANDLE(v3dv_buffer, src_buffer, pCopyBufferInfo->srcBuffer);
+ V3DV_FROM_HANDLE(v3dv_buffer, dst_buffer, pCopyBufferInfo->dstBuffer);
- for (uint32_t i = 0; i < regionCount; i++) {
+ for (uint32_t i = 0; i < pCopyBufferInfo->regionCount; i++) {
copy_buffer(cmd_buffer,
dst_buffer->mem->bo, dst_buffer->mem_offset,
src_buffer->mem->bo, src_buffer->mem_offset,
- &pRegions[i]);
+ &pCopyBufferInfo->pRegions[i]);
}
}
@@ -2440,7 +2437,8 @@ v3dv_CmdUpdateBuffer(VkCommandBuffer commandBuffer,
v3dv_bo_unmap(cmd_buffer->device, src_bo);
- VkBufferCopy region = {
+ VkBufferCopy2KHR region = {
+ .sType = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
.srcOffset = 0,
.dstOffset = dstOffset,
.size = dataSize,
More information about the mesa-commit
mailing list