Mesa (master): radv: fix 3D clears with baseMiplevel

Dave Airlie airlied at kemper.freedesktop.org
Mon Nov 28 07:10:39 UTC 2016


Module: Mesa
Branch: master
Commit: 09c0c17bc3609a5f5d3ba1df26820406ff5449bf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09c0c17bc3609a5f5d3ba1df26820406ff5449bf

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Nov 28 07:03:11 2016 +0000

radv: fix 3D clears with baseMiplevel

This fixes:
dEQP-VK.api.image_clearing.clear_color_image.3d*

These were hitting an assert as the code wasn't taking the
baseMipLevel into account when minify the image depth.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>
Cc: "13.0" <mesa-stable at lists.freedesktop.org>

---

 src/amd/vulkan/radv_meta_clear.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index 34b318a..77f7dc4 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -998,7 +998,7 @@ radv_cmd_clear_image(struct radv_cmd_buffer *cmd_buffer,
 		const VkImageSubresourceRange *range = &ranges[r];
 		for (uint32_t l = 0; l < radv_get_levelCount(image, range); ++l) {
 			const uint32_t layer_count = image->type == VK_IMAGE_TYPE_3D ?
-				radv_minify(image->extent.depth, l) :
+				radv_minify(image->extent.depth, range->baseMipLevel + l) :
 				radv_get_layerCount(image, range);
 			for (uint32_t s = 0; s < layer_count; ++s) {
 				struct radv_image_view iview;




More information about the mesa-commit mailing list