diff options
| author | Nathan V. Morrical <natemorrical@gmail.com> | 2024-02-02 12:01:05 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-02 12:01:05 -0800 |
| commit | 1bc84dfda8e71016f02200407c9913e5956c2567 (patch) | |
| tree | c95138176b947df7987248d7b811a0c69eea5f25 | |
| parent | f370947c63bca707b9cfde7b18e67298f5fbace3 (diff) | |
adding required extensions to gfx to enable basic vulkan printf functionality (#3541)
| -rw-r--r-- | tools/gfx/vulkan/vk-device.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp index 66c2c811b..55c1a88ec 100644 --- a/tools/gfx/vulkan/vk-device.cpp +++ b/tools/gfx/vulkan/vk-device.cpp @@ -209,6 +209,8 @@ Result DeviceImpl::initVulkanInstanceAndDevice( const char* layerNames[] = { nullptr }; + VkValidationFeaturesEXT validationFeatures = {}; + VkValidationFeatureEnableEXT enabledValidationFeatures[1] = { VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT }; if (useValidationLayer) { // Depending on driver version, validation layer may or may not exist. @@ -255,6 +257,12 @@ Result DeviceImpl::initVulkanInstanceAndDevice( { instanceCreateInfo.enabledLayerCount = SLANG_COUNT_OF(layerNames); instanceCreateInfo.ppEnabledLayerNames = layerNames; + + // Include support for printf + validationFeatures.sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT; + validationFeatures.enabledValidationFeatureCount = 1; + validationFeatures.pEnabledValidationFeatures = enabledValidationFeatures; + instanceCreateInfo.pNext = &validationFeatures; } } uint32_t apiVersionsToTry[] = { VK_API_VERSION_1_2, VK_API_VERSION_1_1, VK_API_VERSION_1_0 }; @@ -360,6 +368,7 @@ Result DeviceImpl::initVulkanInstanceAndDevice( List<const char*> deviceExtensions; deviceExtensions.add(VK_KHR_SWAPCHAIN_EXTENSION_NAME); + deviceExtensions.add(VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME); #if SLANG_APPLE_FAMILY deviceExtensions.add("VK_KHR_portability_subset"); #endif |
