diff options
| author | John Zulauf <jzulauf@lunarg.com> | 2017-10-26 15:34:49 -0600 |
|---|---|---|
| committer | jzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com> | 2017-11-08 14:41:50 -0700 |
| commit | 0a0f9755c27933320f75af3328ae08473faa32ab (patch) | |
| tree | fbf09f3cad23b398e643805d2c0dd22673dc205b /layers | |
| parent | c6e81449fcd0e75463641684ed38b6202f32d4a5 (diff) | |
| download | usermoji-0a0f9755c27933320f75af3328ae08473faa32ab.tar.xz | |
layers: Adds createSampler VUID/test for IMG_CUBIC
Added VUID check to parameter_validation_layer and matching test for
VUID 12600872 (must disable anisotropy for CUBIC_IMG filters)
Change-Id: I3d0f9449413637292c2726480ca7ce0e6b793e21
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/parameter_validation_utils.cpp | 13 | ||||
| -rw-r--r-- | layers/vk_validation_error_database.txt | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/layers/parameter_validation_utils.cpp b/layers/parameter_validation_utils.cpp index 959f344e..24a6f41d 100644 --- a/layers/parameter_validation_utils.cpp +++ b/layers/parameter_validation_utils.cpp @@ -1539,6 +1539,19 @@ bool pv_vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo, "but the VK_KHR_sampler_mirror_clamp_to_edge extension has not been enabled. %s", validation_error_map[VALIDATION_ERROR_1260086e]); } + + // Checks for the IMG cubic filtering extension + if (device_data->extensions.vk_img_filter_cubic) { + if ((pCreateInfo->anisotropyEnable == VK_TRUE) && + ((pCreateInfo->minFilter == VK_FILTER_CUBIC_IMG) || (pCreateInfo->magFilter == VK_FILTER_CUBIC_IMG))) { + skip |= + log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__, + VALIDATION_ERROR_12600872, LayerName, + "vkCreateSampler(): Anisotropic sampling must not be VK_TRUE when either minFilter or magFilter are " + "VK_FILTER_CUBIC_IMG. %s", + validation_error_map[VALIDATION_ERROR_12600872]); + } + } } return skip; diff --git a/layers/vk_validation_error_database.txt b/layers/vk_validation_error_database.txt index 084a07b3..5082fa02 100644 --- a/layers/vk_validation_error_database.txt +++ b/layers/vk_validation_error_database.txt @@ -1311,7 +1311,7 @@ VALIDATION_ERROR_1260086a~^~N~^~Unknown~^~vkCreateSampler~^~VUID-VkSamplerCreate VALIDATION_ERROR_1260086c~^~Y~^~Unknown~^~vkCreateSampler~^~VUID-VkSamplerCreateInfo-addressModeU-01078~^~core~^~The spec valid usage text states 'If any of addressModeU, addressModeV or addressModeW are VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, borderColor must be a valid VkBorderColor value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSamplerCreateInfo-addressModeU-01078)~^~ VALIDATION_ERROR_1260086e~^~Y~^~MirrorClampToEdgeNotEnabled~^~vkCreateSampler~^~VUID-VkSamplerCreateInfo-addressModeU-01079~^~core~^~The spec valid usage text states 'If the VK_KHR_sampler_mirror_clamp_to_edge extension is not enabled, addressModeU, addressModeV and addressModeW must not be VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSamplerCreateInfo-addressModeU-01079)~^~ VALIDATION_ERROR_12600870~^~Y~^~Unknown~^~vkCreateSampler~^~VUID-VkSamplerCreateInfo-compareEnable-01080~^~core~^~The spec valid usage text states 'If compareEnable is VK_TRUE, compareOp must be a valid VkCompareOp value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSamplerCreateInfo-compareEnable-01080)~^~ -VALIDATION_ERROR_12600872~^~N~^~Unknown~^~vkCreateSampler~^~VUID-VkSamplerCreateInfo-magFilter-01081~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'If either magFilter or minFilter is VK_FILTER_CUBIC_IMG, anisotropyEnable must be VK_FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerCreateInfo-magFilter-01081)~^~ +VALIDATION_ERROR_12600872~^~Y~^~AnisotropyFeatureEnabled~^~vkCreateSampler~^~VUID-VkSamplerCreateInfo-magFilter-01081~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'If either magFilter or minFilter is VK_FILTER_CUBIC_IMG, anisotropyEnable must be VK_FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerCreateInfo-magFilter-01081)~^~ VALIDATION_ERROR_12600b1c~^~N~^~None~^~VkSamplerCreateInfo~^~VUID-VkSamplerCreateInfo-magFilter-01422~^~(VK_IMG_filter_cubic+VK_EXT_sampler_filter_minmax)~^~The spec valid usage text states 'If either magFilter or minFilter is VK_FILTER_CUBIC_IMG, the reductionMode member of VkSamplerReductionModeCreateInfoEXT must be VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerCreateInfo-magFilter-01422)~^~ VALIDATION_ERROR_12600b1e~^~N~^~None~^~VkSamplerCreateInfo~^~VUID-VkSamplerCreateInfo-compareEnable-01423~^~(VK_EXT_sampler_filter_minmax)~^~The spec valid usage text states 'If compareEnable is VK_TRUE, the reductionMode member of VkSamplerReductionModeCreateInfoEXT must be VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerCreateInfo-compareEnable-01423)~^~ VALIDATION_ERROR_12600cda~^~N~^~None~^~VkSamplerCreateInfo~^~VUID-VkSamplerCreateInfo-minFilter-01645~^~(VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If sampler Y'CBCR conversion is enabled and VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR is not set for the format, minFilter and magFilter must be equal to the sampler Y'CBCR conversion's chromaFilter' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerCreateInfo-minFilter-01645)~^~ |
