aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index c4cba305..a2d5b3a5 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -2552,6 +2552,11 @@ static bool validate_shader_capabilities(layer_data *dev_data, shader_module con
VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME);
break;
+ case spv::CapabilitySubgroupVoteKHR:
+ pass &= require_extension(report_data, dev_data->device_extensions.khr_subgroup_vote_enabled,
+ VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME);
+ break;
+
default:
// Spirv-validator should catch these errors
break;
@@ -3867,7 +3872,7 @@ static void checkDeviceRegisterExtensions(const VkDeviceCreateInfo *pCreateInfo,
dev_data->device_extensions.nv_sample_mask_override_coverage_enabled = false;
dev_data->device_extensions.nv_viewport_array2_enabled = false;
dev_data->device_extensions.khr_subgroup_ballot_enabled = false;
-
+ dev_data->device_extensions.khr_subgroup_vote_enabled = false;
for (i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_SWAPCHAIN_EXTENSION_NAME) == 0) {
@@ -3900,6 +3905,10 @@ static void checkDeviceRegisterExtensions(const VkDeviceCreateInfo *pCreateInfo,
if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME) == 0) {
dev_data->device_extensions.khr_subgroup_ballot_enabled = true;
}
+ if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME) == 0) {
+ dev_data->device_extensions.khr_subgroup_vote_enabled = true;
+ }
+
}
}