VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME);
break;
+ case spv::CapabilitySampleMaskOverrideCoverageNV:
+ pass &= require_extension(report_data, dev_data->device_extensions.nv_sample_mask_override_coverage_enabled,
+ VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME);
+ break;
+
default:
// Spirv-validator should catch these errors
break;
dev_data->device_extensions.khr_shader_draw_parameters_enabled = false;
dev_data->device_extensions.khr_maintenance1_enabled = false;
dev_data->device_extensions.nv_geometry_shader_passthrough_enabled = false;
+ dev_data->device_extensions.nv_sample_mask_override_coverage_enabled = false;
for (i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_SWAPCHAIN_EXTENSION_NAME) == 0) {
if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME) == 0) {
dev_data->device_extensions.nv_geometry_shader_passthrough_enabled = true;
}
+ if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME) == 0) {
+ dev_data->device_extensions.nv_sample_mask_override_coverage_enabled = true;
+ }
}
}
bool khr_shader_draw_parameters_enabled;
bool khr_maintenance1_enabled;
bool nv_geometry_shader_passthrough_enabled;
+ bool nv_sample_mask_override_coverage_enabled;
std::unordered_map<VkSwapchainKHR, std::unique_ptr<SWAPCHAIN_NODE>> swapchainMap;
std::unordered_map<VkImage, VkSwapchainKHR> imageToSwapchainMap;
};