diff --git a/src/broadcom/vulkan/v3dv_meta_clear.c b/src/broadcom/vulkan/v3dv_meta_clear.c index 759d4bfa46d..f6d24d519f7 100644 --- a/src/broadcom/vulkan/v3dv_meta_clear.c +++ b/src/broadcom/vulkan/v3dv_meta_clear.c @@ -124,7 +124,7 @@ clear_image_tlb(struct v3dv_cmd_buffer *cmd_buffer, if (!job) return true; - v3dv_job_start_frame(job, width, height, max_layer, true, + v3dv_job_start_frame(job, width, height, max_layer, false, 1, internal_bpp, image->samples > VK_SAMPLE_COUNT_1_BIT); diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c index 39b92af8991..a2dfbb18ff3 100644 --- a/src/broadcom/vulkan/v3dv_meta_copy.c +++ b/src/broadcom/vulkan/v3dv_meta_copy.c @@ -408,7 +408,7 @@ copy_image_to_buffer_tlb(struct v3dv_cmd_buffer *cmd_buffer, const uint32_t width = DIV_ROUND_UP(region->imageExtent.width, block_w); const uint32_t height = DIV_ROUND_UP(region->imageExtent.height, block_h); - v3dv_job_start_frame(job, width, height, num_layers, true, + v3dv_job_start_frame(job, width, height, num_layers, false, 1, internal_bpp, false); struct v3dv_meta_framebuffer framebuffer; @@ -916,7 +916,7 @@ copy_image_tlb(struct v3dv_cmd_buffer *cmd_buffer, const uint32_t width = DIV_ROUND_UP(region->extent.width, block_w); const uint32_t height = DIV_ROUND_UP(region->extent.height, block_h); - v3dv_job_start_frame(job, width, height, num_layers, true, 1, internal_bpp, + v3dv_job_start_frame(job, width, height, num_layers, false, 1, internal_bpp, src->samples > VK_SAMPLE_COUNT_1_BIT); struct v3dv_meta_framebuffer framebuffer; @@ -1420,7 +1420,8 @@ copy_buffer_to_image_tlb(struct v3dv_cmd_buffer *cmd_buffer, const uint32_t width = DIV_ROUND_UP(region->imageExtent.width, block_w); const uint32_t height = DIV_ROUND_UP(region->imageExtent.height, block_h); - v3dv_job_start_frame(job, width, height, num_layers, true, 1, internal_bpp, false); + v3dv_job_start_frame(job, width, height, num_layers, false, + 1, internal_bpp, false); struct v3dv_meta_framebuffer framebuffer; v3dv_X(job->device, meta_framebuffer_init)(&framebuffer, fb_format, @@ -4251,14 +4252,16 @@ resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer, (fb_format, region->srcSubresource.aspectMask, &internal_type, &internal_bpp); - v3dv_job_start_frame(job, width, height, num_layers, true, 1, internal_bpp, true); + v3dv_job_start_frame(job, width, height, num_layers, false, + 1, internal_bpp, true); struct v3dv_meta_framebuffer framebuffer; v3dv_X(job->device, meta_framebuffer_init)(&framebuffer, fb_format, internal_type, &job->frame_tiling); v3dv_X(job->device, job_emit_binning_flush)(job); - v3dv_X(job->device, meta_emit_resolve_image_rcl)(job, dst, src, &framebuffer, region); + v3dv_X(job->device, meta_emit_resolve_image_rcl)(job, dst, src, + &framebuffer, region); v3dv_cmd_buffer_finish_job(cmd_buffer); return true; diff --git a/src/broadcom/vulkan/v3dvx_meta_common.c b/src/broadcom/vulkan/v3dvx_meta_common.c index c652377e10b..c115f9efa78 100644 --- a/src/broadcom/vulkan/v3dvx_meta_common.c +++ b/src/broadcom/vulkan/v3dvx_meta_common.c @@ -545,7 +545,6 @@ emit_copy_layer_to_buffer(struct v3dv_job *job, uint32_t layer, const VkBufferImageCopy2KHR *region) { - emit_frame_setup(job, layer, NULL); emit_copy_layer_to_buffer_per_tile_list(job, framebuffer, buffer, image, layer, region); emit_supertile_coordinates(job, framebuffer); @@ -561,6 +560,7 @@ v3dX(meta_emit_copy_image_to_buffer_rcl)(struct v3dv_job *job, struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL); v3dv_return_if_oom(NULL, job); + emit_frame_setup(job, 0, NULL); for (int layer = 0; layer < job->frame_tiling.layers; layer++) emit_copy_layer_to_buffer(job, buffer, image, framebuffer, layer, region); cl_emit(rcl, END_OF_RENDERING, end); @@ -632,7 +632,6 @@ emit_resolve_image_layer(struct v3dv_job *job, uint32_t layer, const VkImageResolve2KHR *region) { - emit_frame_setup(job, layer, NULL); emit_resolve_image_layer_per_tile_list(job, framebuffer, dst, src, layer, region); emit_supertile_coordinates(job, framebuffer); @@ -648,6 +647,7 @@ v3dX(meta_emit_resolve_image_rcl)(struct v3dv_job *job, struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL); v3dv_return_if_oom(NULL, job); + emit_frame_setup(job, 0, NULL); for (int layer = 0; layer < job->frame_tiling.layers; layer++) emit_resolve_image_layer(job, dst, src, framebuffer, layer, region); cl_emit(rcl, END_OF_RENDERING, end); @@ -793,7 +793,6 @@ emit_copy_image_layer(struct v3dv_job *job, uint32_t layer, const VkImageCopy2KHR *region) { - emit_frame_setup(job, layer, NULL); emit_copy_image_layer_per_tile_list(job, framebuffer, dst, src, layer, region); emit_supertile_coordinates(job, framebuffer); } @@ -808,6 +807,7 @@ v3dX(meta_emit_copy_image_rcl)(struct v3dv_job *job, struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL); v3dv_return_if_oom(NULL, job); + emit_frame_setup(job, 0, NULL); for (int layer = 0; layer < job->frame_tiling.layers; layer++) emit_copy_image_layer(job, dst, src, framebuffer, layer, region); cl_emit(rcl, END_OF_RENDERING, end); @@ -961,7 +961,7 @@ v3dX(meta_emit_clear_image_rcl)(struct v3dv_job *job, struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, &clear_info); v3dv_return_if_oom(NULL, job); - emit_frame_setup(job, min_layer, clear_value); + emit_frame_setup(job, 0, clear_value); emit_clear_image_layers(job, image, framebuffer, aspects, min_layer, max_layer, level); cl_emit(rcl, END_OF_RENDERING, end); @@ -1153,7 +1153,6 @@ emit_copy_buffer_to_layer(struct v3dv_job *job, uint32_t layer, const VkBufferImageCopy2KHR *region) { - emit_frame_setup(job, layer, NULL); emit_copy_buffer_to_layer_per_tile_list(job, framebuffer, image, buffer, layer, region); emit_supertile_coordinates(job, framebuffer); @@ -1169,6 +1168,7 @@ v3dX(meta_emit_copy_buffer_to_image_rcl)(struct v3dv_job *job, struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL); v3dv_return_if_oom(NULL, job); + emit_frame_setup(job, 0, NULL); for (int layer = 0; layer < job->frame_tiling.layers; layer++) emit_copy_buffer_to_layer(job, image, buffer, framebuffer, layer, region); cl_emit(rcl, END_OF_RENDERING, end);