That function exists on Mac, but it only takes a single argument, the thread's new name. That's OK for our purposes, since we were calling it on pthread_self anyhow.
Signed-off-by: Chip Davis cdavis@codeweavers.com ---
Notes: Try 2: Pull the pthread_setname_np(3) call into a header.
Try 3: Detect which variant of pthread_setname_np(3) we have at configure time.
configure.ac | 28 ++++++++++++++++++++++++++++ libs/vkd3d/command.c | 4 +--- libs/vkd3d/vkd3d_private.h | 11 +++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac index 2773a15..973105b 100644 --- a/configure.ac +++ b/configure.ac @@ -94,6 +94,34 @@ VKD3D_CHECK_FUNC([HAVE_SYNC_ADD_AND_FETCH], [__sync_add_and_fetch], [__sync_add_ VKD3D_CHECK_FUNC([HAVE_SYNC_SUB_AND_FETCH], [__sync_sub_and_fetch], [__sync_sub_and_fetch((int *)0, 0)])
VKD3D_CHECK_LIB_FUNCS([pthread_setname_np], [$PTHREAD_LIBS]) +AS_IF([test "x$ac_cv_func_pthread_setname_np" = xyes], + [AC_MSG_CHECKING([which variant of pthread_setname_np is present]) + AC_CACHE_VAL([vkd3d_cv_pthread_setname_np_variant], + [vkd3d_cv_pthread_setname_np_variant=unknown + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [#ifdef HAVE_PTHREAD_H + #include <pthread.h> + #endif + ], + [pthread_setname_np(pthread_self(), "conftest");])], + [vkd3d_cv_pthread_setname_np_variant=twoarg], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [#ifdef HAVE_PTHREAD_H + #include <pthread.h> + #endif + ], + [pthread_setname_np("conftest");])], + [vkd3d_cv_pthread_setname_np_variant=onearg])])]) + AS_CASE(["$vkd3d_cv_pthread_setname_np_variant"], + [onearg], + [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_ONEARG], [1], + [Define to 1 if you have the version of pthread_setname_np(3) that only accepts a name.]) + AC_MSG_RESULT([name only])], + [twoarg], + [AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_TWOARG], [1], + [Define to 1 if you have the version of pthread_setname_np(3) that accepts a pthread handle and name.]) + AC_MSG_RESULT([pthread handle and name])], + [AC_MSG_RESULT([unknown])])])
AM_CONDITIONAL([HAVE_WIDL], [test "x$WIDL" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"]) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 4db9967..042d2f1 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -199,9 +199,7 @@ static void *vkd3d_fence_worker_main(void *arg) struct vkd3d_fence_worker *worker = arg; int rc;
-#ifdef HAVE_PTHREAD_SETNAME_NP - pthread_setname_np(pthread_self(), "vkd3d_worker"); -#endif + vkd3d_set_thread_name("vkd3d_worker");
for (;;) { diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 8efb930..ca9fbaf 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -86,6 +86,17 @@ struct vkd3d_vulkan_info VkPhysicalDeviceSparseProperties sparse_properties; };
+static inline void vkd3d_set_thread_name(const char *name) +{ +#ifdef HAVE_PTHREAD_SETNAME_NP +#ifdef HAVE_PTHREAD_SETNAME_NP_ONEARG + pthread_setname_np(name); +#elif defined(HAVE_PTHREAD_SETNAME_NP_TWOARG) + pthread_setname_np(pthread_self(), name); +#endif +#endif +} + struct vkd3d_instance { VkInstance vk_instance;
BSD sed(1) requires an argument after -i giving the suffix to put on the backup it makes. Also, the regular expression given doesn't seem to work for me. This command should work everywhere.
Signed-off-by: Chip Davis cdavis@codeweavers.com ---
Notes: Try 3: Remove possibly redundant and/or unsupported '-f' option. The definition of RM might already have it, or even be something (like the DEL command on Windows) which doesn't support it.
(As if anyone would want to build this on Windows... :)
Makefile.am | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL - $(VKD3D_V_WIDL)$(WIDL) -o $@ $< - sed -e '/#include <(rpc.h|rpcndr.h)>/d' -i $@ + $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $< + $(SED) -e '/#include <rpc.h>/d' -e '/#include <rpcndr.h>/d' <$@.tmp >$@ + $(RM) $@.tmp else echo "widl is required to generate $<" endif
Signed-off-by: Chip Davis cdavis@codeweavers.com --- Makefile.am | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 7299192..4ee92a1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -151,16 +151,16 @@ EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $< - $(SED) -e '/#include <rpc.h>/d' -e '/#include <rpcndr.h>/d' <$@.tmp >$@ - $(RM) $@.tmp + $(AM_V_at)$(SED) -e '/#include <rpc.h>/d' -e '/#include <rpcndr.h>/d' <$@.tmp >$@ + $(AM_V_at)$(RM) $@.tmp else - echo "widl is required to generate $<" + @echo "widl is required to generate $<" endif
EXTRA_DIST += $(vkd3d_demos_shaders)
libvkd3d-utils.pc: $(srcdir)/libs/vkd3d-utils/libvkd3d-utils.pc.in - sed -e 's![@]prefix[@]!$(prefix)!g' \ + $(AM_V_GEN)$(SED) -e 's![@]prefix[@]!$(prefix)!g' \ -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \ -e 's![@]includedir[@]!$(includedir)!g' \ -e 's![@]libdir[@]!$(libdir)!g' \ @@ -168,7 +168,7 @@ libvkd3d-utils.pc: $(srcdir)/libs/vkd3d-utils/libvkd3d-utils.pc.in $< > $@
libvkd3d.pc: $(srcdir)/libs/vkd3d/libvkd3d.pc.in - sed -e 's![@]prefix[@]!$(prefix)!g' \ + $(AM_V_GEN)$(SED) -e 's![@]prefix[@]!$(prefix)!g' \ -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \ -e 's![@]includedir[@]!$(includedir)!g' \ -e 's![@]libdir[@]!$(libdir)!g' \ @@ -176,7 +176,7 @@ libvkd3d.pc: $(srcdir)/libs/vkd3d/libvkd3d.pc.in $< > $@
libs/vkd3d_version.c: dummy-vkd3d-version - version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "vkd3d-$(PACKAGE_VERSION)") | sed -n -e '$$s/(.*)/const char vkd3d_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) + $(AM_V_GEN)version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "vkd3d-$(PACKAGE_VERSION)") | $(SED) -n -e '$$s/(.*)/const char vkd3d_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) .SILENT: libs/vkd3d_version.c CLEANFILES += libs/vkd3d_version.c
Signed-off-by: Chip Davis cdavis@codeweavers.com ---
Notes: Try 2: Only enable demos if XCB is present.
Makefile.am | 4 ++++ configure.ac | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am index 4ee92a1..42ec9e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -131,16 +131,20 @@ TESTS = $(vkd3d_tests) $(vkd3d_cross_tests) tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@
+if BUILD_DEMOS DEMOS_LDADD = $(LDADD) libvkd3d-shader.la @XCB_LIBS@ @VULKAN_LIBS@ DEMOS_CFLAGS = $(AM_CFLAGS) @XCB_CFLAGS@ noinst_PROGRAMS += $(vkd3d_demos) +endif EXTRA_DIST += $(vkd3d_test_headers) $(vkd3d_demos_headers)
+if BUILD_DEMOS demos_gears_CFLAGS = $(DEMOS_CFLAGS) demos_gears_LDADD = $(DEMOS_LDADD) -lm
demos_triangle_CFLAGS = $(DEMOS_CFLAGS) demos_triangle_LDADD = $(DEMOS_LDADD) +endif
VKD3D_V_WIDL = $(vkd3d_v_widl_@AM_V@) vkd3d_v_widl_ = $(vkd3d_v_widl_@AM_DEFAULT_V@) diff --git a/configure.ac b/configure.ac index 973105b..e4d0d24 100644 --- a/configure.ac +++ b/configure.ac @@ -85,7 +85,16 @@ AS_IF([test "x$with_spirv_tools" = "xyes"], [AC_DEFINE([HAVE_SPIRV_TOOLS], [1], [Define to 1 if you have SPIRV-Tools.]) HAVE_SPIRV_TOOLS=yes])])
-PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms]) +PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], + [AC_DEFINE([HAVE_XCB], [1], [Define to 1 if you have libxcb.]) + HAVE_XCB=yes]) + +AS_IF([test "x$HAVE_XCB" = xyes], + [enable_demos_default=yes], + [enable_demos_default=no]) +AC_ARG_ENABLE([demos], AS_HELP_STRING([--enable-demos], [Build demo programs]),, + [enable_demos=$enable_demos_default]) +AM_CONDITIONAL(BUILD_DEMOS, [test "x$enable_demos" != "xno"])
dnl Check for functions VKD3D_CHECK_FUNC([HAVE_BUILTIN_CLZ], [__builtin_clz], [__builtin_clz(0)])
Load this library instead of always loading libvulkan.so.1.
Signed-off-by: Chip Davis cdavis@codeweavers.com ---
Notes: I cribbed WINE_CHECK_SONAME for this.
configure.ac | 6 ++--- libs/vkd3d/device.c | 2 +- m4/check-soname.m4 | 55 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 m4/check-soname.m4
diff --git a/configure.ac b/configure.ac index e4d0d24..6eb8a76 100644 --- a/configure.ac +++ b/configure.ac @@ -75,9 +75,9 @@ AC_CHECK_LIB([pthread], [pthread_create], [AC_MSG_ERROR([libpthread not found.])])
AC_SUBST([VULKAN_LIBS]) -AC_CHECK_LIB([vulkan], [vkGetInstanceProcAddr], - [VULKAN_LIBS="-lvulkan"], - [AC_MSG_ERROR([libvulkan not found.])]) +VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr], + [VULKAN_LIBS="-lvulkan"], + [AC_MSG_ERROR([libvulkan not found.])])
HAVE_SPIRV_TOOLS=no AS_IF([test "x$with_spirv_tools" = "xyes"], diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 6fa0017..047c298 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -212,7 +212,7 @@ static HRESULT vkd3d_init_vk_global_procs(struct vkd3d_instance *instance,
if (!vkGetInstanceProcAddr) { - if (!(instance->libvulkan = dlopen("libvulkan.so.1", RTLD_NOW))) + if (!(instance->libvulkan = dlopen(SONAME_LIBVULKAN, RTLD_NOW))) { ERR("Failed to load libvulkan.\n"); return E_FAIL; diff --git a/m4/check-soname.m4 b/m4/check-soname.m4 new file mode 100644 index 0000000..94efc4b --- /dev/null +++ b/m4/check-soname.m4 @@ -0,0 +1,55 @@ +dnl +dnl Copyright 2002 Alexandre Julliard +dnl +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either +dnl version 2.1 of the License, or (at your option) any later version. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +dnl +dnl As a special exception to the GNU Lesser General Public License, +dnl if you distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it +dnl under the same distribution terms that you use for the rest of +dnl that program. + +dnl VKD3D_PATH_SONAME_TOOLS +AC_DEFUN([VKD3D_PATH_SONAME_TOOLS], +[AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH) +AC_CHECK_TOOL(OTOOL,otool,otool) +AC_CHECK_TOOL(READELF,[readelf],true)]) + +dnl VKD3D_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]]) +dnl +AC_DEFUN([VKD3D_CHECK_SONAME], +[AC_REQUIRE([VKD3D_PATH_SONAME_TOOLS])dnl +AS_VAR_PUSHDEF([ac_Lib],[ac_cv_lib_soname_$1])dnl +m4_pushdef([ac_lib_pattern],m4_default([$6],[lib$1]))dnl +AC_MSG_CHECKING([for -l$1]) +AC_CACHE_VAL(ac_Lib, +[ac_check_soname_save_LIBS=$LIBS + LIBS="-l$1 $5 $LIBS" + AC_LINK_IFELSE([AC_LANG_CALL([], [$2])], + [AS_CASE(["$host_os"], + [darwin*|macosx*], [AS_VAR_SET(ac_Lib,[`$OTOOL -L conftest$ac_exeext | grep "]ac_lib_pattern[\.[[0-9A-Za-z.]]*dylib" | sed -e "s/^.*/(]ac_lib_pattern[.[[0-9A-Za-z.]]*dylib).*$/\1/"';2,$d'`])], + [AS_VAR_SET(ac_Lib,[`$READELF -d conftest$ac_exeext | grep "NEEDED.*]ac_lib_pattern[\.$LIBEXT" | sed -e "s/^.*\m4_dquote(\(]ac_lib_pattern[\.$LIBEXT[[^ ]]*\)\).*$/\1/"';2,$d'`]) + AS_VAR_IF([ac_Lib],[], + [AS_VAR_SET(ac_Lib,[`$LDD conftest$ac_exeext | grep "]ac_lib_pattern[\.$LIBEXT" | sed -e "s/^.*(]ac_lib_pattern[.$LIBEXT[[^ ]]*).*$/\1/"';2,$d'`])])])]) + LIBS=$ac_check_soname_save_LIBS])dnl +AS_VAR_IF([ac_Lib],[], + [AC_MSG_RESULT([not found]) + $4], + [AC_MSG_RESULT(AS_VAR_GET(ac_Lib)) + AC_DEFINE_UNQUOTED(AS_TR_CPP(SONAME_LIB$1),["]AS_VAR_GET(ac_Lib)["], + [Define to the soname of the lib$1 library.]) + $3])dnl +m4_popdef([ac_lib_pattern])dnl +AS_VAR_POPDEF([ac_Lib])])
We need this to pull in <xcb/xcb.h>.
Signed-off-by: Chip Davis cdavis@codeweavers.com --- Makefile.am | 1 + 1 file changed, 1 insertion(+)
diff --git a/Makefile.am b/Makefile.am index 42ec9e7..e3912ee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -106,6 +106,7 @@ libvkd3d_utils_la_SOURCES = \ libs/vkd3d-utils/vkd3d_utils.map \ libs/vkd3d-utils/vkd3d_utils_main.c \ libs/vkd3d-utils/vkd3d_utils_private.h +libvkd3d_utils_la_CFLAGS = @XCB_CFLAGS@ libvkd3d_utils_la_LDFLAGS = -version-info 1:0:0 libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d.la if HAVE_LD_VERSION_SCRIPT
Signed-off-by: Chip Davis cdavis@codeweavers.com ---
Notes: Try 2: Drop support for the demos; they require Objective-C. Check for MoltenVK instead of if we're building for Mac. Check for the name of the library to load in configure.
Try 3: Allow for the possibility of supporting either MoltenVK or XCB. Check the soname of libvulkan in a previous change.
configure.ac | 11 ++++++++++- libs/vkd3d-utils/vkd3d_utils_main.c | 4 ++++ libs/vkd3d-utils/vkd3d_utils_private.h | 8 ++++++++ libs/vkd3d/device.c | 2 +- tests/vkd3d_api.c | 18 ++++++++++++++++++ 5 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac index 6eb8a76..36f248a 100644 --- a/configure.ac +++ b/configure.ac @@ -77,7 +77,10 @@ AC_CHECK_LIB([pthread], [pthread_create], AC_SUBST([VULKAN_LIBS]) VKD3D_CHECK_SONAME([vulkan], [vkGetInstanceProcAddr], [VULKAN_LIBS="-lvulkan"], - [AC_MSG_ERROR([libvulkan not found.])]) + [VKD3D_CHECK_SONAME([MoltenVK], [vkGetInstanceProcAddr], + [VULKAN_LIBS="-lMoltenVK" + AC_DEFINE_UNQUOTED([SONAME_LIBVULKAN],["$ac_cv_lib_soname_MoltenVK"])], + [AC_MSG_ERROR([libvulkan and libMoltenVK not found.])])])
HAVE_SPIRV_TOOLS=no AS_IF([test "x$with_spirv_tools" = "xyes"], @@ -89,6 +92,12 @@ PKG_CHECK_MODULES([XCB], [xcb xcb-keysyms], [AC_DEFINE([HAVE_XCB], [1], [Define to 1 if you have libxcb.]) HAVE_XCB=yes])
+AC_CHECK_HEADERS(MoltenVK/vk_mvk_moltenvk.h) +AS_CASE(["$host_os"], + [darwin*|macosx*], + [AS_IF([test "x$ac_cv_header_MoltenVK_vk_mvk_moltenvk_h" = "xno"], + [AC_MSG_ERROR([MoltenVK is required to use vkd3d on Mac OS.])])]) + AS_IF([test "x$HAVE_XCB" = xyes], [enable_demos_default=yes], [enable_demos_default=no]) diff --git a/libs/vkd3d-utils/vkd3d_utils_main.c b/libs/vkd3d-utils/vkd3d_utils_main.c index 2c4d89a..1504f20 100644 --- a/libs/vkd3d-utils/vkd3d_utils_main.c +++ b/libs/vkd3d-utils/vkd3d_utils_main.c @@ -34,7 +34,11 @@ HRESULT WINAPI D3D12CreateDevice(IUnknown *adapter, static const char * const instance_extensions[] = { VK_KHR_SURFACE_EXTENSION_NAME, +#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H + VK_MVK_MACOS_SURFACE_EXTENSION_NAME, +#elif defined(HAVE_XCB) VK_KHR_XCB_SURFACE_EXTENSION_NAME, +#endif }; static const char * const device_extensions[] = { diff --git a/libs/vkd3d-utils/vkd3d_utils_private.h b/libs/vkd3d-utils/vkd3d_utils_private.h index 6aa0df6..9f610b4 100644 --- a/libs/vkd3d-utils/vkd3d_utils_private.h +++ b/libs/vkd3d-utils/vkd3d_utils_private.h @@ -20,7 +20,15 @@ #define __VKD3D_UTILS_PRIVATE_H
#define VK_NO_PROTOTYPES + +#include "config.h" + +#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H +#define VK_USE_PLATFORM_MACOS_MVK +#endif +#ifdef HAVE_XCB #define VK_USE_PLATFORM_XCB_KHR +#endif
#include <pthread.h> #include <vkd3d.h> diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 047c298..4e5a9b0 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -214,7 +214,7 @@ static HRESULT vkd3d_init_vk_global_procs(struct vkd3d_instance *instance, { if (!(instance->libvulkan = dlopen(SONAME_LIBVULKAN, RTLD_NOW))) { - ERR("Failed to load libvulkan.\n"); + ERR("Failed to load libvulkan: %s\n", dlerror()); return E_FAIL; }
diff --git a/tests/vkd3d_api.c b/tests/vkd3d_api.c index e2d9d01..be27d9d 100644 --- a/tests/vkd3d_api.c +++ b/tests/vkd3d_api.c @@ -19,8 +19,12 @@ #define COBJMACROS #define INITGUID #define WIDL_C_INLINE_WRAPPERS +#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H +#define VK_USE_PLATFORM_MACOS_MVK +#else #define VK_USE_PLATFORM_XCB_KHR #define VK_USE_PLATFORM_XLIB_KHR +#endif #include "vkd3d_test.h" #include <vkd3d.h>
@@ -215,8 +219,13 @@ static void test_additional_instance_extensions(void) struct vulkan_extension extensions[] = { {VK_KHR_SURFACE_EXTENSION_NAME}, +#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H + {VK_MVK_MACOS_SURFACE_EXTENSION_NAME}, +#endif +#ifdef HAVE_XCB {VK_KHR_XCB_SURFACE_EXTENSION_NAME}, {VK_KHR_XLIB_SURFACE_EXTENSION_NAME}, +#endif };
const char *enabled_extensions[ARRAY_SIZE(extensions)]; @@ -249,6 +258,14 @@ static void test_additional_instance_extensions(void) if (!extensions[i].is_supported) continue;
+#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H + if (!strcmp(extensions[i].name, VK_MVK_MACOS_SURFACE_EXTENSION_NAME)) + { + pfn = vkGetInstanceProcAddr(vk_instance, "vkCreateMacOSSurfaceMVK"); + ok(pfn, "Failed to get proc addr for vkCreateMacOSSurfaceMVK.\n"); + } +#endif +#ifdef HAVE_XCB if (!strcmp(extensions[i].name, VK_KHR_XCB_SURFACE_EXTENSION_NAME)) { pfn = vkGetInstanceProcAddr(vk_instance, "vkCreateXcbSurfaceKHR"); @@ -259,6 +276,7 @@ static void test_additional_instance_extensions(void) pfn = vkGetInstanceProcAddr(vk_instance, "vkCreateXlibSurfaceKHR"); ok(pfn, "Failed to get proc addr for vkCreateXlibSurfaceKHR.\n"); } +#endif }
refcount = vkd3d_instance_decref(instance);
Hi,
While running your changed tests on Windows, 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=40522
Your paranoid android.
=== debian9 (build) === error: patch failed: configure.ac:94 error: patch failed: configure.ac:85 error: patch failed: configure.ac:75 error: patch failed: configure.ac:77 Task: Patch failed to apply
Hi,
While running your changed tests on Windows, 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=40521
Your paranoid android.
=== debian9 (build) === error: patch failed: configure.ac:94 error: patch failed: configure.ac:85 error: patch failed: configure.ac:75 Task: Patch failed to apply
Hi,
While running your changed tests on Windows, 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=40520
Your paranoid android.
=== debian9 (build) === error: patch failed: configure.ac:94 error: patch failed: configure.ac:85 Task: Patch failed to apply
On 8 August 2018 at 02:02, Chip Davis cdavis@codeweavers.com wrote:
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL
$(VKD3D_V_WIDL)$(WIDL) -o $@ $<
sed -e '/#include <\(rpc.h\|rpcndr.h\)>/d' -i $@
$(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $<
Actually, did you test these patches? This doesn't work unless you also pass -h to widl.
August 10, 2018 3:05 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 8 August 2018 at 02:02, Chip Davis cdavis@codeweavers.com wrote:
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL
- $(VKD3D_V_WIDL)$(WIDL) -o $@ $<
- sed -e '/#include <(rpc.h|rpcndr.h)>/d' -i $@
- $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $<
Actually, did you test these patches? This doesn't work unless you also pass -h to widl.
It was like that when I found it. (As you can see from the diff.) It seems to work for me.
Chip
August 10, 2018 3:10 PM, "Chip Davis" cdavis@codeweavers.com wrote:
August 10, 2018 3:05 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 8 August 2018 at 02:02, Chip Davis cdavis@codeweavers.com wrote:
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL
- $(VKD3D_V_WIDL)$(WIDL) -o $@ $<
- sed -e '/#include <(rpc.h|rpcndr.h)>/d' -i $@
- $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $<
Actually, did you test these patches? This doesn't work unless you also pass -h to widl.
It was like that when I found it. (As you can see from the diff.) It seems to work for me.
From the manpage:
-o, --output=name Set the name of the output file. When generating multiple output files, this sets only the base name of the file; the respective output files are then named name.h, name_p.c, etc. *If a full file name with extension is specified, only that file is gener- ated.* [emphasis added]
Chip
On 11 August 2018 at 00:40, Chip Davis cdavis@codeweavers.com wrote:
August 10, 2018 3:05 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 8 August 2018 at 02:02, Chip Davis cdavis@codeweavers.com wrote:
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL
- $(VKD3D_V_WIDL)$(WIDL) -o $@ $<
- sed -e '/#include <(rpc.h|rpcndr.h)>/d' -i $@
- $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $<
Actually, did you test these patches? This doesn't work unless you also pass -h to widl.
It was like that when I found it. (As you can see from the diff.) It seems to work for me.
-o without other options to specify what type of output to generate (i.e., "do_everything mode") tries to determine the type of output from the output filename suffix. If it can't, for example because the suffix is .tmp, -o is effectively ignored.
August 10, 2018 3:22 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 11 August 2018 at 00:40, Chip Davis cdavis@codeweavers.com wrote:
August 10, 2018 3:05 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 8 August 2018 at 02:02, Chip Davis cdavis@codeweavers.com wrote:
diff --git a/Makefile.am b/Makefile.am index 14f2d51..7299192 100644 --- a/Makefile.am +++ b/Makefile.am @@ -150,8 +150,9 @@ vkd3d_v_widl_1 = EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) $(widl_headers): %.h: %.idl if HAVE_WIDL
- $(VKD3D_V_WIDL)$(WIDL) -o $@ $<
- sed -e '/#include <(rpc.h|rpcndr.h)>/d' -i $@
- $(VKD3D_V_WIDL)$(WIDL) -o $@.tmp $<
Actually, did you test these patches? This doesn't work unless you also pass -h to widl.
It was like that when I found it. (As you can see from the diff.) It seems to work for me.
-o without other options to specify what type of output to generate (i.e., "do_everything mode") tries to determine the type of output from the output filename suffix. If it can't, for example because the suffix is .tmp, -o is effectively ignored.
Yeah, you're right. Will fix.
Chip
Hi,
While running your changed tests on Windows, 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=40519
Your paranoid android.
=== debian9 (build) === error: patch failed: configure.ac:94 Task: Patch failed to apply