diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-03-28 13:34:55 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-03-29 10:58:32 -0600 |
| commit | cb8a67ad1c04d3995be6e3e6618ee59ac671f0bf (patch) | |
| tree | dae4dc4d85eed0cbfa08f09121b38fc64db8574d /layers/core_validation.cpp | |
| parent | 8625181fffd3e0034950eef237dea60be5d9fe1c (diff) | |
| download | usermoji-cb8a67ad1c04d3995be6e3e6618ee59ac671f0bf.tar.xz | |
layers: Add shader_subgroup_ballot ext shader caps
Recognize and validate shader capabilities added in the new
VK_KHR_shader_subgroup_ballot extension.
Change-Id: I79f02f50600dcbd85f7b91aeefe56bb426f53b6b
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 374103bf..c4cba305 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -2547,6 +2547,11 @@ static bool validate_shader_capabilities(layer_data *dev_data, shader_module con VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME); break; + case spv::CapabilitySubgroupBallotKHR: + pass &= require_extension(report_data, dev_data->device_extensions.khr_subgroup_ballot_enabled, + VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME); + break; + default: // Spirv-validator should catch these errors break; @@ -3861,6 +3866,7 @@ static void checkDeviceRegisterExtensions(const VkDeviceCreateInfo *pCreateInfo, dev_data->device_extensions.nv_geometry_shader_passthrough_enabled = false; 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; for (i = 0; i < pCreateInfo->enabledExtensionCount; i++) { @@ -3891,6 +3897,9 @@ static void checkDeviceRegisterExtensions(const VkDeviceCreateInfo *pCreateInfo, if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME) == 0) { dev_data->device_extensions.nv_viewport_array2_enabled = true; } + if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME) == 0) { + dev_data->device_extensions.khr_subgroup_ballot_enabled = true; + } } } |
