MCPcopy Create free account
hub / github.com/SaschaWillems/VulkanCapsViewer / readPhysicalFeatures_NV

Method readPhysicalFeatures_NV

vulkanDeviceInfoExtensions.cpp:3539–3937  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3537 }
3538}
3539void VulkanDeviceInfoExtensions::readPhysicalFeatures_NV() {
3540 VkPhysicalDeviceFeatures2 deviceFeatures2{};
3541 if (extensionSupported("VK_NV_corner_sampled_image")) {
3542 const char* extension("VK_NV_corner_sampled_image");
3543 VkPhysicalDeviceCornerSampledImageFeaturesNV* extFeatures = new VkPhysicalDeviceCornerSampledImageFeaturesNV{};
3544 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
3545 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3546 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3547 pushFeature2(extension, "cornerSampledImage", extFeatures->cornerSampledImage);
3548 delete extFeatures;
3549 }
3550 if (extensionSupported("VK_NV_shader_sm_builtins")) {
3551 const char* extension("VK_NV_shader_sm_builtins");
3552 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* extFeatures = new VkPhysicalDeviceShaderSMBuiltinsFeaturesNV{};
3553 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
3554 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3555 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3556 pushFeature2(extension, "shaderSMBuiltins", extFeatures->shaderSMBuiltins);
3557 delete extFeatures;
3558 }
3559 if (extensionSupported("VK_NV_shading_rate_image")) {
3560 const char* extension("VK_NV_shading_rate_image");
3561 VkPhysicalDeviceShadingRateImageFeaturesNV* extFeatures = new VkPhysicalDeviceShadingRateImageFeaturesNV{};
3562 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
3563 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3564 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3565 pushFeature2(extension, "shadingRateImage", extFeatures->shadingRateImage);
3566 pushFeature2(extension, "shadingRateCoarseSampleOrder", extFeatures->shadingRateCoarseSampleOrder);
3567 delete extFeatures;
3568 }
3569 if (extensionSupported("VK_NV_representative_fragment_test")) {
3570 const char* extension("VK_NV_representative_fragment_test");
3571 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* extFeatures = new VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV{};
3572 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
3573 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3574 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3575 pushFeature2(extension, "representativeFragmentTest", extFeatures->representativeFragmentTest);
3576 delete extFeatures;
3577 }
3578 if (extensionSupported("VK_NV_compute_shader_derivatives")) {
3579 const char* extension("VK_NV_compute_shader_derivatives");
3580 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* extFeatures = new VkPhysicalDeviceComputeShaderDerivativesFeaturesNV{};
3581 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
3582 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3583 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3584 pushFeature2(extension, "computeDerivativeGroupQuads", extFeatures->computeDerivativeGroupQuads);
3585 pushFeature2(extension, "computeDerivativeGroupLinear", extFeatures->computeDerivativeGroupLinear);
3586 delete extFeatures;
3587 }
3588 if (extensionSupported("VK_NV_mesh_shader")) {
3589 const char* extension("VK_NV_mesh_shader");
3590 VkPhysicalDeviceMeshShaderFeaturesNV* extFeatures = new VkPhysicalDeviceMeshShaderFeaturesNV{};
3591 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
3592 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3593 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3594 pushFeature2(extension, "taskShader", extFeatures->taskShader);
3595 pushFeature2(extension, "meshShader", extFeatures->meshShader);
3596 delete extFeatures;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected