diff options
| author | Jay Kwak <82421531+jkwak-work@users.noreply.github.com> | 2025-01-30 00:59:49 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-30 00:59:49 -0800 |
| commit | ba9b2785c69c1b8c6d2b4103267b5281815f9f23 (patch) | |
| tree | e4ba4ca76c6592b90764a0a7ac32502639dc93aa /tools/gfx/vulkan | |
| parent | 2ae194d51e15c064c3d905e628f7335de7504e32 (diff) | |
Support cooperative vector (#6223)
* Support cooperative vector without Vulkan-header update
Adding a Slang support for cooperative vector.
But this commit doesn't have Vulkan-header update.
Diffstat (limited to 'tools/gfx/vulkan')
| -rw-r--r-- | tools/gfx/vulkan/vk-api.cpp | 15 | ||||
| -rw-r--r-- | tools/gfx/vulkan/vk-api.h | 1 |
2 files changed, 14 insertions, 2 deletions
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 |
