Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- include/private/vkd3d_common.h | 44 +++++++++++++++++++++++++++++++++ libs/vkd3d/device.c | 45 ---------------------------------- 2 files changed, 44 insertions(+), 45 deletions(-)
diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index 52ec6cce4..a85bc6d69 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -250,4 +250,48 @@ static inline void vkd3d_parse_version(const char *version, int *major, int *min
HRESULT hresult_from_vkd3d_result(int vkd3d_result);
+#ifdef HAVE_DLFCN_H +#include <dlfcn.h> + +static inline void *vkd3d_dlopen(const char *name) +{ + return dlopen(name, RTLD_NOW); +} + +static inline void *vkd3d_dlsym(void *handle, const char *symbol) +{ + return dlsym(handle, symbol); +} + +static inline int vkd3d_dlclose(void *handle) +{ + return dlclose(handle); +} + +static inline const char *vkd3d_dlerror(void) +{ + return dlerror(); +} +#else +static inline void *vkd3d_dlopen(const char *name) +{ + return NULL; +} + +static inline void *vkd3d_dlsym(void *handle, const char *symbol) +{ + return NULL; +} + +static inline int vkd3d_dlclose(void *handle) +{ + return 0; +} + +static inline const char *vkd3d_dlerror(void) +{ + return "Not implemented for this platform.\n"; +} +#endif + #endif /* __VKD3D_COMMON_H */ diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index d23062d09..31dcb5d3a 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -19,51 +19,6 @@ #include "vkd3d_private.h" #include "vkd3d_version.h"
-#ifdef HAVE_DLFCN_H -#include <dlfcn.h> - -static void *vkd3d_dlopen(const char *name) -{ - return dlopen(name, RTLD_NOW); -} - -static void *vkd3d_dlsym(void *handle, const char *symbol) -{ - return dlsym(handle, symbol); -} - -static int vkd3d_dlclose(void *handle) -{ - return dlclose(handle); -} - -static const char *vkd3d_dlerror(void) -{ - return dlerror(); -} -#else -static void *vkd3d_dlopen(const char *name) -{ - FIXME("Not implemented for this platform.\n"); - return NULL; -} - -static void *vkd3d_dlsym(void *handle, const char *symbol) -{ - return NULL; -} - -static int vkd3d_dlclose(void *handle) -{ - return 0; -} - -static const char *vkd3d_dlerror(void) -{ - return "Not implemented for this platform.\n"; -} -#endif - struct vkd3d_struct { enum vkd3d_structure_type type;
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- include/private/vkd3d_common.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index a85bc6d69..349b1acf6 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -27,6 +27,7 @@ #include <limits.h> #include <stdbool.h> #include <stdint.h> +#include <stdio.h>
#ifdef _MSC_VER #include <intrin.h> @@ -250,7 +251,33 @@ static inline void vkd3d_parse_version(const char *version, int *major, int *min
HRESULT hresult_from_vkd3d_result(int vkd3d_result);
-#ifdef HAVE_DLFCN_H +#ifdef _WIN32 +static inline void *vkd3d_dlopen(const char *name) +{ + return LoadLibraryA(name); +} + +static inline void *vkd3d_dlsym(void *handle, const char *symbol) +{ + return GetProcAddress(handle, symbol); +} + +static inline int vkd3d_dlclose(void *handle) +{ + return FreeLibrary(handle); +} + +static inline const char *vkd3d_dlerror(void) +{ + unsigned int error = GetLastError(); + static char message[256]; + + if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, error, 0, message, sizeof(message), NULL)) + return message; + sprintf(message, "Unknown error %u.\n", error); + return message; +} +#elif defined(HAVE_DLFCN_H) #include <dlfcn.h>
static inline void *vkd3d_dlopen(const char *name)
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
We would like to allow overriding the soname of libvulkan, in which case the tests and demos should respect that override.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- Makefile.am | 2 +- demos/demo_xcb.h | 15 +++++++++++++++ tests/vulkan_procs.h | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am index ed881ffa1..6a4cba449 100644 --- a/Makefile.am +++ b/Makefile.am @@ -325,7 +325,7 @@ endif EXTRA_DIST += $(vkd3d_shader_tests)
if BUILD_DEMOS -DEMOS_LDADD = $(LDADD) libvkd3d-shader.la @DEMO_LIBS@ @VULKAN_LIBS@ +DEMOS_LDADD = $(LDADD) libvkd3d-shader.la @DL_LIBS@ @DEMO_LIBS@ DEMOS_CFLAGS = $(AM_CFLAGS) @DEMO_CFLAGS@ bin_PROGRAMS += $(vkd3d_demos)
diff --git a/demos/demo_xcb.h b/demos/demo_xcb.h index d8be00f03..e8c6553d8 100644 --- a/demos/demo_xcb.h +++ b/demos/demo_xcb.h @@ -17,6 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#define VK_NO_PROTOTYPES #define VK_USE_PLATFORM_XCB_KHR #define VKD3D_UTILS_API_VERSION VKD3D_API_VERSION_1_3 #include <vkd3d.h> @@ -29,6 +30,13 @@ #include <unistd.h> #include <fcntl.h> #include <stdbool.h> +#include "vkd3d_common.h" + +#define DECLARE_VK_PFN(name) PFN_##name name; +DECLARE_VK_PFN(vkCreateInstance); +#define VK_INSTANCE_PFN DECLARE_VK_PFN +#define VK_DEVICE_PFN DECLARE_VK_PFN +#include "../tests/vulkan_procs.h"
struct demo { @@ -329,6 +337,13 @@ static inline struct demo_swapchain *demo_swapchain_create(ID3D12CommandQueue *c VkDevice vk_device; VkImage *vk_images; VkFormat format; + void *libvulkan; + + if (!(libvulkan = vkd3d_dlopen(SONAME_LIBVULKAN))) + { + fprintf(stderr, "Failed to load %s: %s.\n", SONAME_LIBVULKAN, vkd3d_dlerror()); + exit(1); + }
if ((format = vkd3d_get_vk_format(desc->format)) == VK_FORMAT_UNDEFINED) return NULL; diff --git a/tests/vulkan_procs.h b/tests/vulkan_procs.h index 8e205c1be..984cd5fa1 100644 --- a/tests/vulkan_procs.h +++ b/tests/vulkan_procs.h @@ -42,9 +42,13 @@ VK_INSTANCE_PFN(vkGetPhysicalDeviceFeatures) VK_INSTANCE_PFN(vkGetPhysicalDeviceFormatProperties) VK_INSTANCE_PFN(vkGetPhysicalDeviceMemoryProperties) VK_INSTANCE_PFN(vkGetPhysicalDeviceQueueFamilyProperties) +VK_INSTANCE_PFN(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) +VK_INSTANCE_PFN(vkGetPhysicalDeviceSurfaceFormatsKHR) +VK_INSTANCE_PFN(vkGetPhysicalDeviceSurfaceSupportKHR)
/* Device functions (obtained by vkGetDeviceProcAddr). */ VK_DEVICE_PFN(vkDestroyDevice) /* Load vkDestroyDevice() first. */ +VK_DEVICE_PFN(vkAcquireNextImageKHR) VK_DEVICE_PFN(vkAllocateCommandBuffers) VK_DEVICE_PFN(vkAllocateDescriptorSets) VK_DEVICE_PFN(vkAllocateMemory) @@ -67,6 +71,7 @@ VK_DEVICE_PFN(vkCreateBuffer) VK_DEVICE_PFN(vkCreateCommandPool) VK_DEVICE_PFN(vkCreateDescriptorPool) VK_DEVICE_PFN(vkCreateDescriptorSetLayout) +VK_DEVICE_PFN(vkCreateFence) VK_DEVICE_PFN(vkCreateFramebuffer) VK_DEVICE_PFN(vkCreateGraphicsPipelines) VK_DEVICE_PFN(vkCreateImage) @@ -75,10 +80,12 @@ VK_DEVICE_PFN(vkCreatePipelineLayout) VK_DEVICE_PFN(vkCreateRenderPass) VK_DEVICE_PFN(vkCreateSampler) VK_DEVICE_PFN(vkCreateShaderModule) +VK_DEVICE_PFN(vkCreateSwapchainKHR) VK_DEVICE_PFN(vkDestroyBuffer) VK_DEVICE_PFN(vkDestroyCommandPool) VK_DEVICE_PFN(vkDestroyDescriptorPool) VK_DEVICE_PFN(vkDestroyDescriptorSetLayout) +VK_DEVICE_PFN(vkDestroyFence) VK_DEVICE_PFN(vkDestroyFramebuffer) VK_DEVICE_PFN(vkDestroyImage) VK_DEVICE_PFN(vkDestroyImageView) @@ -87,18 +94,28 @@ VK_DEVICE_PFN(vkDestroyPipelineLayout) VK_DEVICE_PFN(vkDestroyRenderPass) VK_DEVICE_PFN(vkDestroySampler) VK_DEVICE_PFN(vkDestroyShaderModule) +VK_DEVICE_PFN(vkDestroySurfaceKHR) +VK_DEVICE_PFN(vkDestroySwapchainKHR) VK_DEVICE_PFN(vkEndCommandBuffer) VK_DEVICE_PFN(vkFreeCommandBuffers) VK_DEVICE_PFN(vkFreeMemory) VK_DEVICE_PFN(vkGetBufferMemoryRequirements) VK_DEVICE_PFN(vkGetDeviceQueue) VK_DEVICE_PFN(vkGetImageMemoryRequirements) +VK_DEVICE_PFN(vkGetSwapchainImagesKHR) VK_DEVICE_PFN(vkMapMemory) +VK_DEVICE_PFN(vkQueuePresentKHR) VK_DEVICE_PFN(vkQueueSubmit) VK_DEVICE_PFN(vkQueueWaitIdle) VK_DEVICE_PFN(vkResetDescriptorPool) +VK_DEVICE_PFN(vkResetFences) VK_DEVICE_PFN(vkUnmapMemory) VK_DEVICE_PFN(vkUpdateDescriptorSets) +VK_DEVICE_PFN(vkWaitForFences) + +#ifdef VK_USE_PLATFORM_XCB_KHR +VK_INSTANCE_PFN(vkCreateXcbSurfaceKHR) +#endif
#undef VK_INSTANCE_PFN #undef VK_INSTANCE_EXT_PFN
On Tue, 19 Apr 2022 at 03:44, Zebediah Figura zfigura@codeweavers.com wrote:
We would like to allow overriding the soname of libvulkan, in which case the tests and demos should respect that override.
[...]
@@ -29,6 +30,13 @@ #include <unistd.h> #include <fcntl.h> #include <stdbool.h> +#include "vkd3d_common.h"
+#define DECLARE_VK_PFN(name) PFN_##name name; +DECLARE_VK_PFN(vkCreateInstance); +#define VK_INSTANCE_PFN DECLARE_VK_PFN +#define VK_DEVICE_PFN DECLARE_VK_PFN +#include "../tests/vulkan_procs.h"
Including private vkd3d includes in the demos is a bit unfortunate though; we've been able to avoid that so far. Note that simply using dlopen() here would work fine; demo_xcb.h is already platform specific code. Besides, for the demos, the focus should be a bit more on being easy to understand than the rest of the code.
We would like to allow overriding the soname of libvulkan, in which case the tests and demos should respect that override.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- Makefile.am | 2 +- tests/vkd3d_api.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am index 6a4cba449..fea63eb51 100644 --- a/Makefile.am +++ b/Makefile.am @@ -314,7 +314,7 @@ tests_shader_runner_SOURCES = \ tests/shader_runner.c \ tests/shader_runner_d3d12.c \ tests/shader_runner_vulkan.c -tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@ +tests_vkd3d_api_LDADD = libvkd3d.la @DL_LIBS@ tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la SHADER_TEST_LOG_COMPILER = tests/shader_runner XFAIL_TESTS = \ diff --git a/tests/vkd3d_api.c b/tests/vkd3d_api.c index 8195c0673..ab266c4b4 100644 --- a/tests/vkd3d_api.c +++ b/tests/vkd3d_api.c @@ -16,6 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#define VK_NO_PROTOTYPES #define COBJMACROS #define INITGUID #define WIDL_C_INLINE_WRAPPERS @@ -24,6 +25,13 @@
#include "d3d12_test_utils.h"
+#define DECLARE_VK_PFN(name) static PFN_##name name; +DECLARE_VK_PFN(vkEnumerateInstanceExtensionProperties) +DECLARE_VK_PFN(vkGetInstanceProcAddr) +#define VK_INSTANCE_PFN DECLARE_VK_PFN +#define VK_DEVICE_PFN DECLARE_VK_PFN +#include "vulkan_procs.h" + HRESULT WINAPI D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc, D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob) { @@ -1180,6 +1188,21 @@ static bool have_d3d12_device(void)
START_TEST(vkd3d_api) { + void *libvulkan; + + if (!(libvulkan = vkd3d_dlopen(SONAME_LIBVULKAN))) + { + skip("Failed to load %s: %s.\n", SONAME_LIBVULKAN, vkd3d_dlerror()); + return; + } + +#define LOAD_VK_PFN(name) name = vkd3d_dlsym(libvulkan, #name); +LOAD_VK_PFN(vkEnumerateInstanceExtensionProperties) +LOAD_VK_PFN(vkGetInstanceProcAddr) +#define VK_DEVICE_PFN LOAD_VK_PFN +#define VK_INSTANCE_PFN LOAD_VK_PFN +#include "vulkan_procs.h" + if (!have_d3d12_device()) { skip("D3D12 device cannot be created.\n");
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
We would like to allow overriding the soname of libvulkan, in which case the tests and demos should respect that override.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- Makefile.am | 2 +- tests/shader_runner_vulkan.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am index fea63eb51..f7566d4b9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -309,7 +309,7 @@ TESTS = $(vkd3d_tests) $(vkd3d_cross_tests) $(vkd3d_shader_tests) tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ @VULKAN_LIBS@ tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@ tests_hlsl_d3d12_LDADD = $(LDADD) @VULKAN_LIBS@ -tests_shader_runner_LDADD = $(LDADD) @VULKAN_LIBS@ +tests_shader_runner_LDADD = $(LDADD) @VULKAN_LIBS@ @DL_LIBS@ tests_shader_runner_SOURCES = \ tests/shader_runner.c \ tests/shader_runner_d3d12.c \ diff --git a/tests/shader_runner_vulkan.c b/tests/shader_runner_vulkan.c index 4a30ea85d..5d4b65cff 100644 --- a/tests/shader_runner_vulkan.c +++ b/tests/shader_runner_vulkan.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#define VK_NO_PROTOTYPES #include "config.h" #include "vulkan/vulkan.h" #include "vkd3d_shader.h" @@ -45,6 +46,8 @@ static struct vulkan_resource *vulkan_resource(struct resource *r)
#define DECLARE_VK_PFN(name) PFN_##name name;
+DECLARE_VK_PFN(vkGetInstanceProcAddr) + struct vulkan_shader_runner { struct shader_runner r; @@ -984,8 +987,16 @@ static bool init_vulkan_runner(struct vulkan_shader_runner *runner) VkFormatProperties format_props; uint32_t count, graphics_index; VkDevice device; + void *libvulkan; VkResult vr;
+ if (!(libvulkan = vkd3d_dlopen(SONAME_LIBVULKAN))) + { + skip("Failed to load %s: %s.\n", SONAME_LIBVULKAN, vkd3d_dlerror()); + return false; + } + vkGetInstanceProcAddr = vkd3d_dlsym(libvulkan, "vkGetInstanceProcAddr"); + runner->vkCreateInstance = (void *)vkGetInstanceProcAddr(NULL, "vkCreateInstance");
if ((vr = VK_CALL(vkCreateInstance(&instance_desc, NULL, &runner->instance))) < 0)
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
We would like to allow overriding the soname of libvulkan, in which case the tests and demos should respect that override.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- Makefile.am | 8 ++++---- tests/d3d12_crosstest.h | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am index f7566d4b9..2da441c6e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -306,10 +306,10 @@ TEST_EXTENSIONS = .shader_test if BUILD_TESTS check_PROGRAMS = $(vkd3d_tests) $(vkd3d_cross_tests) tests/shader_runner TESTS = $(vkd3d_tests) $(vkd3d_cross_tests) $(vkd3d_shader_tests) -tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ @VULKAN_LIBS@ -tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@ -tests_hlsl_d3d12_LDADD = $(LDADD) @VULKAN_LIBS@ -tests_shader_runner_LDADD = $(LDADD) @VULKAN_LIBS@ @DL_LIBS@ +tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ @DL_LIBS@ +tests_d3d12_invalid_usage_LDADD = $(LDADD) @DL_LIBS@ +tests_hlsl_d3d12_LDADD = $(LDADD) @DL_LIBS@ +tests_shader_runner_LDADD = $(LDADD) @DL_LIBS@ tests_shader_runner_SOURCES = \ tests/shader_runner.c \ tests/shader_runner_d3d12.c \ diff --git a/tests/d3d12_crosstest.h b/tests/d3d12_crosstest.h index fc761809a..e6dc7a6c9 100644 --- a/tests/d3d12_crosstest.h +++ b/tests/d3d12_crosstest.h @@ -39,6 +39,7 @@ typedef int HRESULT; #endif
+#define VK_NO_PROTOTYPES #define COBJMACROS #define CONST_VTABLE #define INITGUID @@ -419,6 +420,11 @@ static inline bool is_depth_clip_enable_supported(ID3D12Device *device)
#else
+#define DECLARE_VK_PFN(name) static PFN_##name name; +DECLARE_VK_PFN(vkGetInstanceProcAddr) +#define VK_INSTANCE_PFN DECLARE_VK_PFN +#include "vulkan_procs.h" + static bool check_device_extension(VkPhysicalDevice vk_physical_device, const char *name) { VkExtensionProperties *properties; @@ -585,8 +591,20 @@ static void init_adapter_info(void) VkPhysicalDeviceDriverPropertiesKHR driver_properties; struct vkd3d_instance *instance; ID3D12Device *device; + void *libvulkan; HRESULT hr;
+ if (!(libvulkan = vkd3d_dlopen(SONAME_LIBVULKAN))) + { + skip("Failed to load %s: %s.\n", SONAME_LIBVULKAN, vkd3d_dlerror()); + return; + } + +#define LOAD_VK_PFN(name) name = vkd3d_dlsym(libvulkan, #name); +LOAD_VK_PFN(vkGetInstanceProcAddr) +#define VK_INSTANCE_PFN LOAD_VK_PFN +#include "vulkan_procs.h" + if (FAILED(hr = create_vkd3d_instance(&instance))) return;
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- configure.ac | 1 - m4/check-vulkan.m4 | 16 ++++++---------- 2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac index 15ec60de5..1885edffb 100644 --- a/configure.ac +++ b/configure.ac @@ -113,7 +113,6 @@ case $host_os in ;; esac
-AC_ARG_VAR([VULKAN_LIBS], [linker flags for the Vulkan library]) VKD3D_CHECK_VULKAN
AS_IF([test "x$with_ncurses" != "xno"], diff --git a/m4/check-vulkan.m4 b/m4/check-vulkan.m4 index 756f61a0e..b2c3f8a12 100644 --- a/m4/check-vulkan.m4 +++ b/m4/check-vulkan.m4 @@ -1,16 +1,12 @@ dnl VKD3D_CHECK_VULKAN AC_DEFUN([VKD3D_CHECK_VULKAN],[ -VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr], - [VULKAN_LIBS="$VULKAN_LIBS -lvulkan"], +VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr],, [VKD3D_CHECK_SONAME([vulkan-1], [vkGetInstanceProcAddr], - [VULKAN_LIBS="$VULKAN_LIBS -lvulkan-1" - AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN], ["$ac_cv_lib_soname_vulkan_1"])], + [AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN], ["$ac_cv_lib_soname_vulkan_1"])], [VKD3D_CHECK_SONAME([MoltenVK], [vkGetInstanceProcAddr], - [VULKAN_LIBS="$VULKAN_LIBS -lMoltenVK" - AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN], + [AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN], ["$ac_cv_lib_soname_MoltenVK"])], - [AC_MSG_ERROR([libvulkan and libMoltenVK not found.])], - [$VULKAN_LIBS])], - [$VULKAN_LIBS])], - [$VULKAN_LIBS]) + [AC_MSG_ERROR([libvulkan and libMoltenVK not found.])]) + ]) + ]) ])
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=112791
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: configure.ac:113 Task: Patch failed to apply
=== debian11 (build log) ===
error: patch failed: configure.ac:113 Task: Patch failed to apply
This makes cross-compiling easier, by avoiding the need to build the Vulkan loader.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- configure.ac | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac index 1885edffb..6f774f94c 100644 --- a/configure.ac +++ b/configure.ac @@ -113,7 +113,10 @@ case $host_os in ;; esac
-VKD3D_CHECK_VULKAN +AC_ARG_VAR([SONAME_LIBVULKAN], [shared object name for the Vulkan library]) +AS_IF([test "x$SONAME_LIBVULKAN" = "x"], + [VKD3D_CHECK_VULKAN], + [AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN],["$SONAME_LIBVULKAN"],[Define to the shared object name of the Vulkan library.])])
AS_IF([test "x$with_ncurses" != "xno"], [PKG_CHECK_MODULES([NCURSES], [ncurses],
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=112792
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: configure.ac:113 error: patch failed: configure.ac:113 Task: Patch failed to apply
=== debian11 (build log) ===
error: patch failed: configure.ac:113 error: patch failed: configure.ac:113 Task: Patch failed to apply