summaryrefslogtreecommitdiffstats
path: root/tools/gfx/vulkan/vk-device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
-rw-r--r--tools/gfx/vulkan/vk-device.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp
index ad0924294..3583e2a1f 100644
--- a/tools/gfx/vulkan/vk-device.cpp
+++ b/tools/gfx/vulkan/vk-device.cpp
@@ -464,6 +464,10 @@ Result DeviceImpl::initVulkanInstanceAndDevice(
extendedFeatures.variablePointersFeatures.pNext = deviceFeatures2.pNext;
deviceFeatures2.pNext = &extendedFeatures.variablePointersFeatures;
+ // Compute shader derivative features.
+ extendedFeatures.computeShaderDerivativeFeatures.pNext = deviceFeatures2.pNext;
+ deviceFeatures2.pNext = &extendedFeatures.computeShaderDerivativeFeatures;
+
// Extended dynamic states
extendedFeatures.extendedDynamicStateFeatures.pNext = deviceFeatures2.pNext;
deviceFeatures2.pNext = &extendedFeatures.extendedDynamicStateFeatures;
@@ -696,6 +700,13 @@ Result DeviceImpl::initVulkanInstanceAndDevice(
VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME,
"variable-pointer"
);
+
+ SIMPLE_EXTENSION_FEATURE(
+ extendedFeatures.computeShaderDerivativeFeatures,
+ computeDerivativeGroupLinear,
+ VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME,
+ "computeDerivativeGroupLinear"
+ );
#undef SIMPLE_EXTENSION_FEATURE