From 50792ac1fb3d33b69ca6fa1f70b8dd7f048b06e1 Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Tue, 4 Apr 2017 15:05:52 -0600 Subject: layers: Fix GH 1639. Check base+count instead of just base. Fix FramebufferCreateErrors test to use the correct number of mip levels. Also, add a test for count, fix a few function names, and apply some soothing const cream. Change-Id: Ib2deb8bc27e76138f83b3dd32529583a30085cda --- layers/buffer_validation.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'layers/buffer_validation.cpp') diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp index f020768c..dbe72559 100644 --- a/layers/buffer_validation.cpp +++ b/layers/buffer_validation.cpp @@ -2450,7 +2450,8 @@ bool PreCallValidateCreateImageView(layer_data *device_data, const VkImageViewCr // If this isn't a sparse image, it needs to have memory backing it at CreateImageView time skip |= ValidateMemoryIsBoundToImage(device_data, image_state, "vkCreateImageView()", VALIDATION_ERROR_02524); // Checks imported from image layer - if (create_info->subresourceRange.baseMipLevel >= image_state->createInfo.mipLevels) { + if ((create_info->subresourceRange.baseMipLevel + create_info->subresourceRange.levelCount) > + image_state->createInfo.mipLevels) { std::stringstream ss; ss << "vkCreateImageView called with baseMipLevel " << create_info->subresourceRange.baseMipLevel << " for image " << create_info->image << " that only has " << image_state->createInfo.mipLevels << " mip levels."; -- cgit v1.2.3