From 5430d10d0617721468a58048638c6e3ea3f4185f Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Mon, 13 Mar 2023 14:13:47 +0100 Subject: [PATCH] tu: C++-proofing: fix struct initializers Signed-off-by: Danylo Piliaiev Part-of: --- src/freedreno/vulkan/tu_clear_blit.c | 55 +++++++++++++++++++++++------------- src/freedreno/vulkan/tu_cmd_buffer.c | 8 +++--- 2 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/freedreno/vulkan/tu_clear_blit.c b/src/freedreno/vulkan/tu_clear_blit.c index 7586333..d7e2123 100644 --- a/src/freedreno/vulkan/tu_clear_blit.c +++ b/src/freedreno/vulkan/tu_clear_blit.c @@ -919,12 +919,18 @@ r3d_coords(struct tu_cs *cs, { int32_t src_x1 = src ? src->x : 0; int32_t src_y1 = src ? src->y : 0; - r3d_coords_raw(cs, (float[]) { - dst->x, dst->y, - src_x1, src_y1, - dst->x + extent->width, dst->y + extent->height, - src_x1 + extent->width, src_y1 + extent->height, - }); + + const float coords[] = { + dst->x, + dst->y, + src_x1, + src_y1, + dst->x + extent->width, + dst->y + extent->height, + src_x1 + extent->width, + src_y1 + extent->height, + }; + r3d_coords_raw(cs, coords); } static void @@ -1509,7 +1515,8 @@ tu6_dirty_lrz_fc(struct tu_cmd_buffer *cmd, struct tu_image *image) { const struct blit_ops *ops = &r2d_ops; - VkClearValue clear = { .color = { .uint32[0] = 0xffffffff } }; + VkClearValue clear = {}; + clear.color.uint32[0] = 0xffffffff; /* LRZ fast-clear buffer is always allocated with 512 bytes size. */ ops->setup(cmd, cs, PIPE_FORMAT_R32_UINT, PIPE_FORMAT_R32_UINT, @@ -1662,12 +1669,11 @@ tu6_blit_image(struct tu_cmd_buffer *cmd, dst_image->layout[0].nr_samples); if (ops == &r3d_ops) { - r3d_coords_raw(cs, (float[]) { - info->dstOffsets[0].x, info->dstOffsets[0].y, - info->srcOffsets[0].x, info->srcOffsets[0].y, - info->dstOffsets[1].x, info->dstOffsets[1].y, - info->srcOffsets[1].x, info->srcOffsets[1].y - }); + const float coords[] = { info->dstOffsets[0].x, info->dstOffsets[0].y, + info->srcOffsets[0].x, info->srcOffsets[0].y, + info->dstOffsets[1].x, info->dstOffsets[1].y, + info->srcOffsets[1].x, info->srcOffsets[1].y }; + r3d_coords_raw(cs, coords); } else { tu_cs_emit_regs(cs, A6XX_GRAS_2D_DST_TL(.x = MIN2(info->dstOffsets[0].x, info->dstOffsets[1].x), @@ -2256,7 +2262,10 @@ tu_CmdFillBuffer(VkCommandBuffer commandBuffer, ops->setup(cmd, cs, PIPE_FORMAT_R32_UINT, PIPE_FORMAT_R32_UINT, VK_IMAGE_ASPECT_COLOR_BIT, 0, true, false, VK_SAMPLE_COUNT_1_BIT); - ops->clear_value(cs, PIPE_FORMAT_R32_UINT, &(VkClearValue){.color = {.uint32[0] = data}}); + + VkClearValue clear_val = {}; + clear_val.color.uint32[0] = data; + ops->clear_value(cs, PIPE_FORMAT_R32_UINT, &clear_val); while (blocks) { uint32_t dst_x = (dst_va & 63) / 4; @@ -2653,14 +2662,20 @@ tu_clear_sysmem_attachments(struct tu_cmd_buffer *cmd, * a const. Just use the layered path instead, since it shouldn't be * much worse. */ - for_each_layer(layer, subpass->multiview_mask, rects[i].layerCount) { - r3d_coords_raw(cs, (float[]) { - rects[i].rect.offset.x, rects[i].rect.offset.y, - z_clear_val, uif(rects[i].baseArrayLayer + layer), + for_each_layer(layer, subpass->multiview_mask, rects[i].layerCount) + { + const float coords[] = { + rects[i].rect.offset.x, + rects[i].rect.offset.y, + z_clear_val, + uif(rects[i].baseArrayLayer + layer), rects[i].rect.offset.x + rects[i].rect.extent.width, rects[i].rect.offset.y + rects[i].rect.extent.height, - z_clear_val, 1.0f, - }); + z_clear_val, + 1.0f, + }; + + r3d_coords_raw(cs, coords); r3d_run_vis(cmd, cs); } } diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index 7ef4e8b..10fb042 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -2411,9 +2411,9 @@ tu_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, memcpy(set_mem.map, set->mapped_ptr, layout->size); set->va = set_mem.iova; + const VkDescriptorSet desc_set[] = { tu_descriptor_set_to_handle(set) }; tu_CmdBindDescriptorSets(commandBuffer, pipelineBindPoint, _layout, _set, - 1, (VkDescriptorSet[]) { tu_descriptor_set_to_handle(set) }, - 0, NULL); + 1, desc_set, 0, NULL); } VKAPI_ATTR void VKAPI_CALL @@ -2450,9 +2450,9 @@ tu_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, memcpy(set_mem.map, set->mapped_ptr, layout->size); set->va = set_mem.iova; + const VkDescriptorSet desc_set[] = { tu_descriptor_set_to_handle(set) }; tu_CmdBindDescriptorSets(commandBuffer, templ->bind_point, _layout, _set, - 1, (VkDescriptorSet[]) { tu_descriptor_set_to_handle(set) }, - 0, NULL); + 1, desc_set, 0, NULL); } VKAPI_ATTR void VKAPI_CALL -- 2.7.4