r-b
On Mon, Jun 10, 2019 at 5:42 PM Samuel Pitoiset <[email protected]> wrote: > > When decompressing resolve source images, we should rely on the > framebuffer layer count instead of resolving all images layers. > > Signed-off-by: Samuel Pitoiset <[email protected]> > --- > src/amd/vulkan/radv_meta_resolve.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/src/amd/vulkan/radv_meta_resolve.c > b/src/amd/vulkan/radv_meta_resolve.c > index 0a7affb2f11..f1fa05cf8b3 100644 > --- a/src/amd/vulkan/radv_meta_resolve.c > +++ b/src/amd/vulkan/radv_meta_resolve.c > @@ -707,6 +707,10 @@ radv_decompress_resolve_subpass_src(struct > radv_cmd_buffer *cmd_buffer) > { > const struct radv_subpass *subpass = cmd_buffer->state.subpass; > struct radv_framebuffer *fb = cmd_buffer->state.framebuffer; > + uint32_t layer_count = fb->layers; > + > + if (subpass->view_mask) > + layer_count = util_last_bit(subpass->view_mask); > > for (uint32_t i = 0; i < subpass->color_count; ++i) { > struct radv_subpass_attachment src_att = > subpass->color_attachments[i]; > @@ -715,14 +719,16 @@ radv_decompress_resolve_subpass_src(struct > radv_cmd_buffer *cmd_buffer) > if (dest_att.attachment == VK_ATTACHMENT_UNUSED) > continue; > > - struct radv_image *src_image = > - fb->attachments[src_att.attachment].attachment->image; > + struct radv_image_view *src_iview = > + fb->attachments[src_att.attachment].attachment; > + struct radv_image *src_image = src_iview->image; > > VkImageResolve region = {}; > region.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; > region.srcSubresource.baseArrayLayer = 0; > region.srcSubresource.mipLevel = 0; > - region.srcSubresource.layerCount = src_image->info.array_size; > + region.srcSubresource.baseArrayLayer = src_iview->base_layer; > + region.srcSubresource.layerCount = layer_count; > > radv_decompress_resolve_src(cmd_buffer, src_image, > src_att.layout, 1, ®ion); > -- > 2.22.0 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
