From ac0bcd72226147406d802bdeacb816d5dc4b9b2d Mon Sep 17 00:00:00 2001 From: Jacek Konieczny Date: Wed, 23 Nov 2016 15:21:02 +0100 Subject: [PATCH] Version: 1.0.32.0, drop extra sources and icd - up to 1.0.32 - icd dropped, as it was useless and only pulled LunarGLASS and llvm - install layers to location used by 'make install' --- LunarGLASS-CMakeLists.patch | 12 -- always_xcb.patch | 16 +- demos_out_of_src.patch | 52 ++----- rpath.patch | 10 +- system_glslang_and_spirv-tools.patch | 21 +-- vktrace_wayland.patch | 78 ++++++---- vulkan-sdk.spec | 211 +++++++-------------------- 7 files changed, 140 insertions(+), 260 deletions(-) delete mode 100644 LunarGLASS-CMakeLists.patch diff --git a/LunarGLASS-CMakeLists.patch b/LunarGLASS-CMakeLists.patch deleted file mode 100644 index 2460853..0000000 --- a/LunarGLASS-CMakeLists.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -dur vulkan-sdk-1.0.3.0.orig/LunarGLASS/CMakeLists.txt vulkan-sdk-1.0.3.0/LunarGLASS/CMakeLists.txt ---- vulkan-sdk-1.0.3.0.orig/LunarGLASS/CMakeLists.txt 2016-02-20 01:27:02.000000000 +0100 -+++ vulkan-sdk-1.0.3.0/LunarGLASS/CMakeLists.txt 2016-02-24 13:49:27.000000000 +0100 -@@ -49,7 +49,7 @@ - # Get system library dependencies from llvm-config. - execute_process(COMMAND ${LLVM_BUILD}/install/usr/local/bin/llvm-config --ldflags OUTPUT_VARIABLE LLVM_LD_FLAGS) - # Convert to a list of link flags. -- string(REPLACE " " ";" LLVM_LD_FLAGS_LIST ${LLVM_LD_FLAGS}) -+ string(REPLACE " " ";" LLVM_LD_FLAGS_LIST "${LLVM_LD_FLAGS}") - foreach(LIB ${LLVM_LD_FLAGS_LIST}) - if (${LIB} MATCHES "^-l") - # Get the library's name. diff --git a/always_xcb.patch b/always_xcb.patch index 6ea3dd8..836378c 100644 --- a/always_xcb.patch +++ b/always_xcb.patch @@ -1,11 +1,11 @@ -diff -dur vulkan-sdk-1.0.8.0.orig/VulkanTools/CMakeLists.txt vulkan-sdk-1.0.8.0/VulkanTools/CMakeLists.txt ---- vulkan-sdk-1.0.8.0.orig/VulkanTools/CMakeLists.txt 2016-04-08 17:38:54.448725526 +0200 -+++ vulkan-sdk-1.0.8.0/VulkanTools/CMakeLists.txt 2016-04-08 17:39:26.630546234 +0200 -@@ -44,6 +44,7 @@ - add_definitions(-DVK_USE_PLATFORM_MIR_KHR) - set(DisplayServer Mir) +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/CMakeLists.txt VulkanTools-sdk-1.0.32.0/CMakeLists.txt +--- VulkanTools-sdk-1.0.32.0.orig/CMakeLists.txt 2016-11-23 14:19:14.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/CMakeLists.txt 2016-11-23 14:19:30.000000000 +0100 +@@ -186,6 +186,7 @@ + set (SPIRV_TOOLS_SEARCH_PATH "${EXTERNAL_SOURCE_ROOT}/spirv-tools/${BUILDTGT_DIR}/source/${RELEASE_DECORATION}") + set (SPIRV_TOOLS_DEBUG_SEARCH_PATH "${EXTERNAL_SOURCE_ROOT}/spirv-tools/${BUILDTGT_DIR}/source/${DEBUG_DECORATION}") endif() + set(DisplayServer Xcb) else() - message(FATAL_ERROR "Unsupported Platform!") - endif() + #non windows + if(CUSTOM_GLSLANG_BIN_ROOT) diff --git a/demos_out_of_src.patch b/demos_out_of_src.patch index fb57dae..dc3fc5b 100644 --- a/demos_out_of_src.patch +++ b/demos_out_of_src.patch @@ -1,25 +1,25 @@ -diff -dur vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/cube.c vulkan-sdk-1.0.3.0/VulkanTools/demos/cube.c ---- vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/cube.c 2016-02-22 22:02:54.000000000 +0100 -+++ vulkan-sdk-1.0.3.0/VulkanTools/demos/cube.c 2016-02-25 08:15:38.000000000 +0100 -@@ -28,6 +28,8 @@ - * Author: Jon Ashburn - */ +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/demos/cube.c VulkanTools-sdk-1.0.32.0/demos/cube.c +--- VulkanTools-sdk-1.0.32.0.orig/demos/cube.c 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/demos/cube.c 2016-11-23 14:16:34.000000000 +0100 +@@ -23,6 +23,8 @@ + * Author: Tony Barbour + */ +#define DEMO_DATA_DIR "/usr/share/vulkan-sdk-demos" + #define _GNU_SOURCE #include #include -@@ -115,7 +117,7 @@ +@@ -134,7 +136,7 @@ int32_t tex_width, tex_height; }; -static char *tex_files[] = {"lunarg.ppm"}; +static char *tex_files[] = {DEMO_DATA_DIR "/lunarg.ppm"}; - struct vkcube_vs_uniform { - // Must start with MVP -@@ -1478,7 +1480,7 @@ + static int validation_error = 0; + +@@ -1662,7 +1664,7 @@ void *vertShaderCode; size_t size; @@ -28,7 +28,7 @@ diff -dur vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/cube.c vulkan-sdk-1.0.3.0/Vu demo->vert_shader_module = demo_prepare_shader_module(demo, vertShaderCode, size); -@@ -1492,7 +1494,7 @@ +@@ -1687,7 +1689,7 @@ void *fragShaderCode; size_t size; @@ -37,33 +37,3 @@ diff -dur vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/cube.c vulkan-sdk-1.0.3.0/Vu demo->frag_shader_module = demo_prepare_shader_module(demo, fragShaderCode, size); -diff -dur vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/tri.c vulkan-sdk-1.0.3.0/VulkanTools/demos/tri.c ---- vulkan-sdk-1.0.3.0.orig/VulkanTools/demos/tri.c 2016-02-22 22:02:54.000000000 +0100 -+++ vulkan-sdk-1.0.3.0/VulkanTools/demos/tri.c 2016-02-25 08:14:22.000000000 +0100 -@@ -35,6 +35,8 @@ - * should. It also does no error checking. - */ - -+#define DEMO_DATA_DIR "/usr/share/vulkan-sdk-demos" -+ - #ifndef _MSC_VER - #define _ISOC11_SOURCE /* for aligned_alloc() */ - #endif -@@ -1229,7 +1231,7 @@ - void *vertShaderCode; - size_t size; - -- vertShaderCode = demo_read_spv("tri-vert.spv", &size); -+ vertShaderCode = demo_read_spv(DEMO_DATA_DIR "/tri-vert.spv", &size); - - demo->vert_shader_module = - demo_prepare_shader_module(demo, vertShaderCode, size); -@@ -1243,7 +1245,7 @@ - void *fragShaderCode; - size_t size; - -- fragShaderCode = demo_read_spv("tri-frag.spv", &size); -+ fragShaderCode = demo_read_spv(DEMO_DATA_DIR "/tri-frag.spv", &size); - - demo->frag_shader_module = - demo_prepare_shader_module(demo, fragShaderCode, size); diff --git a/rpath.patch b/rpath.patch index 0c392c1..b832cb1 100644 --- a/rpath.patch +++ b/rpath.patch @@ -1,7 +1,7 @@ -diff -dur vulkan-sdk-1.0.8.0.orig/VulkanTools/layersvt/CMakeLists.txt vulkan-sdk-1.0.8.0/VulkanTools/layersvt/CMakeLists.txt ---- vulkan-sdk-1.0.8.0.orig/VulkanTools/layersvt/CMakeLists.txt 2016-04-07 18:04:06.000000000 +0200 -+++ vulkan-sdk-1.0.8.0/VulkanTools/layersvt/CMakeLists.txt 2016-04-08 18:41:00.779467329 +0200 -@@ -23,7 +23,7 @@ +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/layersvt/CMakeLists.txt VulkanTools-sdk-1.0.32.0/layersvt/CMakeLists.txt +--- VulkanTools-sdk-1.0.32.0.orig/layersvt/CMakeLists.txt 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/layersvt/CMakeLists.txt 2016-11-23 14:18:09.000000000 +0100 +@@ -30,7 +30,7 @@ VkLayer_screenshot ) @@ -9,4 +9,4 @@ diff -dur vulkan-sdk-1.0.8.0.orig/VulkanTools/layersvt/CMakeLists.txt vulkan-sdk +set(VK_LAYER_RPATH "${CMAKE_INSTALL_LIBDIR}/vulkan/layer") set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH}) - if (NOT WIN32) + if (WIN32) diff --git a/system_glslang_and_spirv-tools.patch b/system_glslang_and_spirv-tools.patch index 248f211..b02eb64 100644 --- a/system_glslang_and_spirv-tools.patch +++ b/system_glslang_and_spirv-tools.patch @@ -1,7 +1,7 @@ -diff -dur -x '*.orig' -x '*.rej' -x '*~' vulkan-sdk-1.0.17.0.orig/VulkanTools/CMakeLists.txt vulkan-sdk-1.0.17.0/VulkanTools/CMakeLists.txt ---- vulkan-sdk-1.0.17.0.orig/VulkanTools/CMakeLists.txt 2016-06-23 17:32:27.000000000 +0200 -+++ vulkan-sdk-1.0.17.0/VulkanTools/CMakeLists.txt 2016-07-14 10:51:13.000000000 +0200 -@@ -162,7 +162,7 @@ +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/CMakeLists.txt VulkanTools-sdk-1.0.32.0/CMakeLists.txt +--- VulkanTools-sdk-1.0.32.0.orig/CMakeLists.txt 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/CMakeLists.txt 2016-11-23 14:15:38.000000000 +0100 +@@ -189,7 +189,7 @@ else() #non windows if(CUSTOM_GLSLANG_BIN_ROOT) @@ -10,7 +10,7 @@ diff -dur -x '*.orig' -x '*.rej' -x '*~' vulkan-sdk-1.0.17.0.orig/VulkanTools/CM "${GLSLANG_BINARY_ROOT}/glslang" "${GLSLANG_BINARY_ROOT}/glslang/OSDependent/Unix" "${GLSLANG_BINARY_ROOT}/OGLCompilersDLL" -@@ -170,26 +170,27 @@ +@@ -197,26 +197,27 @@ "${GLSLANG_BINARY_ROOT}/hlsl" "${GLSLANG_BINARY_ROOT}/StandAlone") else() @@ -43,9 +43,9 @@ diff -dur -x '*.orig' -x '*.rej' -x '*~' vulkan-sdk-1.0.17.0.orig/VulkanTools/CM "${EXTERNAL_SOURCE_ROOT}/SPIRV-Tools/include" "${CMAKE_SOURCE_DIR}/../spirv-tools/include" "${CMAKE_SOURCE_DIR}/../SPIRV-Tools/include" -diff -dur -x '*.orig' -x '*.rej' -x '*~' vulkan-sdk-1.0.17.0.orig/VulkanTools/demos/smoke/CMakeLists.txt vulkan-sdk-1.0.17.0/VulkanTools/demos/smoke/CMakeLists.txt ---- vulkan-sdk-1.0.17.0.orig/VulkanTools/demos/smoke/CMakeLists.txt 2016-06-23 17:32:27.000000000 +0200 -+++ vulkan-sdk-1.0.17.0/VulkanTools/demos/smoke/CMakeLists.txt 2016-07-14 10:47:42.000000000 +0200 +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/demos/smoke/CMakeLists.txt VulkanTools-sdk-1.0.32.0/demos/smoke/CMakeLists.txt +--- VulkanTools-sdk-1.0.32.0.orig/demos/smoke/CMakeLists.txt 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/demos/smoke/CMakeLists.txt 2016-11-23 14:15:38.000000000 +0100 @@ -10,7 +10,7 @@ macro(glsl_to_spirv src) add_custom_command(OUTPUT ${src}.h @@ -55,8 +55,9 @@ diff -dur -x '*.orig' -x '*.rej' -x '*~' vulkan-sdk-1.0.17.0.orig/VulkanTools/de ) endmacro() ---- vulkan-sdk-1.0.17.0.orig/VulkanTools/demos/smoke/glsl-to-spirv 2016-06-23 17:32:27.000000000 +0200 -+++ vulkan-sdk-1.0.17.0/VulkanTools/demos/smoke/glsl-to-spirv 2016-07-14 10:47:42.000000000 +0200 +diff -dur -x '*.orig' VulkanTools-sdk-1.0.32.0.orig/demos/smoke/glsl-to-spirv VulkanTools-sdk-1.0.32.0/demos/smoke/glsl-to-spirv +--- VulkanTools-sdk-1.0.32.0.orig/demos/smoke/glsl-to-spirv 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/demos/smoke/glsl-to-spirv 2016-11-23 14:15:38.000000000 +0100 @@ -32,7 +32,7 @@ in_filename = sys.argv[1] out_filename = sys.argv[2] if len(sys.argv) > 2 else None diff --git a/vktrace_wayland.patch b/vktrace_wayland.patch index c7d1c4c..e74acb4 100644 --- a/vktrace_wayland.patch +++ b/vktrace_wayland.patch @@ -1,11 +1,53 @@ -diff -dur vulkan-sdk-1.0.8.0.orig/VulkanTools/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp vulkan-sdk-1.0.8.0/VulkanTools/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp ---- vulkan-sdk-1.0.8.0.orig/VulkanTools/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp 2016-04-07 18:04:06.000000000 +0200 -+++ vulkan-sdk-1.0.8.0/VulkanTools/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp 2016-04-08 18:01:49.000000000 +0200 -@@ -1507,7 +1507,36 @@ - return result; - } +diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/api_dump_generator.py VulkanTools-sdk-1.0.32.0/api_dump_generator.py +--- VulkanTools-sdk-1.0.32.0.orig/api_dump_generator.py 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/api_dump_generator.py 2016-11-23 14:38:41.000000000 +0100 +@@ -676,7 +676,7 @@ + }} + """ + +-POINTER_TYPES = ['void', 'xcb_connection_t', 'Display', 'SECURITY_ATTRIBUTES', 'ANativeWindow'] ++POINTER_TYPES = ['void', 'xcb_connection_t', 'Display', 'SECURITY_ATTRIBUTES', 'ANativeWindow', 'wl_surface', 'wl_display'] + VALIDITY_CHECKS = { + 'VkBufferCreateInfo': { + 'pQueueFamilyIndices': 'object.sharingMode == VK_SHARING_MODE_CONCURRENT', +@@ -1433,4 +1433,4 @@ + return { + 'unName': self.name, + } +- +\ No newline at end of file ++ +diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vk_helper_api_dump.py VulkanTools-sdk-1.0.32.0/vk_helper_api_dump.py +--- VulkanTools-sdk-1.0.32.0.orig/vk_helper_api_dump.py 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/vk_helper_api_dump.py 2016-11-23 14:45:42.000000000 +0100 +@@ -1468,7 +1468,7 @@ + elif is_type(self.struct_dict[s][m]['type'], 'struct'): + sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name'])) + elif 'void' not in self.struct_dict[s][m]['type'].lower(): +- if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'): ++ if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')): + sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type'])) + elif 'size_t' == self.struct_dict[s][m]['type'].lower(): + sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name'])) +diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vk_helper.py VulkanTools-sdk-1.0.32.0/vk_helper.py +--- VulkanTools-sdk-1.0.32.0.orig/vk_helper.py 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/vk_helper.py 2016-11-23 14:45:42.000000000 +0100 +@@ -1424,7 +1424,7 @@ + elif is_type(self.struct_dict[s][m]['type'], 'struct'): + sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name'])) + elif 'void' not in self.struct_dict[s][m]['type'].lower(): +- if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'): ++ if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')): + sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type'])) + elif 'size_t' == self.struct_dict[s][m]['type'].lower(): + sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name'])) +diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp VulkanTools-sdk-1.0.32.0/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp +--- VulkanTools-sdk-1.0.32.0.orig/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp 2016-11-10 18:52:27.000000000 +0100 ++++ VulkanTools-sdk-1.0.32.0/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp 2016-11-23 14:45:42.000000000 +0100 +@@ -1885,6 +1885,36 @@ #endif --//TODO Wayland and Mir support + + //TODO Wayland and Mir support +#ifdef VK_USE_PLATFORM_WAYLAND_KHR +VKTRACER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL __HOOKED_vkCreateWaylandSurfaceKHR( + VkInstance instance, @@ -39,25 +81,3 @@ diff -dur vulkan-sdk-1.0.8.0.orig/VulkanTools/vktrace/src/vktrace_layer/vktrace_ /* TODO: Probably want to make this manual to get the result of the boolean and then check it on replay VKTRACER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL __HOOKED_vkGetPhysicalDeviceSurfaceSupportKHR( ---- vulkan-sdk-1.0.17.0.orig/VulkanTools/vk_helper.py 2016-06-23 17:32:27.000000000 +0200 -+++ vulkan-sdk-1.0.17.0/VulkanTools/vk_helper.py 2016-07-14 13:14:33.000000000 +0200 -@@ -1423,7 +1423,7 @@ - elif is_type(self.struct_dict[s][m]['type'], 'struct'): - sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name'])) - elif 'void' not in self.struct_dict[s][m]['type'].lower(): -- if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'): -+ if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')): - sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type'])) - elif 'size_t' == self.struct_dict[s][m]['type'].lower(): - sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name'])) ---- vulkan-sdk-1.0.17.0.orig/VulkanTools/vk_helper_api_dump.py 2016-06-23 17:32:27.000000000 +0200 -+++ vulkan-sdk-1.0.17.0/VulkanTools/vk_helper_api_dump.py 2016-07-14 13:14:44.000000000 +0200 -@@ -1468,7 +1468,7 @@ - elif is_type(self.struct_dict[s][m]['type'], 'struct'): - sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name'])) - elif 'void' not in self.struct_dict[s][m]['type'].lower(): -- if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'): -+ if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')): - sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type'])) - elif 'size_t' == self.struct_dict[s][m]['type'].lower(): - sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name'])) diff --git a/vulkan-sdk.spec b/vulkan-sdk.spec index 0735a3e..291ae70 100644 --- a/vulkan-sdk.spec +++ b/vulkan-sdk.spec @@ -2,48 +2,30 @@ # Conditional build: %bcond_with tests # build with tests (require a working Vulkan # driver (ICD)) -%bcond_with icd # build experimental Vulkan drivers %bcond_without wayland # enable Wayland support in loader %bcond_without xlib # enable XLib support in loader -%ifnarch %{x8664} -%undefine with_icd -%endif - -%define api_version 1.0.17 -%define llvm_version 3.4.2 +%define api_version 1.0.32 -%define snap 2016012 -# master branch -%define lg_commit 0a73713f0d664aa97a7e359f567a16d7c3fce359 -%define rel 3 Summary: LunarG Vulkan SDK Name: vulkan-sdk -Version: 1.0.17.0 +Version: 1.0.32.0 Release: 1 License: MIT-like Group: Development Source0: https://github.com/LunarG/VulkanTools/archive/sdk-%{version}/VulkanTools-%{version}.tar.gz -# Source0-md5: 5f52f9f8309d40758f1238e517e7ef74 -Source1: https://github.com/LunarG/LunarGLASS/archive/%{lg_commit}/LunarGLASS-%{snap}.tar.gz -# Source1-md5: b0fb3253c782e1e539a5884dde8a31f8 -Source2: http://llvm.org/releases/%{llvm_version}/llvm-%{llvm_version}.src.tar.gz -# Source2-md5: a20669f75967440de949ac3b1bad439c +# Source0-md5: 83679b56e7782b1f61b4b86de98fb81b Patch0: system_glslang_and_spirv-tools.patch Patch1: demos_out_of_src.patch Patch2: rpath.patch Patch3: always_xcb.patch Patch4: vktrace_wayland.patch -# LunarGLASS patches -Patch100: LunarGLASS-CMakeLists.patch URL: http://lunarg.com/vulkan-sdk/ -%{?with_icd:BuildRequires: Mesa-libGL-devel} BuildRequires: bison -%{?with_icd:BuildRequires: clang} BuildRequires: cmake BuildRequires: GLM -BuildRequires: glslang >= 3.0.s20160513 -BuildRequires: glslang-devel >= 3.0.s20160513 +BuildRequires: glslang >= 3.0.s20161029 +BuildRequires: glslang-devel >= 3.0.s20161029 BuildRequires: graphviz BuildRequires: ImageMagick-devel BuildRequires: libpng @@ -51,11 +33,10 @@ BuildRequires: libxcb-devel BuildRequires: python3 BuildRequires: python3-lxml BuildRequires: python3-modules -BuildRequires: spirv-tools-devel >= 1.0_rev3.s20160614 +BuildRequires: spirv-tools-devel >= v2016.6.s20161027 BuildRequires: udev-devel -%{?with_icd:BuildRequires: xorg-lib-libpciaccess-devel} -Requires: glslang >= 3.0.s20160513 -Requires: spirv-tools >= 1.0_rev3.s20160614 +Requires: glslang >= 3.0.s20161029 +Requires: spirv-tools >= v2016.6.s20161027 Requires: %{name}-debug-layers = %{version}-%{release} Requires: vulkan-devel = %{version}-%{release} Requires: vulkan-loader = %{version}-%{release} @@ -121,28 +102,8 @@ Requires: vulkan-loader = %{version}-%{release} %description tools Vulkan tools. -%package icd-intel -Summary: Experimental Vulkan driver for Intel GPUs -Group: X11/Libraries -Suggests: vulkan(loader) -Provides: vulkan(icd) = 1.0.17 - -%description icd-intel -Experimental Vulkan driver for Intel GPUs. - -%package icd-nulldrv -Summary: Dummy Vulkan driver -Group: X11/Libraries -Suggests: vulkan(loader) -Provides: vulkan(icd) = 1.0.17 - -%description icd-nulldrv -Dummy Vulkan driver. - %prep -%setup -q -c %{?with_icd:-a1} - -mv VulkanTools-sdk-%{version} VulkanTools +%setup -qn VulkanTools-sdk-%{version} %patch0 -p1 %patch1 -p1 @@ -150,48 +111,9 @@ mv VulkanTools-sdk-%{version} VulkanTools %patch3 -p1 %patch4 -p1 -%if %{with icd} -mv LunarGLASS-%{lg_commit} LunarGLASS -cd LunarGLASS/Core/LLVM/llvm-3.4 -tar -x --strip-components=1 --skip-old-files -f %{SOURCE3} -cp -R ../../../../VulkanTools/LunarGLASS/* . -cd ../../../.. - -%patch100 -p1 -%endif - %build - -%if %{with icd} -cd LunarGLASS/Core/LLVM/llvm-3.4 install -d build cd build -../%configure \ - --disable-bindings \ - --disable-curses \ - --disable-terminfo - -REQUIRES_RTTI=1 %{__make} -REQUIRES_RTTI=1 %{__make} install prefix=%{_prefix}/local DESTDIR=`pwd`/install - -cd ../../../.. - -install -d build -cd build -%cmake \ - -DGLSLANGINCLUDES=%{_includedir}/glslang \ - -DGLSLANGLIBS=%{_libdir} \ - ../ -%{__make} -%{__make} install - -%{?with_tests:%{__make} test} - -cd ../.. -%endif - -install -d VulkanTools/build -cd VulkanTools/build %cmake \ -DCMAKE_INSTALL_DATADIR=share \ @@ -199,7 +121,7 @@ cd VulkanTools/build -DBUILD_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \ -DBUILD_WSI_WAYLAND_SUPPORT=%{?with_wayland:ON}%{!?with_wayland:OFF} \ -DBUILD_WSI_XLIB_SUPPORT=%{?with_xlib:ON}%{!?with_xlib:OFF} \ - -DBUILD_ICD=%{?with_icd:ON}%{!?with_icd:OFF} \ + -DBUILD_ICD=OFF \ ../ %{__make} @@ -209,7 +131,7 @@ LC_ALL=C.utf-8 VK_LAYER_PATH=../layers LD_LIBRARY_PATH=../loader:../layers ./run cd .. %endif -cd ../.. +cd .. %install rm -rf $RPM_BUILD_ROOT @@ -221,63 +143,59 @@ $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -cd VulkanTools/build -%{__make} install +# hack for 'make install' tryin to install in relative paths when DESTDIR is set +install -d "$RPM_BUILD_ROOT$PWD" +ln -s "$PWD/build" "$RPM_BUILD_ROOT$PWD" -cp -p loader/libvulkan.so.1.0.17 $RPM_BUILD_ROOT%{_libdir} -ln -s libvulkan.so.1.0.17 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so -ln -s libvulkan.so.1.0.17 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so.1 +cd build +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +rm "$RPM_BUILD_ROOT$PWD" cp -p demos/vulkaninfo $RPM_BUILD_ROOT%{_bindir}/vulkaninfo -cp -p demos/tri $RPM_BUILD_ROOT%{_bindir}/vulkan-tri cp -p demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube cp -p demos/smoketest $RPM_BUILD_ROOT%{_bindir}/vulkan-smoketest cp -p demos/{lunarg.ppm,*-vert.spv,*-frag.spv} $RPM_BUILD_ROOT%{_datadir}/%{name}-demos -cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer -for f in layers/*.json layersvt/*.json ; do -sed -e's@"library_path": "./@"library_path": "%{_libdir}/vulkan/layer/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f) -done -mv $RPM_BUILD_ROOT%{_libdir}/vulkan/layer/libVkLayer_utils* $RPM_BUILD_ROOT%{_libdir} +mv $RPM_BUILD_ROOT/usr/etc/vulkan/explicit_layer.d/* $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d cp -p libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir} cp -p libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir} cp -p ../libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir} -cp -p ../include/vulkan/* $RPM_BUILD_ROOT%{_includedir}/vulkan + +cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir} +for f in layersvt/*.json ; do +sed -e's@"library_path": "./@"library_path": "%{_libdir}/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f) +done cp -pr ../demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} # restore original demo sources in %{_examplesdir} -%patch1 -R -p3 -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +%patch1 -R -p2 -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*.orig 2>/dev/null || : %ifarch %x8664 -cp -p vktrace/libVkLayer_vktrace_layer.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer +cp -p vktrace/libVkLayer_vktrace_layer.so $RPM_BUILD_ROOT%{_libdir} cp -p vktrace/vkreplay $RPM_BUILD_ROOT%{_bindir} cp -p vktrace/vktrace $RPM_BUILD_ROOT%{_bindir} -sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/vulkan/layer/@' \ +sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/@' \ layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json %else -cp -p vktrace/libVkLayer_vktrace_layer32.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer +cp -p vktrace/libVkLayer_vktrace_layer32.so $RPM_BUILD_ROOT%{_libdir} cp -p vktrace/vkreplay32 $RPM_BUILD_ROOT%{_bindir} cp -p vktrace/vktrace32 $RPM_BUILD_ROOT%{_bindir} rm $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json -sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/vulkan/layer/@' \ +sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/@' \ -e's@libVkLayer_vktrace_layer.so@libVkLayer_vktrace_layer32.so@' \ layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer32.json %endif -%if %{with icd} -cp -p icd/*/libVK_*.so $RPM_BUILD_ROOT%{_libdir} -for f in icd/*/*.json ; do -sed -e's@"library_path": "./@"library_path": "@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d/%{name}-$(basename $f) -done -%endif -cd ../.. +cd .. -cp -p VulkanTools/vktrace/README.md vktrace-README.md -cp -p VulkanTools/vktrace/TODO.md vktrace-TODO.md +cp -p vktrace/README.md vktrace-README.md +cp -p vktrace/TODO.md vktrace-TODO.md %clean rm -rf $RPM_BUILD_ROOT @@ -290,8 +208,8 @@ rm -rf $RPM_BUILD_ROOT %files -n vulkan-loader %defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt -%doc VulkanTools/loader/{README.md,LoaderAndLayerInterface.md} +%doc COPYRIGHT.txt LICENSE.txt +%doc loader/{README.md,LoaderAndLayerInterface.md} %dir %{_sysconfdir}/vulkan %dir %{_sysconfdir}/vulkan/icd.d %dir %{_sysconfdir}/vulkan/explicit_layer.d @@ -307,15 +225,14 @@ rm -rf $RPM_BUILD_ROOT %files demos %defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt +%doc COPYRIGHT.txt LICENSE.txt %attr(755,root,root) %{_bindir}/vulkan-cube %attr(755,root,root) %{_bindir}/vulkan-smoketest -%attr(755,root,root) %{_bindir}/vulkan-tri %{_datadir}/%{name}-demos %files tools %defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt +%doc COPYRIGHT.txt LICENSE.txt %doc vktrace-README.md vktrace-TODO.md %attr(755,root,root) %{_bindir}/vkjson_info %attr(755,root,root) %{_bindir}/vkjson_unittest @@ -323,30 +240,28 @@ rm -rf $RPM_BUILD_ROOT %ifarch %x8664 %attr(755,root,root) %{_bindir}/vkreplay %attr(755,root,root) %{_bindir}/vktrace -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_vktrace_layer.so +%attr(755,root,root) %{_libdir}/libVkLayer_vktrace_layer.so %{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json %else %attr(755,root,root) %{_bindir}/vkreplay32 %attr(755,root,root) %{_bindir}/vktrace32 -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_vktrace_layer32.so +%attr(755,root,root) %{_libdir}/libVkLayer_vktrace_layer32.so %{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer32.json %endif %files validation-layers %defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt -%doc VulkanTools/layers/{README.md,vk_layer_settings.txt} -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_core_validation.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_device_limits.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_image.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_object_tracker.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_parameter_validation.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_swapchain.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_threading.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_unique_objects.so +%doc COPYRIGHT.txt LICENSE.txt +%doc layers/{README.md,vk_layer_settings.txt} +%attr(755,root,root) %{_libdir}/libVkLayer_core_validation.so +%attr(755,root,root) %{_libdir}/libVkLayer_image.so +%attr(755,root,root) %{_libdir}/libVkLayer_object_tracker.so +%attr(755,root,root) %{_libdir}/libVkLayer_parameter_validation.so +%attr(755,root,root) %{_libdir}/libVkLayer_swapchain.so +%attr(755,root,root) %{_libdir}/libVkLayer_threading.so +%attr(755,root,root) %{_libdir}/libVkLayer_unique_objects.so %attr(755,root,root) %{_libdir}/libVkLayer_utils.so %{_datadir}/vulkan/explicit_layer.d/VkLayer_core_validation.json -%{_datadir}/vulkan/explicit_layer.d/VkLayer_device_limits.json %{_datadir}/vulkan/explicit_layer.d/VkLayer_image.json %{_datadir}/vulkan/explicit_layer.d/VkLayer_object_tracker.json %{_datadir}/vulkan/explicit_layer.d/VkLayer_parameter_validation.json @@ -356,13 +271,13 @@ rm -rf $RPM_BUILD_ROOT %files debug-layers %defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt -%doc VulkanTools/layersvt/{README.md,vk_layer_settings.txt} -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_api_dump.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_basic.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_generic.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_multi.so -%attr(755,root,root) %{_libdir}/vulkan/layer/libVkLayer_screenshot.so +%doc COPYRIGHT.txt LICENSE.txt +%doc layersvt/{README.md,vk_layer_settings.txt} +%attr(755,root,root) %{_libdir}/libVkLayer_api_dump.so +%attr(755,root,root) %{_libdir}/libVkLayer_basic.so +%attr(755,root,root) %{_libdir}/libVkLayer_generic.so +%attr(755,root,root) %{_libdir}/libVkLayer_multi.so +%attr(755,root,root) %{_libdir}/libVkLayer_screenshot.so %attr(755,root,root) %{_libdir}/libVkLayer_utilsvt.so %{_datadir}/vulkan/explicit_layer.d/VkLayer_api_dump.json %{_datadir}/vulkan/explicit_layer.d/VkLayer_basic.json @@ -372,23 +287,9 @@ rm -rf $RPM_BUILD_ROOT %files -n vulkan-devel %defattr(644,root,root,755) -%doc VulkanTools/{LICENSE.txt,README.md} +%doc COPYRIGHT.txt LICENSE.txt README.md %{_libdir}/libvulkan.so %{_libdir}/libvkjson.a %{_includedir}/vulkan %{_includedir}/vkjson.h %{_examplesdir}/%{name}-%{version} - -%if %{with icd} -%files icd-intel -%defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt -%attr(755,root,root) %{_libdir}/libVK_i965.so -%{_datadir}/vulkan/icd.d/%{name}-intel_icd.json - -%files icd-nulldrv -%defattr(644,root,root,755) -%doc VulkanTools/LICENSE.txt -%attr(755,root,root) %{_libdir}/libVK_nulldrv.so -%{_datadir}/vulkan/icd.d/%{name}-nulldrv_icd.json -%endif -- 2.44.0