aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalnasse <mais.alnasser@amd.com>2015-06-03 17:28:38 -0400
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-04 16:40:01 -0600
commiteb25d3f9f359336186234016f50d988bc9d0f0e6 (patch)
tree47651f389c441acdb2506d6aadaa02906e83f0c2
parent73546643149295fb5dea8b634ed93321179eee82 (diff)
downloadusermoji-eb25d3f9f359336186234016f50d988bc9d0f0e6.tar.xz
Use correct depth aspect for depth image.
-rw-r--r--demos/cube.c9
-rw-r--r--demos/tri.c9
2 files changed, 16 insertions, 2 deletions
diff --git a/demos/cube.c b/demos/cube.c
index 71f1d4cd..36917e12 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -372,6 +372,7 @@ static void demo_flush_init_cmd(struct demo *demo)
static void demo_set_image_layout(
struct demo *demo,
VkImage image,
+ VkImageAspect aspect,
VkImageLayout old_image_layout,
VkImageLayout new_image_layout)
{
@@ -405,7 +406,7 @@ static void demo_set_image_layout(
.oldLayout = old_image_layout,
.newLayout = new_image_layout,
.image = image,
- .subresourceRange = { VK_IMAGE_ASPECT_COLOR, 0, 1, 0, 0 }
+ .subresourceRange = { aspect, 0, 1, 0, 0 }
};
if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL) {
@@ -619,6 +620,7 @@ static void demo_prepare_buffers(struct demo *demo)
demo->buffers[i].mem = images[i].memory;
demo_set_image_layout(demo, demo->buffers[i].image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
@@ -691,6 +693,7 @@ static void demo_prepare_depth(struct demo *demo)
assert(!err);
demo_set_image_layout(demo, demo->depth.image,
+ VK_IMAGE_ASPECT_DEPTH,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
@@ -951,6 +954,7 @@ static void demo_prepare_texture_image(struct demo *demo,
tex_obj->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
demo_set_image_layout(demo, tex_obj->image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_UNDEFINED,
tex_obj->imageLayout);
/* setting the image layout does not reference the actual memory so no need to add a mem ref */
@@ -999,10 +1003,12 @@ static void demo_prepare_textures(struct demo *demo)
VK_MEMORY_PROPERTY_DEVICE_ONLY);
demo_set_image_layout(demo, staging_texture.image,
+ VK_IMAGE_ASPECT_COLOR,
staging_texture.imageLayout,
VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL);
demo_set_image_layout(demo, demo->textures[i].image,
+ VK_IMAGE_ASPECT_COLOR,
demo->textures[i].imageLayout,
VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL);
@@ -1019,6 +1025,7 @@ static void demo_prepare_textures(struct demo *demo)
1, &copy_region);
demo_set_image_layout(demo, demo->textures[i].image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
demo->textures[i].imageLayout);
diff --git a/demos/tri.c b/demos/tri.c
index 26f75987..d59d9e62 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -189,6 +189,7 @@ static void demo_flush_init_cmd(struct demo *demo)
static void demo_set_image_layout(
struct demo *demo,
VkImage image,
+ VkImageAspect aspect,
VkImageLayout old_image_layout,
VkImageLayout new_image_layout)
{
@@ -222,7 +223,7 @@ static void demo_set_image_layout(
.oldLayout = old_image_layout,
.newLayout = new_image_layout,
.image = image,
- .subresourceRange = { VK_IMAGE_ASPECT_COLOR, 0, 1, 0, 0 }
+ .subresourceRange = { aspect, 0, 1, 0, 0 }
};
if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL) {
@@ -416,6 +417,7 @@ static void demo_prepare_buffers(struct demo *demo)
demo->buffers[i].mem = images[i].memory;
demo_set_image_layout(demo, demo->buffers[i].image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
@@ -490,6 +492,7 @@ static void demo_prepare_depth(struct demo *demo)
assert(!err);
demo_set_image_layout(demo, demo->depth.image,
+ VK_IMAGE_ASPECT_DEPTH,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
@@ -590,6 +593,7 @@ static void demo_prepare_texture_image(struct demo *demo,
tex_obj->imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
demo_set_image_layout(demo, tex_obj->image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_UNDEFINED,
tex_obj->imageLayout);
/* setting the image layout does not reference the actual memory so no need to add a mem ref */
@@ -640,10 +644,12 @@ static void demo_prepare_textures(struct demo *demo)
VK_MEMORY_PROPERTY_DEVICE_ONLY);
demo_set_image_layout(demo, staging_texture.image,
+ VK_IMAGE_ASPECT_COLOR,
staging_texture.imageLayout,
VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL);
demo_set_image_layout(demo, demo->textures[i].image,
+ VK_IMAGE_ASPECT_COLOR,
demo->textures[i].imageLayout,
VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL);
@@ -660,6 +666,7 @@ static void demo_prepare_textures(struct demo *demo)
1, &copy_region);
demo_set_image_layout(demo, demo->textures[i].image,
+ VK_IMAGE_ASPECT_COLOR,
VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
demo->textures[i].imageLayout);