dzn: Replace C++ references by pointers

Let's keep as much as we can in plain C.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698>
This commit is contained in:
Boris Brezillon 2022-03-31 17:40:55 +02:00 committed by Marge Bot
parent 1401f62069
commit 9f5831bbec
1 changed files with 31 additions and 31 deletions

View File

@ -1528,8 +1528,8 @@ dzn_cmd_buffer_copy_img2buf_region(dzn_cmd_buffer *cmdbuf,
static void static void
dzn_cmd_buffer_copy_img_chunk(dzn_cmd_buffer *cmdbuf, dzn_cmd_buffer_copy_img_chunk(dzn_cmd_buffer *cmdbuf,
const VkCopyImageInfo2 *info, const VkCopyImageInfo2 *info,
D3D12_RESOURCE_DESC &tmp_desc, D3D12_RESOURCE_DESC *tmp_desc,
D3D12_TEXTURE_COPY_LOCATION &tmp_loc, D3D12_TEXTURE_COPY_LOCATION *tmp_loc,
uint32_t r, uint32_t r,
VkImageAspectFlagBits aspect, VkImageAspectFlagBits aspect,
uint32_t l) uint32_t l)
@ -1573,30 +1573,30 @@ dzn_cmd_buffer_copy_img_chunk(dzn_cmd_buffer *cmdbuf,
.back = (UINT)region->srcOffset.z + region->extent.depth, .back = (UINT)region->srcOffset.z + region->extent.depth,
}; };
if (!tmp_loc.pResource) { if (!tmp_loc->pResource) {
cmdlist->CopyTextureRegion(&dst_loc, region->dstOffset.x, cmdlist->CopyTextureRegion(&dst_loc, region->dstOffset.x,
region->dstOffset.y, region->dstOffset.z, region->dstOffset.y, region->dstOffset.z,
&src_loc, &src_box); &src_loc, &src_box);
return; return;
} }
tmp_desc.Format = tmp_desc->Format =
dzn_image_get_placed_footprint_format(src->vk.format, aspect); dzn_image_get_placed_footprint_format(src->vk.format, aspect);
tmp_desc.Width = region->extent.width; tmp_desc->Width = region->extent.width;
tmp_desc.Height = region->extent.height; tmp_desc->Height = region->extent.height;
dev->GetCopyableFootprints(&tmp_desc, dev->GetCopyableFootprints(tmp_desc,
0, 1, 0, 0, 1, 0,
&tmp_loc.PlacedFootprint, &tmp_loc->PlacedFootprint,
NULL, NULL, NULL); NULL, NULL, NULL);
tmp_loc.PlacedFootprint.Footprint.Depth = region->extent.depth; tmp_loc->PlacedFootprint.Footprint.Depth = region->extent.depth;
D3D12_RESOURCE_BARRIER barrier = { D3D12_RESOURCE_BARRIER barrier = {
.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION, .Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION,
.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE, .Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE,
.Transition = { .Transition = {
.pResource = tmp_loc.pResource, .pResource = tmp_loc->pResource,
.Subresource = 0, .Subresource = 0,
.StateBefore = D3D12_RESOURCE_STATE_COPY_SOURCE, .StateBefore = D3D12_RESOURCE_STATE_COPY_SOURCE,
.StateAfter = D3D12_RESOURCE_STATE_COPY_DEST, .StateAfter = D3D12_RESOURCE_STATE_COPY_DEST,
@ -1606,44 +1606,44 @@ dzn_cmd_buffer_copy_img_chunk(dzn_cmd_buffer *cmdbuf,
if (r > 0 || l > 0) if (r > 0 || l > 0)
cmdlist->ResourceBarrier(1, &barrier); cmdlist->ResourceBarrier(1, &barrier);
cmdlist->CopyTextureRegion(&tmp_loc, 0, 0, 0, &src_loc, &src_box); cmdlist->CopyTextureRegion(tmp_loc, 0, 0, 0, &src_loc, &src_box);
DZN_SWAP(barrier.Transition.StateBefore, barrier.Transition.StateAfter); DZN_SWAP(barrier.Transition.StateBefore, barrier.Transition.StateAfter);
cmdlist->ResourceBarrier(1, &barrier); cmdlist->ResourceBarrier(1, &barrier);
tmp_desc.Format = tmp_desc->Format =
dzn_image_get_placed_footprint_format(dst->vk.format, aspect); dzn_image_get_placed_footprint_format(dst->vk.format, aspect);
if (src_blkw != dst_blkw) if (src_blkw != dst_blkw)
tmp_desc.Width = DIV_ROUND_UP(region->extent.width, src_blkw) * dst_blkw; tmp_desc->Width = DIV_ROUND_UP(region->extent.width, src_blkw) * dst_blkw;
if (src_blkh != dst_blkh) if (src_blkh != dst_blkh)
tmp_desc.Height = DIV_ROUND_UP(region->extent.height, src_blkh) * dst_blkh; tmp_desc->Height = DIV_ROUND_UP(region->extent.height, src_blkh) * dst_blkh;
device->dev->GetCopyableFootprints(&tmp_desc, device->dev->GetCopyableFootprints(tmp_desc,
0, 1, 0, 0, 1, 0,
&tmp_loc.PlacedFootprint, &tmp_loc->PlacedFootprint,
NULL, NULL, NULL); NULL, NULL, NULL);
if (src_blkd != dst_blkd) { if (src_blkd != dst_blkd) {
tmp_loc.PlacedFootprint.Footprint.Depth = tmp_loc->PlacedFootprint.Footprint.Depth =
DIV_ROUND_UP(region->extent.depth, src_blkd) * dst_blkd; DIV_ROUND_UP(region->extent.depth, src_blkd) * dst_blkd;
} else { } else {
tmp_loc.PlacedFootprint.Footprint.Depth = region->extent.depth; tmp_loc->PlacedFootprint.Footprint.Depth = region->extent.depth;
} }
D3D12_BOX tmp_box = { D3D12_BOX tmp_box = {
.left = 0, .left = 0,
.top = 0, .top = 0,
.front = 0, .front = 0,
.right = tmp_loc.PlacedFootprint.Footprint.Width, .right = tmp_loc->PlacedFootprint.Footprint.Width,
.bottom = tmp_loc.PlacedFootprint.Footprint.Height, .bottom = tmp_loc->PlacedFootprint.Footprint.Height,
.back = tmp_loc.PlacedFootprint.Footprint.Depth, .back = tmp_loc->PlacedFootprint.Footprint.Depth,
}; };
cmdlist->CopyTextureRegion(&dst_loc, cmdlist->CopyTextureRegion(&dst_loc,
region->dstOffset.x, region->dstOffset.x,
region->dstOffset.y, region->dstOffset.y,
region->dstOffset.z, region->dstOffset.z,
&tmp_loc, &tmp_box); tmp_loc, &tmp_box);
} }
static void static void
@ -3009,21 +3009,21 @@ dzn_CmdCopyImage2(VkCommandBuffer commandBuffer,
aspect = VK_IMAGE_ASPECT_COLOR_BIT; aspect = VK_IMAGE_ASPECT_COLOR_BIT;
for (uint32_t i = 0; i < info->regionCount; i++) { for (uint32_t i = 0; i < info->regionCount; i++) {
const VkImageCopy2 &region = info->pRegions[i]; const VkImageCopy2 *region = &info->pRegions[i];
uint64_t region_size = 0; uint64_t region_size = 0;
tmp_desc.Format = tmp_desc.Format =
dzn_image_get_dxgi_format(src->vk.format, dzn_image_get_dxgi_format(src->vk.format,
VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_TRANSFER_DST_BIT,
aspect); aspect);
tmp_desc.Width = region.extent.width; tmp_desc.Width = region->extent.width;
tmp_desc.Height = region.extent.height; tmp_desc.Height = region->extent.height;
dev->GetCopyableFootprints(&src->desc, dev->GetCopyableFootprints(&src->desc,
0, 1, 0, 0, 1, 0,
NULL, NULL, NULL, NULL, NULL, NULL,
&region_size); &region_size);
max_size = MAX2(max_size, region_size * region.extent.depth); max_size = MAX2(max_size, region_size * region->extent.depth);
} }
@ -3039,11 +3039,11 @@ dzn_CmdCopyImage2(VkCommandBuffer commandBuffer,
} }
for (int i = 0; i < info->regionCount; i++) { for (int i = 0; i < info->regionCount; i++) {
const VkImageCopy2 &region = info->pRegions[i]; const VkImageCopy2 *region = &info->pRegions[i];
dzn_foreach_aspect(aspect, region.srcSubresource.aspectMask) { dzn_foreach_aspect(aspect, region->srcSubresource.aspectMask) {
for (uint32_t l = 0; l < region.srcSubresource.layerCount; l++) for (uint32_t l = 0; l < region->srcSubresource.layerCount; l++)
dzn_cmd_buffer_copy_img_chunk(cmdbuf, info, tmp_desc, tmp_loc, i, aspect, l); dzn_cmd_buffer_copy_img_chunk(cmdbuf, info, &tmp_desc, &tmp_loc, i, aspect, l);
} }
} }
} }