Hi all,
This patch series adds a minimal vulkan-1 implementation, which is sufficient to run cube, vulkaninfo and Wolfenstein.
Compared to the official Vulkan loader I'm taking some shortcuts by only handling a single ICD (winevulkan), which allows us to skip aggregating of results from multiple ICDs. Layers are not supported either.
Thanks to these simplifications, creating a vulkan loader was simple. We could just store a global function pointer table and not deal with dispatch tables.
The official Vulkan loader still works and will continue to work. At some point we may provide an optional package to add it.
Thanks, Roderick
Roderick Colenbrander (5): winevulkan/winex11: Add VK_KHR_display stub implementation. vulkan-1: Add stub implementation. vulkan-1: Implement vkEnumerateInstanceExtensionProperties. vulkan-1: Implement thunks for Vulkan Core functions. vulkan-1: Implement vkGetInstanceProcAddr.
configure.ac | 1 + dlls/vulkan-1/Makefile.in | 6 + dlls/vulkan-1/version.rc | 27 ++ dlls/vulkan-1/vulkan-1.spec | 158 +++++++ dlls/vulkan-1/vulkan.c | 143 ++++++ dlls/winevulkan/make_vulkan | 166 ++++++- dlls/winevulkan/vulkan.c | 117 +++++ dlls/winevulkan/vulkan_thunks.c | 59 +++ dlls/winevulkan/vulkan_thunks.h | 70 +++ dlls/winex11.drv/vulkan.c | 77 +++- include/wine/vulkan.h | 952 ++++++++++++++++++++++------------------ include/wine/vulkan_driver.h | 9 +- 12 files changed, 1340 insertions(+), 445 deletions(-) create mode 100644 dlls/vulkan-1/Makefile.in create mode 100644 dlls/vulkan-1/version.rc create mode 100644 dlls/vulkan-1/vulkan-1.spec create mode 100644 dlls/vulkan-1/vulkan.c