This patch requires the usage of vulkan-headers >= 1.1.126, so you should probably add a patch somewhere in the lines of: --- README | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README b/README index 3c70ede..16535f4 100644 --- a/README +++ b/README @@ -9,7 +9,7 @@ similar, but not identical, to Direct3D 12. Building vkd3d ============== -Vkd3d depends on SPIRV-Headers and Vulkan-Headers (>= 1.1.113). +Vkd3d depends on SPIRV-Headers and Vulkan-Headers (>= 1.1.126). Vkd3d generates some of its headers from IDL files. If you are using the release tarballs, then these headers are pre-generated and are included. If diff --git a/configure.ac b/configure.ac index 355aaab..7ff3207 100644 --- a/configure.ac +++ b/configure.ac @@ -69,7 +69,7 @@ AS_IF([test "x$ac_cv_header_spirv_unified1_GLSL_std_450_h" != "xyes" \ -a "x$ac_cv_header_vulkan_GLSL_std_450_h" != "xyes"], [AC_MSG_ERROR([GLSL.std.450.h not found.])]) -VKD3D_CHECK_VULKAN_HEADER_VERSION([113], [AC_MSG_ERROR([Vulkan headers are too old, 1.1.113 is required.])]) +VKD3D_CHECK_VULKAN_HEADER_VERSION([126], [AC_MSG_ERROR([Vulkan headers are too old, 1.1.126 is required.])]) AC_CHECK_DECL([SpvCapabilityDemoteToHelperInvocationEXT],, [AC_MSG_ERROR([SPIR-V headers are too old.])], [ #ifdef HAVE_SPIRV_UNIFIED1_SPIRV_H -- 2.17.1 Sveinar On 15.12.2019 15:57, Sveinar Søpler wrote:
On 13.12.2019 17:25, Sveinar Søpler wrote:
On 12.12.2019 20:02, Rémi Bernon wrote:
+ + timeline_semaphore = &info->timeline_semaphore_properties; + TRACE(" VkPhysicalDeviceTimelineSemaphorePropertiesKHR:\n"); + TRACE(" maxTimelineSemaphoreValueDifference: %u.\n", timeline_semaphore->maxTimelineSemaphoreValueDifference);
Should it be %lu? (Atleast seems to compile fine when changed to %lu.)
libs/vkd3d/device.c:1039:11: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘const long unsigned int’} [-Wformat=] 1039 | TRACE(" maxTimelineSemaphoreValueDifference: %u.\n", timeline_semaphore->maxTimelineSemaphoreValueDifference); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | uint64_t {aka const long unsigned int}
Or rather it could be:
+ + timeline_semaphore = &info->timeline_semaphore_properties; + TRACE(" VkPhysicalDeviceTimelineSemaphorePropertiesKHR:\n"); + TRACE(" maxTimelineSemaphoreValueDifference: %" PRIu64 ".\n", timeline_semaphore->maxTimelineSemaphoreValueDifference); }
since it seems as "compile fine" was not correct for 32-bit... 64-bit was fine with %lu, but 32-bit seems to want this to be %llu. For some reason uint64_t is "long unsigned int" for 64-bit and "long long unsigned int" for 32-bit for my compiler. Dunno if this is some weird "ubuntu spesific" thing, or actually correct?
Sveinar