Skip to content

Commit

Permalink
Merge pull request #86855 from RandomShaper/fix_vk_get_image
Browse files Browse the repository at this point in the history
Fix determination of copyable layout for compressed textures in Vulkan
  • Loading branch information
akien-mga committed Jan 15, 2024
2 parents 03767fb + e1c7c18 commit 1248fb9
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/vulkan/rendering_device_driver_vulkan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -808,8 +808,11 @@ void RenderingDeviceDriverVulkan::texture_get_copyable_layout(TextureID p_textur
h = MAX(1u, h >> 1);
d = MAX(1u, d >> 1);
}
r_layout->size = get_image_format_required_size(tex_info->rd_format, w, h, d, 1);
r_layout->row_pitch = r_layout->size / (h * d);
uint32_t bw = 0, bh = 0;
get_compressed_image_format_block_dimensions(tex_info->rd_format, bw, bh);
uint32_t sbw = 0, sbh = 0;
r_layout->size = get_image_format_required_size(tex_info->rd_format, w, h, d, 1, &sbw, &sbh);
r_layout->row_pitch = r_layout->size / ((sbh / bh) * d);
r_layout->depth_pitch = r_layout->size / d;
r_layout->layer_pitch = r_layout->size / tex_info->vk_create_info.arrayLayers;
}
Expand Down

0 comments on commit 1248fb9

Please sign in to comment.