Mesa (master): anv/clear: Handle ClearImage on 3-D images

Jason Ekstrand jekstrand at kemper.freedesktop.org
Sat Jun 4 02:29:48 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue May 31 11:26:06 2016 -0700

anv/clear: Handle ClearImage on 3-D images

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>

---

 src/intel/vulkan/anv_meta_clear.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/anv_meta_clear.c b/src/intel/vulkan/anv_meta_clear.c
index 18dfae8..fe750c8 100644
--- a/src/intel/vulkan/anv_meta_clear.c
+++ b/src/intel/vulkan/anv_meta_clear.c
@@ -761,9 +761,11 @@ anv_cmd_clear_image(struct anv_cmd_buffer *cmd_buffer,
 
    for (uint32_t r = 0; r < range_count; r++) {
       const VkImageSubresourceRange *range = &ranges[r];
-
       for (uint32_t l = 0; l < anv_get_levelCount(image, range); ++l) {
-         for (uint32_t s = 0; s < anv_get_layerCount(image, range); ++s) {
+         const uint32_t layer_count = image->type == VK_IMAGE_TYPE_3D ?
+                                      anv_minify(image->extent.depth, l) :
+                                      anv_get_layerCount(image, range);
+         for (uint32_t s = 0; s < layer_count; ++s) {
             struct anv_image_view iview;
             anv_image_view_init(&iview, cmd_buffer->device,
                &(VkImageViewCreateInfo) {




More information about the mesa-commit mailing list