=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: build: Improve SPIR-V headers detection.
Alexandre Julliard
julliard at winehq.org
Mon Apr 16 15:25:58 CDT 2018
Module: vkd3d
Branch: master
Commit: b901d72877389f11ab8e2bea7f158174c9466b6b
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=b901d72877389f11ab8e2bea7f158174c9466b6b
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Mon Apr 16 12:16:23 2018 +0200
build: Improve SPIR-V headers detection.
Allows building with Vulkan SDK.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure.ac | 12 +++++++++---
libs/vkd3d-shader/spirv.c | 19 +++++++++++++------
2 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/configure.ac b/configure.ac
index 820783a..2b8249e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -48,11 +48,17 @@ VKD3D_CHECK_MINGW32_PROG([CROSSCC32], [CROSSTARGET32], [no])
VKD3D_CHECK_MINGW64_PROG([CROSSCC64], [CROSSTARGET64], [no])
dnl Check for headers
-AC_CHECK_HEADERS([pthread.h vulkan/vulkan.h spirv/unified1/spirv.h spirv/unified1/GLSL.std.450.h])
+AC_CHECK_HEADERS([pthread.h vulkan/vulkan.h \
+ vulkan/spirv.h vulkan/GLSL.std.450.h \
+ spirv/unified1/spirv.h spirv/unified1/GLSL.std.450.h])
AS_IF([test "x$ac_cv_header_pthread_h" != "xyes"], [AC_MSG_ERROR([pthread.h not found.])])
AS_IF([test "x$ac_cv_header_vulkan_vulkan_h" != "xyes"], [AC_MSG_ERROR([vulkan.h not found.])])
-AS_IF([test "x$ac_cv_header_spirv_unified1_spirv_h" != "xyes"], [AC_MSG_ERROR([spirv.h not found.])])
-AS_IF([test "x$ac_cv_header_spirv_unified1_GLSL_std_450_h" != "xyes"], [AC_MSG_ERROR([GLSL.std.450.h not found.])])
+AS_IF([test "x$ac_cv_header_spirv_unified1_spirv_h" != "xyes" \
+ -a "x$ac_cv_header_vulkan_spirv_h" != "xyes"],
+ [AC_MSG_ERROR([spirv.h not found.])])
+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.])])
dnl Check for libraries
m4_ifdef([PKG_PROG_PKG_CONFIG], [PKG_PROG_PKG_CONFIG], [m4_fatal([pkg-config autoconf macros not found.])])
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 8a1fdf4..f646d54 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -21,13 +21,20 @@
#include <stdarg.h>
#include <stdio.h>
-#include "spirv/unified1/spirv.h"
-#include "spirv/unified1/GLSL.std.450.h"
-#ifdef HAVE_SPIRV_TOOLS
-# include "spirv-tools/libspirv.h"
-#endif /* HAVE_SPIRV_TOOLS */
+
+#ifdef HAVE_SPIRV_UNIFIED1_SPIRV_H
+# include "spirv/unified1/spirv.h"
+#else
+# include "vulkan/spirv.h"
+#endif /* HAVE_SPIRV_UNIFIED1_SPIRV_H */
+#ifdef HAVE_SPIRV_UNIFIED1_GLSL_STD_450_H
+# include "spirv/unified1/GLSL.std.450.h"
+#else
+# include "vulkan/GLSL.std.450.h"
+#endif /* HAVE_SPIRV_UNIFIED1_GLSL_STD_450_H */
#ifdef HAVE_SPIRV_TOOLS
+# include "spirv-tools/libspirv.h"
static void vkd3d_spirv_dump(const struct vkd3d_shader_code *spirv)
{
@@ -85,7 +92,7 @@ static void vkd3d_spirv_validate(const struct vkd3d_shader_code *spirv)
static void vkd3d_spirv_dump(const struct vkd3d_shader_code *spirv) {}
static void vkd3d_spirv_validate(const struct vkd3d_shader_code *spirv) {}
-#endif /* HAVE_SPIRV_TOOLS */
+#endif /* HAVE_SPIRV_TOOLS */
#define VKD3D_SPIRV_VERSION 0x00010000
#define VKD3D_SPIRV_GENERATOR_ID 18
More information about the wine-cvs
mailing list