aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lentine <mlentine@google.com>2016-03-18 14:49:09 -0500
committerTobin Ehlis <tobine@google.com>2016-03-21 06:54:37 -0600
commitf0d091deca3d4b90e1f31d75e062684dca160ad1 (patch)
tree30504e944223ef22f59446235fc694452a5e1882
parent0a32ed7bdf03e7bda914e03c0bfa6ebf400cdf5b (diff)
downloadvulkan-validation-layers-f0d091deca3d4b90e1f31d75e062684dca160ad1.tar.gz
Allow REMAINING for subresources.
-rw-r--r--layers/core_validation.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index dba392778..1454d7105 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -8730,7 +8730,10 @@ VkBool32 ValidateBarriers(const char *funcName, VkCommandBuffer cmdBuffer, uint3
"VK_IMAGE_ASPECT_STENCIL_BIT set.",
funcName);
}
- if ((mem_barrier->subresourceRange.baseArrayLayer + mem_barrier->subresourceRange.layerCount) > arrayLayers) {
+ int layerCount = (mem_barrier->subresourceRange.layerCount == VK_REMAINING_ARRAY_LAYERS)
+ ? 1
+ : mem_barrier->subresourceRange.layerCount;
+ if ((mem_barrier->subresourceRange.baseArrayLayer + layerCount) > arrayLayers) {
log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__,
DRAWSTATE_INVALID_BARRIER, "DS", "%s: Subresource must have the sum of the "
"baseArrayLayer (%d) and layerCount (%d) be less "
@@ -8738,7 +8741,10 @@ VkBool32 ValidateBarriers(const char *funcName, VkCommandBuffer cmdBuffer, uint3
funcName, mem_barrier->subresourceRange.baseArrayLayer, mem_barrier->subresourceRange.layerCount,
arrayLayers);
}
- if ((mem_barrier->subresourceRange.baseMipLevel + mem_barrier->subresourceRange.levelCount) > mipLevels) {
+ int levelCount = (mem_barrier->subresourceRange.levelCount == VK_REMAINING_MIP_LEVELS)
+ ? 1
+ : mem_barrier->subresourceRange.levelCount;
+ if ((mem_barrier->subresourceRange.baseMipLevel + levelCount) > mipLevels) {
log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__,
DRAWSTATE_INVALID_BARRIER, "DS", "%s: Subresource must have the sum of the baseMipLevel "
"(%d) and levelCount (%d) be less than or equal to "