diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/gfx/d3d12/d3d12-device.cpp | 3 | ||||
| -rw-r--r-- | tools/gfx/vulkan/vk-api.cpp | 15 | ||||
| -rw-r--r-- | tools/gfx/vulkan/vk-api.h | 1 |
3 files changed, 16 insertions, 3 deletions
diff --git a/tools/gfx/d3d12/d3d12-device.cpp b/tools/gfx/d3d12/d3d12-device.cpp index 35192fd7d..88051d837 100644 --- a/tools/gfx/d3d12/d3d12-device.cpp +++ b/tools/gfx/d3d12/d3d12-device.cpp @@ -74,7 +74,8 @@ static ShaderModelInfo kKnownShaderModels[] = { SHADER_MODEL_INFO_DXIL(6, 4), SHADER_MODEL_INFO_DXIL(6, 5), SHADER_MODEL_INFO_DXIL(6, 6), - SHADER_MODEL_INFO_DXIL(6, 7) + SHADER_MODEL_INFO_DXIL(6, 7), + SHADER_MODEL_INFO_DXIL(6, 8) #undef SHADER_MODEL_INFO_DXIL }; diff --git a/tools/gfx/vulkan/vk-api.cpp b/tools/gfx/vulkan/vk-api.cpp index 80b1d5814..dbf32345f 100644 --- a/tools/gfx/vulkan/vk-api.cpp +++ b/tools/gfx/vulkan/vk-api.cpp @@ -9,9 +9,19 @@ using namespace Slang; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! VulkanApi !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -#define VK_API_CHECK_FUNCTION(x) &&(x != nullptr) +#define VK_API_CHECK_FUNCTION(x) &&hasFunction(#x, (void*)x) #define VK_API_CHECK_FUNCTIONS(FUNCTION_LIST) true FUNCTION_LIST(VK_API_CHECK_FUNCTION) +static bool hasFunction(const char* name, void* ptr) +{ + if (ptr) + return true; +#if 0 + fprintf(stderr, "Missing required Vulkan function: %s\n", name); +#endif + return false; +} + bool VulkanApi::areDefined(ProcType type) const { switch (type) @@ -19,7 +29,8 @@ bool VulkanApi::areDefined(ProcType type) const case ProcType::Global: return VK_API_CHECK_FUNCTIONS(VK_API_ALL_GLOBAL_PROCS); case ProcType::Instance: - return VK_API_CHECK_FUNCTIONS(VK_API_ALL_INSTANCE_PROCS); + return VK_API_CHECK_FUNCTIONS(VK_API_ALL_INSTANCE_PROCS) && + VK_API_CHECK_FUNCTIONS(VK_API_INSTANCE_KHR_PROCS); case ProcType::Device: return VK_API_CHECK_FUNCTIONS(VK_API_DEVICE_PROCS); default: diff --git a/tools/gfx/vulkan/vk-api.h b/tools/gfx/vulkan/vk-api.h index 9d2535f09..23902e88c 100644 --- a/tools/gfx/vulkan/vk-api.h +++ b/tools/gfx/vulkan/vk-api.h @@ -1,6 +1,7 @@ // vk-api.h #pragma once +#include "core/slang-basic.h" #include "vk-module.h" namespace gfx |
