aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-03-01 15:52:49 -0700
committerMark Lobodzinski <mark@lunarg.com>2017-03-13 16:02:59 -0600
commite13e02f8060a5352b729f3265fe890fe9985b21a (patch)
treed149f88d07636c5f33ecd667479d5ab1c1a943a6 /layers/parameter_validation.cpp
parent7cdb3f5946cc2108e3026adb83e5b4c1af30717d (diff)
downloadusermoji-e13e02f8060a5352b729f3265fe890fe9985b21a.tar.xz
layers: Validate samplerAnisotropy device feature
Change-Id: I8b1262c34612870b9c8ebb1f62e7d6755219606f
Diffstat (limited to 'layers/parameter_validation.cpp')
-rw-r--r--layers/parameter_validation.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/layers/parameter_validation.cpp b/layers/parameter_validation.cpp
index f0b37040..91067e08 100644
--- a/layers/parameter_validation.cpp
+++ b/layers/parameter_validation.cpp
@@ -3529,8 +3529,16 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateSampler(VkDevice device, const VkSamplerCre
skip |= parameter_validation_vkCreateSampler(report_data, pCreateInfo, pAllocator, pSampler);
- // Validation for parameters excluded from the generated validation code due to a 'noautovalidity' tag in vk.xml
if (pCreateInfo != nullptr) {
+
+ if ((device_data->physical_device_features.samplerAnisotropy == false) && (pCreateInfo->maxAnisotropy != 1.0)) {
+ skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
+ DEVICE_FEATURE, LayerName,
+ "vkCreateSampler(): The samplerAnisotropy feature is not enabled, so the maxAnisotropy member of the "
+ "VkSamplerCreateInfo structure must be 1.0 but is %f.",
+ pCreateInfo->maxAnisotropy);
+ }
+
// If compareEnable is VK_TRUE, compareOp must be a valid VkCompareOp value
if (pCreateInfo->compareEnable == VK_TRUE) {
skip |= validate_ranged_enum(report_data, "vkCreateSampler", "pCreateInfo->compareOp", "VkCompareOp",