aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Kraus <petr_kraus@email.cz>2018-03-13 12:31:39 +0100
committerMark Lobodzinski <mark@lunarg.com>2018-03-20 11:14:18 -0600
commit7eeae36c5a4bce6ea199bd4c87550088bf80e2af (patch)
tree8bc306b085c972ff8e53a07030feeb09d803760e
parent8a4d7f38edc4ecc5ea12938a0be39eb33ca65395 (diff)
downloadusermoji-7eeae36c5a4bce6ea199bd4c87550088bf80e2af.tar.xz
layers: Move sparseBinding feature vs flag check
-rw-r--r--layers/buffer_validation.cpp8
-rw-r--r--layers/parameter_validation_utils.cpp8
2 files changed, 8 insertions, 8 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index 518bcfd8..ebf99a87 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -884,14 +884,6 @@ bool PreCallValidateCreateImage(layer_data *device_data, const VkImageCreateInfo
validation_error_map[VALIDATION_ERROR_09e0078e]);
}
- if ((pCreateInfo->flags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT) && (!GetEnabledFeatures(device_data)->sparseBinding)) {
- skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- VALIDATION_ERROR_09e00792, "DS",
- "vkCreateImage(): the sparseBinding device feature is disabled: Images cannot be created with the "
- "VK_IMAGE_CREATE_SPARSE_BINDING_BIT set. %s",
- validation_error_map[VALIDATION_ERROR_09e00792]);
- }
-
if ((pCreateInfo->flags & VK_IMAGE_CREATE_SPARSE_ALIASED_BIT) && (!GetEnabledFeatures(device_data)->sparseResidencyAliased)) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
DRAWSTATE_INVALID_FEATURE, "DS",
diff --git a/layers/parameter_validation_utils.cpp b/layers/parameter_validation_utils.cpp
index bcc4a05d..6bebe874 100644
--- a/layers/parameter_validation_utils.cpp
+++ b/layers/parameter_validation_utils.cpp
@@ -984,6 +984,14 @@ bool pv_vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, con
validation_error_map[VALIDATION_ERROR_09e0077c]);
}
+ if ((pCreateInfo->flags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT) && (!device_data->physical_device_features.sparseBinding)) {
+ skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, VK_NULL_HANDLE,
+ __LINE__, VALIDATION_ERROR_09e00792, LayerName,
+ "vkCreateImage(): pCreateInfo->flags contains VK_IMAGE_CREATE_SPARSE_BINDING_BIT, but the "
+ "VkPhysicalDeviceFeatures::sparseBinding feature is disabled. %s",
+ validation_error_map[VALIDATION_ERROR_09e00792]);
+ }
+
// If flags contains VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, it must also contain
// VK_IMAGE_CREATE_SPARSE_BINDING_BIT
if (((pCreateInfo->flags & (VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT | VK_IMAGE_CREATE_SPARSE_ALIASED_BIT)) != 0) &&