aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorCort Stratton <cort@google.com>2017-04-27 15:57:21 +0200
committerCort <cdwfs@users.noreply.github.com>2017-04-28 12:07:23 +0200
commit0201de00f8fa5f80f07c172f488330b72ffa3424 (patch)
treedc07b7fe74d9c646a30cfa355072d760fe577f61 /layers/core_validation.cpp
parentef25e6bf3ced4fca0c0c8ce56305220a4d17519d (diff)
downloadusermoji-0201de00f8fa5f80f07c172f488330b72ffa3424.tar.xz
layers: Add check for VkFramebuffer dimensions of zero
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index da54b48b..5644d5b3 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -8646,6 +8646,25 @@ static bool ValidateFramebufferCreateInfo(layer_data *dev_data, const VkFramebuf
pCreateInfo->layers, dev_data->phys_dev_properties.properties.limits.maxFramebufferLayers,
validation_error_map[VALIDATION_ERROR_00415]);
}
+ // Verify FB dimensions are greater than zero
+ if (pCreateInfo->width <= 0) {
+ skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
+ VALIDATION_ERROR_02806, "DS",
+ "vkCreateFramebuffer(): Requested VkFramebufferCreateInfo width must be greater than zero. %s",
+ validation_error_map[VALIDATION_ERROR_02806]);
+ }
+ if (pCreateInfo->height <= 0) {
+ skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
+ VALIDATION_ERROR_02807, "DS",
+ "vkCreateFramebuffer(): Requested VkFramebufferCreateInfo height must be greater than zero. %s",
+ validation_error_map[VALIDATION_ERROR_02807]);
+ }
+ if (pCreateInfo->layers <= 0) {
+ skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
+ VALIDATION_ERROR_02808, "DS",
+ "vkCreateFramebuffer(): Requested VkFramebufferCreateInfo layers must be greater than zero. %s",
+ validation_error_map[VALIDATION_ERROR_02808]);
+ }
return skip;
}