From 4bf9d97d01a84dac2c3dd477eee0e4cb7465ca1f Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 1 Dec 2016 13:23:59 +0000 Subject: [PATCH 01/55] Fix VkLayer undefined symbol: util_GetExtensionProperties --- .gitignore | 12 ++-- ...f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch | 60 +++++++++++++++++++ vulkan.spec | 10 +++- 3 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch diff --git a/.gitignore b/.gitignore index 4782f42..21aca76 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ -/SPIRV-Headers-33d41376d378761ed3a4c791fc4b647761897f26.tar.gz -/SPIRV-Tools-860030feab94360b9bf64cf486b44cffd62bdea8.tar.gz -/Vulkan-LoaderAndValidationLayers-sdk-1.0.26.0.tar.gz -/glslang-cfd7ce87cd10191c3d5afec077865c7c6dc9dd77.tar.gz -/glslang-81cd764b5ffc475bc73f1fb35f75fd1171bb2343.tar.gz -/SPIRV-Tools-923a4596b44831a07060df45caacb522613730c9.tar.gz -/Vulkan-LoaderAndValidationLayers-sdk-1.0.30.0.tar.gz +/SPIRV-Headers-*.tar.gz +/glslang-*.tar.gz +/SPIRV-Tools-*.tar.gz +/Vulkan-LoaderAndValidationLayers-sdk-*.tar.gz +/vulkan-*.src.rpm diff --git a/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch b/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch new file mode 100644 index 0000000..b81cac1 --- /dev/null +++ b/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch @@ -0,0 +1,60 @@ +From 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7 Mon Sep 17 00:00:00 2001 +From: Karl Schultz +Date: Thu, 3 Nov 2016 12:31:41 -0600 +Subject: [PATCH] layers: GH1115 Add missing VK_LAYER_EXPORT decorations + +Functions in the vk_layer_extension_utils file were +not getting exported correctly. + +Change-Id: If1bf6456cb8e79a1b6292ea76bd72e3e89a2b430 +--- + layers/vk_layer_extension_utils.cpp | 8 ++++---- + layers/vk_layer_extension_utils.h | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/layers/vk_layer_extension_utils.cpp b/layers/vk_layer_extension_utils.cpp +index bd778e9..4c1e396 100644 +--- a/layers/vk_layer_extension_utils.cpp ++++ b/layers/vk_layer_extension_utils.cpp +@@ -27,8 +27,8 @@ + * This file contains utility functions for layers + */ + +-VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, +- VkExtensionProperties *pProperties) { ++VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, ++ uint32_t *pCount, VkExtensionProperties *pProperties) { + uint32_t copy_size; + + if (pProperties == NULL || layer_extensions == NULL) { +@@ -46,8 +46,8 @@ VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProp + return VK_SUCCESS; + } + +-VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, +- VkLayerProperties *pProperties) { ++VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, ++ VkLayerProperties *pProperties) { + uint32_t copy_size; + + if (pProperties == NULL || layer_properties == NULL) { +diff --git a/layers/vk_layer_extension_utils.h b/layers/vk_layer_extension_utils.h +index 0f249b7..b593768 100644 +--- a/layers/vk_layer_extension_utils.h ++++ b/layers/vk_layer_extension_utils.h +@@ -30,11 +30,11 @@ + */ + extern "C" { + +-VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, +- VkExtensionProperties *pProperties); ++VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, ++ uint32_t *pCount, VkExtensionProperties *pProperties); + +-VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, +- VkLayerProperties *pProperties); ++VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, ++ VkLayerProperties *pProperties); + + } // extern "C" + #endif // LAYER_EXTENSION_UTILS_H diff --git a/vulkan.spec b/vulkan.spec index de02e35..28883ee 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -23,9 +23,9 @@ Name: vulkan Version: 1.0.30.0 %if 0%{?use_git} -Release: 0.1.git%{shortcommit}%{?dist} +Release: 0.2.git%{shortcommit}%{?dist} %else -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Vulkan loader and validation layers @@ -51,6 +51,9 @@ Patch1: 0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch Patch2: 0005-loader-Add-install-rule.patch Patch3: 0008-demos-Don-t-build-tri-or-cube.patch +# Upstream patches +Patch4: 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: bison @@ -197,6 +200,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Thu Dec 01 2016 leigh scott - 1.0.30.0-2 +- Fix VkLayer undefined symbol: util_GetExtensionProperties + * Sat Oct 15 2016 Leigh Scott - 1.0.30.0-1 - Update to 1.0.30.0 release From e068e7c22707273fd08971e1e16f5415f6d742b5 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 2 Dec 2016 15:26:26 +0000 Subject: [PATCH 02/55] Update to latest git --- .gitignore | 1 + ...yers-Install-to-CMAKE_INSTALL_LIBDIR.patch | 21 ------- 0005-loader-Add-install-rule.patch | 10 ---- 0007-demos-Read-from-installed-paths.patch | 51 ---------------- 0008-demos-Don-t-build-tri-or-cube.patch | 19 +++--- ...f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch | 60 ------------------- demos-add-install-rule.patch | 9 --- sources | 8 +-- vulkan.spec | 35 +++++------ 9 files changed, 31 insertions(+), 183 deletions(-) delete mode 100644 0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch delete mode 100644 0005-loader-Add-install-rule.patch delete mode 100644 0007-demos-Read-from-installed-paths.patch delete mode 100644 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch delete mode 100644 demos-add-install-rule.patch diff --git a/.gitignore b/.gitignore index 21aca76..58a0379 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /SPIRV-Tools-*.tar.gz /Vulkan-LoaderAndValidationLayers-sdk-*.tar.gz /vulkan-*.src.rpm +/Vulkan-LoaderAndValidationLayers-d4cd34fd49caa759cf01cafa5fa271401b17c3b9.tar.gz diff --git a/0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch b/0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch deleted file mode 100644 index 3007686..0000000 --- a/0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -91,7 +91,7 @@ - target_link_Libraries(VkLayer_${target} VkLayer_utils) - add_dependencies(VkLayer_${target} generate_dispatch_table_helper generate_vk_layer_helpers generate_enum_string_helper VkLayer_utils) - set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,--exclude-libs,ALL") -- install(TARGETS VkLayer_${target} DESTINATION lib) -+ install(TARGETS VkLayer_${target} DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endmacro() - endif() - -@@ -184,7 +184,7 @@ - add_library(VkLayer_utils STATIC vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp) - else() - add_library(VkLayer_utils SHARED vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp) -- install(TARGETS VkLayer_utils DESTINATION lib) -+ install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - - add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp vk_safe_struct.cpp descriptor_sets.cpp) - diff --git a/0005-loader-Add-install-rule.patch b/0005-loader-Add-install-rule.patch deleted file mode 100644 index f1e10e3..0000000 --- a/0005-loader-Add-install-rule.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/loader/CMakeLists.txt -+++ b/loader/CMakeLists.txt -@@ -85,5 +85,5 @@ - add_library(vulkan SHARED ${LOADER_SRCS}) - set_target_properties(vulkan PROPERTIES SOVERSION "1" VERSION "1.0.30") - target_link_libraries(vulkan -ldl -lpthread -lm) -- install(TARGETS vulkan LIBRARY DESTINATION lib) -+ install(TARGETS vulkan LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - diff --git a/0007-demos-Read-from-installed-paths.patch b/0007-demos-Read-from-installed-paths.patch deleted file mode 100644 index a1fa8c1..0000000 --- a/0007-demos-Read-from-installed-paths.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/demos/cube.c -+++ b/demos/cube.c -@@ -129,7 +129,7 @@ - int32_t tex_width, tex_height; - }; - --static char *tex_files[] = {"lunarg.ppm"}; -+static char *tex_files[] = {"/usr/share/vulkan/cube.ppm"}; - - static int validation_error = 0; - -@@ -1536,7 +1536,7 @@ - void *vertShaderCode; - size_t size; - -- vertShaderCode = demo_read_spv("cube-vert.spv", &size); -+ vertShaderCode = demo_read_spv("/usr/share/vulkan/cube-vert.spv", &size); - - demo->vert_shader_module = - demo_prepare_shader_module(demo, vertShaderCode, size); -@@ -1561,7 +1561,7 @@ - void *fragShaderCode; - size_t size; - -- fragShaderCode = demo_read_spv("cube-frag.spv", &size); -+ fragShaderCode = demo_read_spv("/usr/share/vulkan/cube-frag.spv", &size); - - demo->frag_shader_module = - demo_prepare_shader_module(demo, fragShaderCode, size); - ---- a/demos/tri.c -+++ b/demos/tri.c -@@ -1302,7 +1302,7 @@ - void *vertShaderCode; - size_t size = 0; - -- vertShaderCode = demo_read_spv("tri-vert.spv", &size); -+ vertShaderCode = demo_read_spv("/usr/share/vulkan/tri-vert.spv", &size); - - demo->vert_shader_module = - demo_prepare_shader_module(demo, vertShaderCode, size); -@@ -1327,7 +1327,7 @@ - void *fragShaderCode; - size_t size; - -- fragShaderCode = demo_read_spv("tri-frag.spv", &size); -+ fragShaderCode = demo_read_spv("/usr/share/vulkan/tri-frag.spv", &size); - - demo->frag_shader_module = - demo_prepare_shader_module(demo, fragShaderCode, size); - diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index d389795..79ce95b 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -2,7 +2,7 @@ +++ b/demos/CMakeLists.txt @@ -23,47 +23,6 @@ elseif(UNIX) - set (LIBRARIES "vulkan") + set (LIBRARIES "${API_LOWERCASE}") else() -endif() - @@ -48,9 +48,9 @@ endif() if(NOT WIN32) -@@ -95,41 +54,6 @@ - add_executable(vulkaninfo vulkaninfo.c) - target_link_libraries(vulkaninfo ${LIBRARIES}) +@@ -95,44 +54,6 @@ + add_executable(${API_LOWERCASE}info vulkaninfo.c) + target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) -if(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) @@ -84,10 +84,13 @@ - target_link_libraries(cubepp ${LIBRARIES}) -endif() - --if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_subdirectory(smoke) +-if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) +- if (BUILD_WSI_XCB_SUPPORT OR BUILD_WSI_WAYLAND_SUPPORT OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) +- add_subdirectory(smoke) +- endif() -endif() - +- if(UNIX) - install(TARGETS vulkaninfo DESTINATION bin) + install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() diff --git a/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch b/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch deleted file mode 100644 index b81cac1..0000000 --- a/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7 Mon Sep 17 00:00:00 2001 -From: Karl Schultz -Date: Thu, 3 Nov 2016 12:31:41 -0600 -Subject: [PATCH] layers: GH1115 Add missing VK_LAYER_EXPORT decorations - -Functions in the vk_layer_extension_utils file were -not getting exported correctly. - -Change-Id: If1bf6456cb8e79a1b6292ea76bd72e3e89a2b430 ---- - layers/vk_layer_extension_utils.cpp | 8 ++++---- - layers/vk_layer_extension_utils.h | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/layers/vk_layer_extension_utils.cpp b/layers/vk_layer_extension_utils.cpp -index bd778e9..4c1e396 100644 ---- a/layers/vk_layer_extension_utils.cpp -+++ b/layers/vk_layer_extension_utils.cpp -@@ -27,8 +27,8 @@ - * This file contains utility functions for layers - */ - --VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, -- VkExtensionProperties *pProperties) { -+VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, -+ uint32_t *pCount, VkExtensionProperties *pProperties) { - uint32_t copy_size; - - if (pProperties == NULL || layer_extensions == NULL) { -@@ -46,8 +46,8 @@ VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProp - return VK_SUCCESS; - } - --VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -- VkLayerProperties *pProperties) { -+VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -+ VkLayerProperties *pProperties) { - uint32_t copy_size; - - if (pProperties == NULL || layer_properties == NULL) { -diff --git a/layers/vk_layer_extension_utils.h b/layers/vk_layer_extension_utils.h -index 0f249b7..b593768 100644 ---- a/layers/vk_layer_extension_utils.h -+++ b/layers/vk_layer_extension_utils.h -@@ -30,11 +30,11 @@ - */ - extern "C" { - --VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, -- VkExtensionProperties *pProperties); -+VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, -+ uint32_t *pCount, VkExtensionProperties *pProperties); - --VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -- VkLayerProperties *pProperties); -+VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -+ VkLayerProperties *pProperties); - - } // extern "C" - #endif // LAYER_EXTENSION_UTILS_H diff --git a/demos-add-install-rule.patch b/demos-add-install-rule.patch deleted file mode 100644 index d6da289..0000000 --- a/demos-add-install-rule.patch +++ /dev/null @@ -1,9 +0,0 @@ -Description: Add an install rule for vulkaninfo ---- a/demos/CMakeLists.txt -+++ b/demos/CMakeLists.txt -@@ -114,4 +114,5 @@ endif() - - add_executable(vulkaninfo vulkaninfo.c) - target_link_libraries(vulkaninfo ${LIBRARIES}) -+install(TARGETS vulkaninfo RUNTIME DESTINATION /usr/bin) - diff --git a/sources b/sources index 01c5579..bc11cd5 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -3c9f46d7f76e530adaa1a8da726cb80b glslang-81cd764b5ffc475bc73f1fb35f75fd1171bb2343.tar.gz -eed9e175ef87f11f0927aaf52318451a SPIRV-Headers-33d41376d378761ed3a4c791fc4b647761897f26.tar.gz -9af023a8f541ab2d5a18c26552645bfb SPIRV-Tools-923a4596b44831a07060df45caacb522613730c9.tar.gz -536dc586395a1732c856e2bc4c9422da Vulkan-LoaderAndValidationLayers-sdk-1.0.30.0.tar.gz +8e3a8880f348e49854cff3c352c7f689 glslang-1c573fbcfba6b3d631008b1babc838501ca925d3.tar.gz +73b64fcfb897e1b3c192602b59161360 SPIRV-Headers-bd47a9abaefac00be692eae677daed1b977e625c.tar.gz +e36291fffdfa8a498f3929cd7a422d38 SPIRV-Tools-6fa6a3f64703745425bab6bf51da984f765656e2.tar.gz +bc819eaefdd732267ce4e96093bc102c Vulkan-LoaderAndValidationLayers-d4cd34fd49caa759cf01cafa5fa271401b17c3b9.tar.gz diff --git a/vulkan.spec b/vulkan.spec index 28883ee..56760f5 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,31 +1,31 @@ -%global use_git 0 +%global use_git 1 %if 0%{?fedora} %global use_layers 1 %else %global use_layers 0 %endif -%global commit fbb866778e513752444f1bfd6a3fea3e3f4158b1 +%global commit d4cd34fd49caa759cf01cafa5fa271401b17c3b9 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers %if 0%{?use_layers} -%global commit1 81cd764b5ffc475bc73f1fb35f75fd1171bb2343 +%global commit1 1c573fbcfba6b3d631008b1babc838501ca925d3 %global srcname1 glslang -%global commit2 923a4596b44831a07060df45caacb522613730c9 +%global commit2 6fa6a3f64703745425bab6bf51da984f765656e2 %global srcname2 SPIRV-Tools -%global commit3 33d41376d378761ed3a4c791fc4b647761897f26 +%global commit3 bd47a9abaefac00be692eae677daed1b977e625c %global srcname3 SPIRV-Headers %endif Name: vulkan -Version: 1.0.30.0 +Version: 1.0.34.0 %if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} +Release: 0.1.git%{shortcommit}%{?dist} %else -Release: 2%{?dist} +Release: 1%{?dist} %endif Summary: Vulkan loader and validation layers @@ -47,12 +47,7 @@ Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/master/SP # All patches taken from ajax's repo # https://github.com/nwnk/Vulkan-LoaderAndValidationLayers/tree/sdk-1.0.3-fedora Patch0: 0003-layers-Don-t-set-an-rpath.patch -Patch1: 0004-layers-Install-to-CMAKE_INSTALL_LIBDIR.patch -Patch2: 0005-loader-Add-install-rule.patch -Patch3: 0008-demos-Don-t-build-tri-or-cube.patch - -# Upstream patches -Patch4: 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch +Patch1: 0008-demos-Don-t-build-tri-or-cube.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -119,7 +114,7 @@ cp %{SOURCE4} . sed -i 's/\r//' README.md # sigh inttypes -sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} *.py +sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build %if 0%{?use_layers} @@ -137,11 +132,11 @@ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. popd %endif pushd build/ -%cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_BUILD_TYPE=Release \ +%cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_INSTALL_RPATH:BOOL=yes \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ %if 0%{?fedora} -DBUILD_WSI_WAYLAND_SUPPORT=ON \ %endif @@ -160,7 +155,6 @@ pushd build/ %{make_install} popd -mkdir -p %{buildroot}%{_includedir} %if 0%{?use_layers} mkdir -p %{buildroot}%{_datadir}/vulkan/implicit_layer.d mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ %{buildroot}%{_datadir}/vulkan/ @@ -169,8 +163,6 @@ mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ %{buildroot}%{_datadir}/v # remove RPATH chrpath -d %{buildroot}%{_bindir}/vulkaninfo -cp -ai include/vulkan %{buildroot}%{_includedir} - mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %post -p /sbin/ldconfig @@ -200,6 +192,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Fri Dec 02 2016 leigh scott - 1.0.34.0-0.1.gitd4cd34f +- Update to latest git + * Thu Dec 01 2016 leigh scott - 1.0.30.0-2 - Fix VkLayer undefined symbol: util_GetExtensionProperties From 324a82dde563b902e12890eca03906227be770ac Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 8 Dec 2016 22:48:41 +0000 Subject: [PATCH 03/55] Add recommends mesa-vulkan-drivers --- vulkan.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vulkan.spec b/vulkan.spec index 56760f5..692c43d 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -70,6 +70,8 @@ BuildRequires: pkgconfig(xcb) Requires: vulkan-filesystem = %{version}-%{release} +Recommends: mesa-vulkan-drivers + %description Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of From 9666316dd40984531d988af191c21e4a619ccbd4 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 16 Dec 2016 15:39:22 +0000 Subject: [PATCH 04/55] Update to 1.0.37.0 release --- 0003-layers-Don-t-set-an-rpath.patch | 4 ++-- 0008-demos-Don-t-build-tri-or-cube.patch | 12 +++++++----- sources | 8 ++++---- vulkan.spec | 15 ++++++++++----- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/0003-layers-Don-t-set-an-rpath.patch b/0003-layers-Don-t-set-an-rpath.patch index 35b9627..d914827 100644 --- a/0003-layers-Don-t-set-an-rpath.patch +++ b/0003-layers-Don-t-set-an-rpath.patch @@ -8,6 +8,6 @@ -set(VK_LAYER_RPATH /usr/lib/x86_64-linux-gnu/vulkan/layer:/usr/lib/i386-linux-gnu/vulkan/layer) -set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH}) - if (WIN32) - if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) + macro(run_vk_xml_generate dependency output) + add_custom_command(OUTPUT ${output} diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index 79ce95b..6d36ce1 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,9 +1,10 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -23,47 +23,6 @@ +@@ -58,48 +58,7 @@ + set (LIBRARIES "${API_LOWERCASE}-${MAJOR}") elseif(UNIX) set (LIBRARIES "${API_LOWERCASE}") - else() +-else() -endif() - -if(WIN32) @@ -45,10 +46,11 @@ - DEPENDS cube.frag ${GLSLANG_VALIDATOR} - ) - endif() ++else() endif() - if(NOT WIN32) -@@ -95,44 +54,6 @@ + if(WIN32) +@@ -114,44 +73,6 @@ add_executable(${API_LOWERCASE}info vulkaninfo.c) target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) @@ -85,7 +87,7 @@ -endif() - -if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) -- if (BUILD_WSI_XCB_SUPPORT OR BUILD_WSI_WAYLAND_SUPPORT OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) +- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) - add_subdirectory(smoke) - endif() -endif() diff --git a/sources b/sources index bc11cd5..f974abb 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -8e3a8880f348e49854cff3c352c7f689 glslang-1c573fbcfba6b3d631008b1babc838501ca925d3.tar.gz -73b64fcfb897e1b3c192602b59161360 SPIRV-Headers-bd47a9abaefac00be692eae677daed1b977e625c.tar.gz -e36291fffdfa8a498f3929cd7a422d38 SPIRV-Tools-6fa6a3f64703745425bab6bf51da984f765656e2.tar.gz -bc819eaefdd732267ce4e96093bc102c Vulkan-LoaderAndValidationLayers-d4cd34fd49caa759cf01cafa5fa271401b17c3b9.tar.gz +SHA512 (glslang-6a60c2f9ead58eb9040e47e3e2ada01488648901.tar.gz) = ce207259a60bec6cb16831835f0dc5c40be6a226e57a1f5d46748fd295b17a088ccac020d232863c89acac98062039eb5a1cfd890aa5e515a5ab17acf38be43a +SHA512 (SPIRV-Headers-c470b68225a04965bf87d35e143ae92f831e8110.tar.gz) = 23b2a2963fa4c2c5e5234d63bc29cb6ce815512ecb64f118f8e504a2c12c4cfdcd794490d9730c997755c86f716cd88495b47908d5b64f36a1338db719efe42d +SHA512 (SPIRV-Tools-945e9fc4b477ee55d2262249e5d1d886aa6ba679.tar.gz) = fc0e7fc0915fe47334d864610329b67b6a48dd1db3999b95a96e23ae714da4af23248bd94f6af0306d8112ee02f9b58394728cca18f1468521948c307777f16d +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.37.0.tar.gz) = 6777e7f56645f337815013d1168673d064114d91227837ff58199da6804676fb6150c14473366a71a72235a3971745b596c08b7418678f6d6d5efcfce393c12b diff --git a/vulkan.spec b/vulkan.spec index 692c43d..b57b2f6 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,4 +1,4 @@ -%global use_git 1 +%global use_git 0 %if 0%{?fedora} %global use_layers 1 %else @@ -10,18 +10,18 @@ %global srcname Vulkan-LoaderAndValidationLayers %if 0%{?use_layers} -%global commit1 1c573fbcfba6b3d631008b1babc838501ca925d3 +%global commit1 6a60c2f9ead58eb9040e47e3e2ada01488648901 %global srcname1 glslang -%global commit2 6fa6a3f64703745425bab6bf51da984f765656e2 +%global commit2 945e9fc4b477ee55d2262249e5d1d886aa6ba679 %global srcname2 SPIRV-Tools -%global commit3 bd47a9abaefac00be692eae677daed1b977e625c +%global commit3 c470b68225a04965bf87d35e143ae92f831e8110 %global srcname3 SPIRV-Headers %endif Name: vulkan -Version: 1.0.34.0 +Version: 1.0.37.0 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -139,6 +139,7 @@ pushd build/ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -DBUILD_WSI_MIR_SUPPORT=OFF \ %if 0%{?fedora} -DBUILD_WSI_WAYLAND_SUPPORT=ON \ %endif @@ -194,6 +195,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Fri Dec 16 2016 leigh scott - 1.0.37.0-1 +- Update to 1.0.37.0 release +- Disable Mir as it's lame ubuntu rubbish + * Fri Dec 02 2016 leigh scott - 1.0.34.0-0.1.gitd4cd34f - Update to latest git From e2e75b0304293a109b6b6858e29bef7aa75ff200 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 20 Jan 2017 08:01:40 +0000 Subject: [PATCH 05/55] fix merge --- ...f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch | 60 ------------------- vulkan.spec | 7 +-- 2 files changed, 2 insertions(+), 65 deletions(-) delete mode 100644 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch diff --git a/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch b/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch deleted file mode 100644 index b81cac1..0000000 --- a/5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7 Mon Sep 17 00:00:00 2001 -From: Karl Schultz -Date: Thu, 3 Nov 2016 12:31:41 -0600 -Subject: [PATCH] layers: GH1115 Add missing VK_LAYER_EXPORT decorations - -Functions in the vk_layer_extension_utils file were -not getting exported correctly. - -Change-Id: If1bf6456cb8e79a1b6292ea76bd72e3e89a2b430 ---- - layers/vk_layer_extension_utils.cpp | 8 ++++---- - layers/vk_layer_extension_utils.h | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/layers/vk_layer_extension_utils.cpp b/layers/vk_layer_extension_utils.cpp -index bd778e9..4c1e396 100644 ---- a/layers/vk_layer_extension_utils.cpp -+++ b/layers/vk_layer_extension_utils.cpp -@@ -27,8 +27,8 @@ - * This file contains utility functions for layers - */ - --VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, -- VkExtensionProperties *pProperties) { -+VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, -+ uint32_t *pCount, VkExtensionProperties *pProperties) { - uint32_t copy_size; - - if (pProperties == NULL || layer_extensions == NULL) { -@@ -46,8 +46,8 @@ VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProp - return VK_SUCCESS; - } - --VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -- VkLayerProperties *pProperties) { -+VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -+ VkLayerProperties *pProperties) { - uint32_t copy_size; - - if (pProperties == NULL || layer_properties == NULL) { -diff --git a/layers/vk_layer_extension_utils.h b/layers/vk_layer_extension_utils.h -index 0f249b7..b593768 100644 ---- a/layers/vk_layer_extension_utils.h -+++ b/layers/vk_layer_extension_utils.h -@@ -30,11 +30,11 @@ - */ - extern "C" { - --VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, uint32_t *pCount, -- VkExtensionProperties *pProperties); -+VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions, -+ uint32_t *pCount, VkExtensionProperties *pProperties); - --VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -- VkLayerProperties *pProperties); -+VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount, -+ VkLayerProperties *pProperties); - - } // extern "C" - #endif // LAYER_EXTENSION_UTILS_H diff --git a/vulkan.spec b/vulkan.spec index 07e6627..b57b2f6 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -23,9 +23,9 @@ Name: vulkan Version: 1.0.37.0 %if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} +Release: 0.1.git%{shortcommit}%{?dist} %else -Release: 2%{?dist} +Release: 1%{?dist} %endif Summary: Vulkan loader and validation layers @@ -49,9 +49,6 @@ Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/master/SP Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch -# Upstream patches -Patch4: 5338f69a0a3dcc8527d81ca5f936b0e066a3d7f7.patch - BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: bison From 8b15bd751f5e78c4350baa7cc95f5c4589ae30de Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 20 Jan 2017 09:32:25 +0000 Subject: [PATCH 06/55] add conditional --- vulkan.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vulkan.spec b/vulkan.spec index b57b2f6..b799bba 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -70,7 +70,9 @@ BuildRequires: pkgconfig(xcb) Requires: vulkan-filesystem = %{version}-%{release} +%if 0%{?fedora} Recommends: mesa-vulkan-drivers +%endif %description Vulkan is a new generation graphics and compute API that provides From 7c71063eb1931155710fde8f6235423ac3be64dd Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 20 Jan 2017 09:50:46 +0000 Subject: [PATCH 07/55] add conditional --- vulkan.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index b799bba..3b013fd 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -142,8 +142,8 @@ pushd build/ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ -%if 0%{?fedora} - -DBUILD_WSI_WAYLAND_SUPPORT=ON \ +%if 0%{?rhel} + -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ %endif %if 0%{?use_layers} .. From 51eb752bee0a882e2713fee78f2419d73ae881e8 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 24 Jan 2017 07:44:40 +0000 Subject: [PATCH 08/55] Update to 1.0.39.0 release --- sources | 6 +++--- vulkan.spec | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sources b/sources index f974abb..76350fc 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-6a60c2f9ead58eb9040e47e3e2ada01488648901.tar.gz) = ce207259a60bec6cb16831835f0dc5c40be6a226e57a1f5d46748fd295b17a088ccac020d232863c89acac98062039eb5a1cfd890aa5e515a5ab17acf38be43a +SHA512 (glslang-807a0d9e2f4e176f75d62ac3c179c81800ec2608.tar.gz) = b15a51cfc4eac834ac0a17562e2e20f6d003c8a1a8330076abb56d4d9c8fc9aa48784ffd01bb28ac3fa2c304a6514ffc4017339bee88dcac824dab3780c51829 SHA512 (SPIRV-Headers-c470b68225a04965bf87d35e143ae92f831e8110.tar.gz) = 23b2a2963fa4c2c5e5234d63bc29cb6ce815512ecb64f118f8e504a2c12c4cfdcd794490d9730c997755c86f716cd88495b47908d5b64f36a1338db719efe42d -SHA512 (SPIRV-Tools-945e9fc4b477ee55d2262249e5d1d886aa6ba679.tar.gz) = fc0e7fc0915fe47334d864610329b67b6a48dd1db3999b95a96e23ae714da4af23248bd94f6af0306d8112ee02f9b58394728cca18f1468521948c307777f16d -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.37.0.tar.gz) = 6777e7f56645f337815013d1168673d064114d91227837ff58199da6804676fb6150c14473366a71a72235a3971745b596c08b7418678f6d6d5efcfce393c12b +SHA512 (SPIRV-Tools-37422e9dba1a3a8cb8028b779dd546d43add6ef8.tar.gz) = 3dfdc1005d908596fb9fbfa7f75d911fab8118d87b15cc1cdb3655655d4eb516ebe34d46d93477a01845644448bff9aa9a07e98d9415f934cbb8444d7a717e9d +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.39.0.tar.gz) = 23d7ced204f76952d8b15b192c325d80264b75a7128d45a5d5dd7e9c033157ef18c9002138d89857f376b38b55974070ffacc60169ada19329f8ccd8122294fc diff --git a/vulkan.spec b/vulkan.spec index 3b013fd..bff1ca2 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -10,10 +10,10 @@ %global srcname Vulkan-LoaderAndValidationLayers %if 0%{?use_layers} -%global commit1 6a60c2f9ead58eb9040e47e3e2ada01488648901 +%global commit1 807a0d9e2f4e176f75d62ac3c179c81800ec2608 %global srcname1 glslang -%global commit2 945e9fc4b477ee55d2262249e5d1d886aa6ba679 +%global commit2 37422e9dba1a3a8cb8028b779dd546d43add6ef8 %global srcname2 SPIRV-Tools %global commit3 c470b68225a04965bf87d35e143ae92f831e8110 @@ -21,7 +21,7 @@ %endif Name: vulkan -Version: 1.0.37.0 +Version: 1.0.39.0 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -197,6 +197,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Tue Jan 24 2017 Leigh Scott - 1.0.39.0-1 +- Update to 1.0.39.0 release + * Fri Dec 16 2016 leigh scott - 1.0.37.0-1 - Update to 1.0.37.0 release - Disable Mir as it's lame ubuntu rubbish From e49ff98dba45e7709765cf0918e0c911f4291994 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 24 Jan 2017 07:54:23 +0000 Subject: [PATCH 09/55] Add build requires libXrandr-devel --- vulkan.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vulkan.spec b/vulkan.spec index bff1ca2..45f54f9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -67,6 +67,7 @@ BuildRequires: python34 %endif BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xrandr) Requires: vulkan-filesystem = %{version}-%{release} @@ -199,6 +200,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %changelog * Tue Jan 24 2017 Leigh Scott - 1.0.39.0-1 - Update to 1.0.39.0 release +- Add build requires libXrandr-devel * Fri Dec 16 2016 leigh scott - 1.0.37.0-1 - Update to 1.0.37.0 release From e486b64e93dac60c0baafd6f018b9eb01db82427 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 31 Jan 2017 14:44:41 +0000 Subject: [PATCH 10/55] Update to 1.0.39.1 release --- sources | 2 +- vulkan.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 76350fc..b4d5fa8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (glslang-807a0d9e2f4e176f75d62ac3c179c81800ec2608.tar.gz) = b15a51cfc4eac834ac0a17562e2e20f6d003c8a1a8330076abb56d4d9c8fc9aa48784ffd01bb28ac3fa2c304a6514ffc4017339bee88dcac824dab3780c51829 SHA512 (SPIRV-Headers-c470b68225a04965bf87d35e143ae92f831e8110.tar.gz) = 23b2a2963fa4c2c5e5234d63bc29cb6ce815512ecb64f118f8e504a2c12c4cfdcd794490d9730c997755c86f716cd88495b47908d5b64f36a1338db719efe42d SHA512 (SPIRV-Tools-37422e9dba1a3a8cb8028b779dd546d43add6ef8.tar.gz) = 3dfdc1005d908596fb9fbfa7f75d911fab8118d87b15cc1cdb3655655d4eb516ebe34d46d93477a01845644448bff9aa9a07e98d9415f934cbb8444d7a717e9d -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.39.0.tar.gz) = 23d7ced204f76952d8b15b192c325d80264b75a7128d45a5d5dd7e9c033157ef18c9002138d89857f376b38b55974070ffacc60169ada19329f8ccd8122294fc +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.39.1.tar.gz) = f5d808efb786d658b5e8837bb4910bd2e6ac536ada830b0f19a1602995849ebcc3f80f95890a6a2debeb05a62c0460d7af6e0041c0d7f79c70b9422be07bd79a diff --git a/vulkan.spec b/vulkan.spec index 45f54f9..fdeba7a 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -21,7 +21,7 @@ %endif Name: vulkan -Version: 1.0.39.0 +Version: 1.0.39.1 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -198,6 +198,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Tue Jan 31 2017 Leigh Scott - 1.0.39.1-1 +- Update to 1.0.39.1 release + * Tue Jan 24 2017 Leigh Scott - 1.0.39.0-1 - Update to 1.0.39.0 release - Add build requires libXrandr-devel From 291f9e0fd6484d63ea5ba4f6d3aa8f65ffb100b8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 17:13:25 +0000 Subject: [PATCH 11/55] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index fdeba7a..74fb7e3 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -23,9 +23,9 @@ Name: vulkan Version: 1.0.39.1 %if 0%{?use_git} -Release: 0.1.git%{shortcommit}%{?dist} +Release: 0.2.git%{shortcommit}%{?dist} %else -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Vulkan loader and validation layers @@ -198,6 +198,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.39.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Tue Jan 31 2017 Leigh Scott - 1.0.39.1-1 - Update to 1.0.39.1 release From 20c82e0ac308292ebe9a3d3a22ae03e1c3ef88dc Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 3 Mar 2017 22:01:38 +0000 Subject: [PATCH 12/55] Update to 1.0.42.0 release --- 0003-layers-Don-t-set-an-rpath.patch | 4 ++-- sources | 8 +++---- spirv.hpp | 35 ++++++++++++++++++++++++---- vulkan.spec | 15 +++++++----- 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/0003-layers-Don-t-set-an-rpath.patch b/0003-layers-Don-t-set-an-rpath.patch index d914827..35b9627 100644 --- a/0003-layers-Don-t-set-an-rpath.patch +++ b/0003-layers-Don-t-set-an-rpath.patch @@ -8,6 +8,6 @@ -set(VK_LAYER_RPATH /usr/lib/x86_64-linux-gnu/vulkan/layer:/usr/lib/i386-linux-gnu/vulkan/layer) -set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH}) - macro(run_vk_xml_generate dependency output) - add_custom_command(OUTPUT ${output} + if (WIN32) + if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) diff --git a/sources b/sources index b4d5fa8..dc11623 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-807a0d9e2f4e176f75d62ac3c179c81800ec2608.tar.gz) = b15a51cfc4eac834ac0a17562e2e20f6d003c8a1a8330076abb56d4d9c8fc9aa48784ffd01bb28ac3fa2c304a6514ffc4017339bee88dcac824dab3780c51829 -SHA512 (SPIRV-Headers-c470b68225a04965bf87d35e143ae92f831e8110.tar.gz) = 23b2a2963fa4c2c5e5234d63bc29cb6ce815512ecb64f118f8e504a2c12c4cfdcd794490d9730c997755c86f716cd88495b47908d5b64f36a1338db719efe42d -SHA512 (SPIRV-Tools-37422e9dba1a3a8cb8028b779dd546d43add6ef8.tar.gz) = 3dfdc1005d908596fb9fbfa7f75d911fab8118d87b15cc1cdb3655655d4eb516ebe34d46d93477a01845644448bff9aa9a07e98d9415f934cbb8444d7a717e9d -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.39.1.tar.gz) = f5d808efb786d658b5e8837bb4910bd2e6ac536ada830b0f19a1602995849ebcc3f80f95890a6a2debeb05a62c0460d7af6e0041c0d7f79c70b9422be07bd79a +SHA512 (glslang-f67f9d7e4d0c699e2829bd563d6b45b1dc21876c.tar.gz) = 54ff2a8280a67af814d71a04a5f92c4fd5cbf5672ce8c3cad1536c16ff7c570b2b654ab1cb4cb3d2dea65b3ca8336021b7be97fafd6beb6f10784a9ff5cc13b4 +SHA512 (SPIRV-Headers-88d9403777e2b9dd08d6304d562f990e2e9d36a4.tar.gz) = 93f8acb6ec6b0b1ab13e47df4ab38197152d6fdf6edaa3c0f5a31f9d0c1d85c63cfc8397de3e659d3d6d98953e52d084ff3877dad172a224f5f252b292d61aa9 +SHA512 (SPIRV-Tools-4ef3b3e0b98d36083cb330c6b386feb51421b811.tar.gz) = 88b4a835f86900e993efd655ccebf69d3b6a30bba527fee4ce44260dbcad0b720783897528a866e6687c40830a121e1ab9008fa7d2e918dee62ff2448fecd96b +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.42.0.tar.gz) = 2c35aecffc60992023184e499d036d99a3c39b3b3856341f341fc9c5b2b0c71cc49a4658634165f4d5218a7202f4c2ddfb95107ba95f2c8a9870e375cff7a15b diff --git a/spirv.hpp b/spirv.hpp index bb3c3f4..5580c40 100644 --- a/spirv.hpp +++ b/spirv.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2016 The Khronos Group Inc. +// Copyright (c) 2014-2017 The Khronos Group Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and/or associated documentation files (the "Materials"), @@ -47,11 +47,11 @@ namespace spv { typedef unsigned int Id; #define SPV_VERSION 0x10000 -#define SPV_REVISION 8 +#define SPV_REVISION 10 static const unsigned int MagicNumber = 0x07230203; static const unsigned int Version = 0x00010000; -static const unsigned int Revision = 8; +static const unsigned int Revision = 10; static const unsigned int OpCodeMask = 0xffff; static const unsigned int WordCountShift = 16; @@ -61,7 +61,6 @@ enum SourceLanguage { SourceLanguageGLSL = 2, SourceLanguageOpenCL_C = 3, SourceLanguageOpenCL_CPP = 4, - SourceLanguageHLSL = 5, SourceLanguageMax = 0x7fffffff, }; @@ -375,6 +374,10 @@ enum Decoration { DecorationNoContraction = 42, DecorationInputAttachmentIndex = 43, DecorationAlignment = 44, + DecorationOverrideCoverageNV = 5248, + DecorationPassthroughNV = 5250, + DecorationViewportRelativeNV = 5252, + DecorationSecondaryViewportRelativeNV = 5256, DecorationMax = 0x7fffffff, }; @@ -428,6 +431,13 @@ enum BuiltIn { BuiltInBaseVertex = 4424, BuiltInBaseInstance = 4425, BuiltInDrawIndex = 4426, + BuiltInDeviceIndex = 4438, + BuiltInViewIndex = 4440, + BuiltInViewportMaskNV = 5253, + BuiltInSecondaryPositionNV = 5257, + BuiltInSecondaryViewportMaskNV = 5258, + BuiltInPositionPerViewNV = 5261, + BuiltInViewportMaskPerViewNV = 5262, BuiltInMax = 0x7fffffff, }; @@ -605,6 +615,19 @@ enum Capability { CapabilityMultiViewport = 57, CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, + CapabilitySubgroupVoteKHR = 4431, + CapabilityStorageUniformBufferBlock16 = 4433, + CapabilityStorageUniform16 = 4434, + CapabilityStoragePushConstant16 = 4435, + CapabilityStorageInputOutput16 = 4436, + CapabilityDeviceGroup = 4437, + CapabilityMultiView = 4439, + CapabilitySampleMaskOverrideCoverageNV = 5249, + CapabilityGeometryShaderPassthroughNV = 5251, + CapabilityShaderViewportIndexLayerNV = 5254, + CapabilityShaderViewportMaskNV = 5255, + CapabilityShaderStereoViewNV = 5259, + CapabilityPerViewAttributesNV = 5260, CapabilityMax = 0x7fffffff, }; @@ -905,6 +928,10 @@ enum Op { OpImageSparseRead = 320, OpSubgroupBallotKHR = 4421, OpSubgroupFirstInvocationKHR = 4422, + OpSubgroupAllKHR = 4428, + OpSubgroupAnyKHR = 4429, + OpSubgroupAllEqualKHR = 4430, + OpSubgroupReadInvocationKHR = 4432, OpMax = 0x7fffffff, }; diff --git a/vulkan.spec b/vulkan.spec index 74fb7e3..64e1a6d 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -10,22 +10,22 @@ %global srcname Vulkan-LoaderAndValidationLayers %if 0%{?use_layers} -%global commit1 807a0d9e2f4e176f75d62ac3c179c81800ec2608 +%global commit1 f67f9d7e4d0c699e2829bd563d6b45b1dc21876c %global srcname1 glslang -%global commit2 37422e9dba1a3a8cb8028b779dd546d43add6ef8 +%global commit2 4ef3b3e0b98d36083cb330c6b386feb51421b811 %global srcname2 SPIRV-Tools -%global commit3 c470b68225a04965bf87d35e143ae92f831e8110 +%global commit3 88d9403777e2b9dd08d6304d562f990e2e9d36a4 %global srcname3 SPIRV-Headers %endif Name: vulkan -Version: 1.0.39.1 +Version: 1.0.42.0 %if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} +Release: 0.1.git%{shortcommit}%{?dist} %else -Release: 2%{?dist} +Release: 1%{?dist} %endif Summary: Vulkan loader and validation layers @@ -198,6 +198,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Fri Mar 03 2017 Leigh Scott - 1.0.42.0-1 +- Update to 1.0.42.0 release + * Sat Feb 11 2017 Fedora Release Engineering - 1.0.39.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From d563cea6ffeb62018600dfe5bc8f5b4e148e4330 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 1 Apr 2017 08:24:57 +0100 Subject: [PATCH 13/55] Update to 1.0.42.2 release --- sources | 8 ++++---- vulkan.spec | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sources b/sources index dc11623..a3f959d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-f67f9d7e4d0c699e2829bd563d6b45b1dc21876c.tar.gz) = 54ff2a8280a67af814d71a04a5f92c4fd5cbf5672ce8c3cad1536c16ff7c570b2b654ab1cb4cb3d2dea65b3ca8336021b7be97fafd6beb6f10784a9ff5cc13b4 -SHA512 (SPIRV-Headers-88d9403777e2b9dd08d6304d562f990e2e9d36a4.tar.gz) = 93f8acb6ec6b0b1ab13e47df4ab38197152d6fdf6edaa3c0f5a31f9d0c1d85c63cfc8397de3e659d3d6d98953e52d084ff3877dad172a224f5f252b292d61aa9 -SHA512 (SPIRV-Tools-4ef3b3e0b98d36083cb330c6b386feb51421b811.tar.gz) = 88b4a835f86900e993efd655ccebf69d3b6a30bba527fee4ce44260dbcad0b720783897528a866e6687c40830a121e1ab9008fa7d2e918dee62ff2448fecd96b -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.42.0.tar.gz) = 2c35aecffc60992023184e499d036d99a3c39b3b3856341f341fc9c5b2b0c71cc49a4658634165f4d5218a7202f4c2ddfb95107ba95f2c8a9870e375cff7a15b +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.42.2.tar.gz) = 6f591bcb69edde516cf170936e23a3f19f2f57a22b65d19683c10528ed6559501d3dae29ee1d3e820a81a5cd6e608f5710ba15f7c9bc050ea0eaceef2cf82d37 +SHA512 (SPIRV-Tools-7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4.tar.gz) = 39528fdcad71ed7b5d0d9d78c2997126d5985a97297c328c35c6e8099a73cc2cccb6264828c9edcbdb5177ab6c970f4da62c7a1fb927dd49949f912e815aab60 +SHA512 (SPIRV-Headers-6c08995e6e7b94129e6086c78198c77111f2f262.tar.gz) = b58e7f41d53d8d8454104b78e86a16e0acca567f2ba1a1ed9db42dd8f92195a657640fd5b61a4261736ef759aec59a4c9aebe1041ac67275ff448a3c252291f1 +SHA512 (glslang-714e58b2fc5a45714596e6aa2f6ac8f64260365c.tar.gz) = 64dbbf0dd6c5def3cacb5a016922df8372bbf15624d832825ca2896f20c12b0fa61b0d12b79ae1fb5591dd50fd9582952656f3e35b5ba1767d3618507449b24e diff --git a/vulkan.spec b/vulkan.spec index 64e1a6d..8dc32c1 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -10,18 +10,18 @@ %global srcname Vulkan-LoaderAndValidationLayers %if 0%{?use_layers} -%global commit1 f67f9d7e4d0c699e2829bd563d6b45b1dc21876c +%global commit1 714e58b2fc5a45714596e6aa2f6ac8f64260365c %global srcname1 glslang -%global commit2 4ef3b3e0b98d36083cb330c6b386feb51421b811 -%global srcname2 SPIRV-Tools - -%global commit3 88d9403777e2b9dd08d6304d562f990e2e9d36a4 +%global commit3 6c08995e6e7b94129e6086c78198c77111f2f262 %global srcname3 SPIRV-Headers + +%global commit2 7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4 +%global srcname2 SPIRV-Tools %endif Name: vulkan -Version: 1.0.42.0 +Version: 1.0.42.2 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -198,6 +198,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %endif %changelog +* Sat Apr 01 2017 Leigh Scott - 1.0.42.2-1 +- Update to 1.0.42.2 release + * Fri Mar 03 2017 Leigh Scott - 1.0.42.0-1 - Update to 1.0.42.0 release From 62d9cb14ead211ab4851cdd33442802e82952e61 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 14 Apr 2017 09:35:58 +0100 Subject: [PATCH 14/55] Update to 1.0.46.0 release --- 0008-demos-Don-t-build-tri-or-cube.patch | 29 ++++++---------- smoke-check-for-installed-so.patch | 25 ++++++++++++++ sources | 2 +- spirv.hpp | 0 vulkan.spec | 42 ++++++++++++++---------- 5 files changed, 61 insertions(+), 37 deletions(-) create mode 100644 smoke-check-for-installed-so.patch mode change 100644 => 100755 spirv.hpp diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index 6d36ce1..82ff259 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,12 +1,9 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -58,48 +58,7 @@ - set (LIBRARIES "${API_LOWERCASE}-${MAJOR}") - elseif(UNIX) - set (LIBRARIES "${API_LOWERCASE}") --else() --endif() -- +@@ -63,46 +63,6 @@ + else() + endif() + -if(WIN32) - # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. - # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the @@ -46,11 +43,11 @@ - DEPENDS cube.frag ${GLSLANG_VALIDATOR} - ) - endif() -+else() - endif() +-endif() if(WIN32) -@@ -114,44 +73,6 @@ + include_directories ( +@@ -116,38 +76,6 @@ add_executable(${API_LOWERCASE}info vulkaninfo.c) target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) @@ -86,13 +83,7 @@ - target_link_libraries(cubepp ${LIBRARIES}) -endif() - --if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) -- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) -- add_subdirectory(smoke) -- endif() --endif() -- - if(UNIX) - install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() + if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) + if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) + add_subdirectory(smoke) diff --git a/smoke-check-for-installed-so.patch b/smoke-check-for-installed-so.patch new file mode 100644 index 0000000..bcb333e --- /dev/null +++ b/smoke-check-for-installed-so.patch @@ -0,0 +1,25 @@ +Description: Check for the installed .so and avoid dependin on -dev +Author: Timo Aaltonen + +--- a/demos/smoke/ShellXcb.cpp ++++ b/demos/smoke/ShellXcb.cpp +@@ -132,7 +132,7 @@ void ShellXcb::create_window() { + } + + PFN_vkGetInstanceProcAddr ShellXcb::load_vk() { +- const char filename[] = "libvulkan.so"; ++ const char filename[] = "libvulkan.so.1"; + void *handle, *symbol; + + #ifdef UNINSTALLED_LOADER +--- a/demos/smoke/ShellWayland.cpp ++++ b/demos/smoke/ShellWayland.cpp +@@ -156,7 +156,7 @@ void ShellWayland::create_window() { + } + + PFN_vkGetInstanceProcAddr ShellWayland::load_vk() { +- const char filename[] = "libvulkan.so"; ++ const char filename[] = "libvulkan.so.1"; + void *handle, *symbol; + + #ifdef UNINSTALLED_LOADER diff --git a/sources b/sources index a3f959d..1eb36c5 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.42.2.tar.gz) = 6f591bcb69edde516cf170936e23a3f19f2f57a22b65d19683c10528ed6559501d3dae29ee1d3e820a81a5cd6e608f5710ba15f7c9bc050ea0eaceef2cf82d37 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0.tar.gz) = dc0728c00e017a2ed0b1e34a500a6335f6dee5dd77c7801d7d450c68c6e8c7cd5dec640be6dec1dea28941d927764a636b82a628e0260ca724163afa4152d8b6 SHA512 (SPIRV-Tools-7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4.tar.gz) = 39528fdcad71ed7b5d0d9d78c2997126d5985a97297c328c35c6e8099a73cc2cccb6264828c9edcbdb5177ab6c970f4da62c7a1fb927dd49949f912e815aab60 SHA512 (SPIRV-Headers-6c08995e6e7b94129e6086c78198c77111f2f262.tar.gz) = b58e7f41d53d8d8454104b78e86a16e0acca567f2ba1a1ed9db42dd8f92195a657640fd5b61a4261736ef759aec59a4c9aebe1041ac67275ff448a3c252291f1 SHA512 (glslang-714e58b2fc5a45714596e6aa2f6ac8f64260365c.tar.gz) = 64dbbf0dd6c5def3cacb5a016922df8372bbf15624d832825ca2896f20c12b0fa61b0d12b79ae1fb5591dd50fd9582952656f3e35b5ba1767d3618507449b24e diff --git a/spirv.hpp b/spirv.hpp old mode 100644 new mode 100755 diff --git a/vulkan.spec b/vulkan.spec index 8dc32c1..7c47046 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -13,15 +13,15 @@ %global commit1 714e58b2fc5a45714596e6aa2f6ac8f64260365c %global srcname1 glslang -%global commit3 6c08995e6e7b94129e6086c78198c77111f2f262 -%global srcname3 SPIRV-Headers +%global commit2 6c08995e6e7b94129e6086c78198c77111f2f262 +%global srcname2 SPIRV-Headers -%global commit2 7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4 -%global srcname2 SPIRV-Tools +%global commit3 7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4 +%global srcname3 SPIRV-Tools %endif Name: vulkan -Version: 1.0.42.2 +Version: 1.0.46.0 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -44,10 +44,10 @@ Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit %else Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/master/SPIRV/spirv.hpp %endif -# All patches taken from ajax's repo -# https://github.com/nwnk/Vulkan-LoaderAndValidationLayers/tree/sdk-1.0.3-fedora + Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch +Patch2: smoke-check-for-installed-so.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -106,8 +106,8 @@ Filesystem for Vulkan. %if 0%{?use_layers} mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 -tar -xf %{SOURCE2} -C external/spirv-tools --strip 1 -tar -xf %{SOURCE3} -C external/spirv-tools/external/spirv-headers --strip 1 +tar -xf %{SOURCE2} -C external/spirv-tools/external/spirv-headers --strip 1 +tar -xf %{SOURCE3} -C external/spirv-tools --strip 1 # fix spurious-executable-perm chmod 0644 README.md chmod 0644 external/glslang/SPIRV/spirv.hpp @@ -162,10 +162,12 @@ pushd build/ popd %if 0%{?use_layers} -mkdir -p %{buildroot}%{_datadir}/vulkan/implicit_layer.d -mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ %{buildroot}%{_datadir}/vulkan/ +mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ +mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/*.json %{buildroot}%{_datadir}/vulkan/explicit_layer.d/ %endif +install -T build/demos/smoketest %{buildroot}%{_bindir}/vulkan-smoketest + # remove RPATH chrpath -d %{buildroot}%{_bindir}/vulkaninfo @@ -178,26 +180,32 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md %{_bindir}/vulkaninfo +%{_bindir}/vulkan-smoketest %if 0%{?use_layers} %{_datadir}/vulkan/explicit_layer.d/*.json %{_libdir}/libVkLayer_*.so %endif -%{_libdir}/lib%{name}.so.* +%{_libdir}/libvulkan.so.* %files devel -%{_includedir}/%{name}/ -%{_libdir}/lib%{name}.so +%{_includedir}/vulkan/ +%{_libdir}/pkgconfig/vulkan.pc +%{_libdir}/libvulkan.so %files filesystem %dir %{_sysconfdir}/vulkan +%dir %{_sysconfdir}/vulkan/explicit_layer.d %dir %{_sysconfdir}/vulkan/icd.d %if 0%{?use_layers} -%dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/explicit_layer.d -%dir %{_datadir}/%{name}/implicit_layer.d +%dir %{_datadir}/vulkan +%dir %{_datadir}/vulkan/explicit_layer.d +%dir %{_datadir}/vulkan/implicit_layer.d %endif %changelog +* Fri Apr 14 2017 Leigh Scott - 1.0.46.0-1 +- Update to 1.0.46.0 release + * Sat Apr 01 2017 Leigh Scott - 1.0.42.2-1 - Update to 1.0.42.2 release From 5d28910a098e2462fcd89ed4776b3aabe72cfaa1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 14 Apr 2017 11:40:27 +0100 Subject: [PATCH 15/55] Fix epel build --- vulkan.spec | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 7c47046..b44d5b2 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -23,9 +23,9 @@ Name: vulkan Version: 1.0.46.0 %if 0%{?use_git} -Release: 0.1.git%{shortcommit}%{?dist} +Release: 0.2.git%{shortcommit}%{?dist} %else -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Vulkan loader and validation layers @@ -114,6 +114,7 @@ chmod 0644 external/glslang/SPIRV/spirv.hpp %else mkdir -p build/ cp %{SOURCE4} . +sed -i -e 's@add_subdirectory(smoke)@@g' demos/CMakeLists.txt %endif # fix wrong-script-end-of-line-encoding sed -i 's/\r//' README.md @@ -164,9 +165,11 @@ popd %if 0%{?use_layers} mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/*.json %{buildroot}%{_datadir}/vulkan/explicit_layer.d/ -%endif - install -T build/demos/smoketest %{buildroot}%{_bindir}/vulkan-smoketest +%else +mkdir -p %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ +mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ +%endif # remove RPATH chrpath -d %{buildroot}%{_bindir}/vulkaninfo @@ -180,8 +183,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md %{_bindir}/vulkaninfo -%{_bindir}/vulkan-smoketest %if 0%{?use_layers} +%{_bindir}/vulkan-smoketest %{_datadir}/vulkan/explicit_layer.d/*.json %{_libdir}/libVkLayer_*.so %endif @@ -196,13 +199,14 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %dir %{_sysconfdir}/vulkan %dir %{_sysconfdir}/vulkan/explicit_layer.d %dir %{_sysconfdir}/vulkan/icd.d -%if 0%{?use_layers} %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/explicit_layer.d %dir %{_datadir}/vulkan/implicit_layer.d -%endif %changelog +* Fri Apr 14 2017 Leigh Scott - 1.0.46.0-2 +- Fix epel build + * Fri Apr 14 2017 Leigh Scott - 1.0.46.0-1 - Update to 1.0.46.0 release From 29c5a8a347a986726e416ace879f24ecc48bbf04 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 20:01:44 +0000 Subject: [PATCH 16/55] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index b44d5b2..6032066 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -23,9 +23,9 @@ Name: vulkan Version: 1.0.46.0 %if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} +Release: 0.3.git%{shortcommit}%{?dist} %else -Release: 2%{?dist} +Release: 3%{?dist} %endif Summary: Vulkan loader and validation layers @@ -204,6 +204,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %dir %{_datadir}/vulkan/implicit_layer.d %changelog +* Mon May 15 2017 Fedora Release Engineering - 1.0.46.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Fri Apr 14 2017 Leigh Scott - 1.0.46.0-2 - Fix epel build From f8d40ddf29351dadccfa86b73cbbad0eba56d0c8 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 16 Jun 2017 09:50:25 +0100 Subject: [PATCH 17/55] Update to 1.0.51.0 release --- 0003-layers-Don-t-set-an-rpath.patch | 2 +- sources | 8 ++++---- spirv.hpp | 6 ++++++ vulkan.spec | 24 ++++++++++++++---------- 4 files changed, 25 insertions(+), 15 deletions(-) mode change 100755 => 100644 spirv.hpp diff --git a/0003-layers-Don-t-set-an-rpath.patch b/0003-layers-Don-t-set-an-rpath.patch index 35b9627..edab110 100644 --- a/0003-layers-Don-t-set-an-rpath.patch +++ b/0003-layers-Don-t-set-an-rpath.patch @@ -1,7 +1,7 @@ --- a/tests/layers/CMakeLists.txt +++ b/tests/layers/CMakeLists.txt @@ -4,9 +4,6 @@ - VkLayer_wrap_objects + VkLayer_device_profile_api VkLayer_test ) - diff --git a/sources b/sources index 1eb36c5..85572b1 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0.tar.gz) = dc0728c00e017a2ed0b1e34a500a6335f6dee5dd77c7801d7d450c68c6e8c7cd5dec640be6dec1dea28941d927764a636b82a628e0260ca724163afa4152d8b6 -SHA512 (SPIRV-Tools-7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4.tar.gz) = 39528fdcad71ed7b5d0d9d78c2997126d5985a97297c328c35c6e8099a73cc2cccb6264828c9edcbdb5177ab6c970f4da62c7a1fb927dd49949f912e815aab60 -SHA512 (SPIRV-Headers-6c08995e6e7b94129e6086c78198c77111f2f262.tar.gz) = b58e7f41d53d8d8454104b78e86a16e0acca567f2ba1a1ed9db42dd8f92195a657640fd5b61a4261736ef759aec59a4c9aebe1041ac67275ff448a3c252291f1 -SHA512 (glslang-714e58b2fc5a45714596e6aa2f6ac8f64260365c.tar.gz) = 64dbbf0dd6c5def3cacb5a016922df8372bbf15624d832825ca2896f20c12b0fa61b0d12b79ae1fb5591dd50fd9582952656f3e35b5ba1767d3618507449b24e +SHA512 (glslang-91c46c656720a6e1e71a3411cd1f4f792b427b2d.tar.gz) = d71c3f55aacd5362612f2ea4c4d2a2f54150d725ad287ab8ff675b7653c2b0bcabd54a54d16a6cc989e7dc7b4e044ce64b2ba8b62aff2170e224eeb02b59b4a4 +SHA512 (SPIRV-Headers-63e1062a194750b354d48be8c16750d7a4d0dc4e.tar.gz) = b5c0d15bdf24f7ba4e4beee87678dee5c3fc994c7afccf6a8ddabefce1478abd32b0eee2fd740fec6fa9502ef0bf27066cab16179b9916793fdd5ee300c374e6 +SHA512 (SPIRV-Tools-7c8da66bc27cc5c4ccb6a0fa612f56c9417518ff.tar.gz) = 4934253845d2fc01c556ae33aa587907a5100f805b9160b8ad09ebb29677c14d6b2c772544e6df041dd432eb903873a52d83de3baf24158ef43cb6b0b43fb247 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.51.0.tar.gz) = 5d198fc9537c8fa3cbde19fc74f8d47595fabcb52c8db1c626fa157f171ed74ad202e086f7c9e94827c1ab682d03bae58af690c510c6705ca92db0548ee575f6 diff --git a/spirv.hpp b/spirv.hpp old mode 100755 new mode 100644 index 5580c40..91cb59e --- a/spirv.hpp +++ b/spirv.hpp @@ -61,6 +61,7 @@ enum SourceLanguage { SourceLanguageGLSL = 2, SourceLanguageOpenCL_C = 3, SourceLanguageOpenCL_CPP = 4, + SourceLanguageHLSL = 5, SourceLanguageMax = 0x7fffffff, }; @@ -137,6 +138,7 @@ enum StorageClass { StorageClassPushConstant = 9, StorageClassAtomicCounter = 10, StorageClassImage = 11, + StorageClassStorageBuffer = 12, StorageClassMax = 0x7fffffff, }; @@ -616,12 +618,16 @@ enum Capability { CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, CapabilitySubgroupVoteKHR = 4431, + CapabilityStorageBuffer16BitAccess = 4433, CapabilityStorageUniformBufferBlock16 = 4433, CapabilityStorageUniform16 = 4434, + CapabilityUniformAndStorageBuffer16BitAccess = 4434, CapabilityStoragePushConstant16 = 4435, CapabilityStorageInputOutput16 = 4436, CapabilityDeviceGroup = 4437, CapabilityMultiView = 4439, + CapabilityVariablePointersStorageBuffer = 4441, + CapabilityVariablePointers = 4442, CapabilitySampleMaskOverrideCoverageNV = 5249, CapabilityGeometryShaderPassthroughNV = 5251, CapabilityShaderViewportIndexLayerNV = 5254, diff --git a/vulkan.spec b/vulkan.spec index 6032066..4b2ee1e 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,23 +9,24 @@ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers +%global commit1 91c46c656720a6e1e71a3411cd1f4f792b427b2d + %if 0%{?use_layers} -%global commit1 714e58b2fc5a45714596e6aa2f6ac8f64260365c %global srcname1 glslang -%global commit2 6c08995e6e7b94129e6086c78198c77111f2f262 +%global commit2 63e1062a194750b354d48be8c16750d7a4d0dc4e %global srcname2 SPIRV-Headers -%global commit3 7fe8a57a5bd72094e91f9f93e51dac2f2461dcb4 +%global commit3 7c8da66bc27cc5c4ccb6a0fa612f56c9417518ff %global srcname3 SPIRV-Tools %endif Name: vulkan -Version: 1.0.46.0 +Version: 1.0.51.0 %if 0%{?use_git} -Release: 0.3.git%{shortcommit}%{?dist} +Release: 0.1.git%{shortcommit}%{?dist} %else -Release: 3%{?dist} +Release: 1%{?dist} %endif Summary: Vulkan loader and validation layers @@ -42,12 +43,11 @@ Source1: %url/%{srcname1}/archive/%{commit1}.tar.gz#/%{srcname1}-%{commit Source2: %url/%{srcname2}/archive/%{commit2}.tar.gz#/%{srcname2}-%{commit2}.tar.gz Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit3}.tar.gz %else -Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/master/SPIRV/spirv.hpp +Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/%{commit1}/SPIRV/spirv.hpp %endif Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch -Patch2: smoke-check-for-installed-so.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -128,7 +128,7 @@ pushd external/glslang/build/ CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS ; CXXFLAGS="$RPM_OPT_FLAGS" ; export CXXFLAGS ; LDFLAGS="$RPM_LD_FLAGS" ; export LDFLAGS ; -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. %make_build make install popd @@ -165,7 +165,8 @@ popd %if 0%{?use_layers} mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/*.json %{buildroot}%{_datadir}/vulkan/explicit_layer.d/ -install -T build/demos/smoketest %{buildroot}%{_bindir}/vulkan-smoketest +# rename smoketest +mv %{buildroot}%{_bindir}/smoketest %{buildroot}%{_bindir}/vulkan-smoketest %else mkdir -p %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ @@ -204,6 +205,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %dir %{_datadir}/vulkan/implicit_layer.d %changelog +* Fri Jun 16 2017 Leigh Scott - 1.0.51.0-1 +- Update to 1.0.51.0 release + * Mon May 15 2017 Fedora Release Engineering - 1.0.46.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From e07d30318215e4a5068c98c2ca2d92665c61e4a6 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 16 Jun 2017 09:56:24 +0100 Subject: [PATCH 18/55] remove obsolete patch --- smoke-check-for-installed-so.patch | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 smoke-check-for-installed-so.patch diff --git a/smoke-check-for-installed-so.patch b/smoke-check-for-installed-so.patch deleted file mode 100644 index bcb333e..0000000 --- a/smoke-check-for-installed-so.patch +++ /dev/null @@ -1,25 +0,0 @@ -Description: Check for the installed .so and avoid dependin on -dev -Author: Timo Aaltonen - ---- a/demos/smoke/ShellXcb.cpp -+++ b/demos/smoke/ShellXcb.cpp -@@ -132,7 +132,7 @@ void ShellXcb::create_window() { - } - - PFN_vkGetInstanceProcAddr ShellXcb::load_vk() { -- const char filename[] = "libvulkan.so"; -+ const char filename[] = "libvulkan.so.1"; - void *handle, *symbol; - - #ifdef UNINSTALLED_LOADER ---- a/demos/smoke/ShellWayland.cpp -+++ b/demos/smoke/ShellWayland.cpp -@@ -156,7 +156,7 @@ void ShellWayland::create_window() { - } - - PFN_vkGetInstanceProcAddr ShellWayland::load_vk() { -- const char filename[] = "libvulkan.so"; -+ const char filename[] = "libvulkan.so.1"; - void *handle, *symbol; - - #ifdef UNINSTALLED_LOADER From a8bb022d184473454ec9fe8404eb5f89d2fb4ba7 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 22 Jul 2017 15:28:51 +0100 Subject: [PATCH 19/55] Update to 1.0.54.0 release --- sources | 8 +- spirv.hpp | 958 ---------------------------------------------------- vulkan.spec | 98 +++--- 3 files changed, 49 insertions(+), 1015 deletions(-) delete mode 100644 spirv.hpp diff --git a/sources b/sources index 85572b1..bc7e86d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-91c46c656720a6e1e71a3411cd1f4f792b427b2d.tar.gz) = d71c3f55aacd5362612f2ea4c4d2a2f54150d725ad287ab8ff675b7653c2b0bcabd54a54d16a6cc989e7dc7b4e044ce64b2ba8b62aff2170e224eeb02b59b4a4 -SHA512 (SPIRV-Headers-63e1062a194750b354d48be8c16750d7a4d0dc4e.tar.gz) = b5c0d15bdf24f7ba4e4beee87678dee5c3fc994c7afccf6a8ddabefce1478abd32b0eee2fd740fec6fa9502ef0bf27066cab16179b9916793fdd5ee300c374e6 -SHA512 (SPIRV-Tools-7c8da66bc27cc5c4ccb6a0fa612f56c9417518ff.tar.gz) = 4934253845d2fc01c556ae33aa587907a5100f805b9160b8ad09ebb29677c14d6b2c772544e6df041dd432eb903873a52d83de3baf24158ef43cb6b0b43fb247 -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.51.0.tar.gz) = 5d198fc9537c8fa3cbde19fc74f8d47595fabcb52c8db1c626fa157f171ed74ad202e086f7c9e94827c1ab682d03bae58af690c510c6705ca92db0548ee575f6 +SHA512 (glslang-9645f78293a59780b06ba93938bc46850b2c5b3c.tar.gz) = 561afd1205dd213d9d3bb90f825d30aef964217852739a2fc6d0c041776d5ecaa91f6277503bc2eedff4d9bc97818359fe285dd489c019ac327ed2b8c0ec42a2 +SHA512 (SPIRV-Headers-661ad91124e6af2272afd00f804d8aa276e17107.tar.gz) = e4af0bf25f4ceea74f7669547718b3d2a874fd394436eebe5d811841b089ea1c4341c1cfda6e32d67cd84e9d8f8ce2b312543a793067fdaf84198e168e2f476b +SHA512 (SPIRV-Tools-abc6f5a67288b50846b9ef5f21a8100edd36d7c8.tar.gz) = 706aaf33c1ebb8e0d4abf3200d61e2454ce4d22b3db2830b7c8a4cc9685af57596fe8289805d095ce71ae45c654852fcb4879b1da4338f967435a9ca1acac7cb +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.54.0.tar.gz) = f5478e1a7f966a2d09b97a3b47a04b4c9ccd68b88126fefcd6f97bfd0347c5a5bebf52e1cdfccc4863d22dd3b875e04cddf406e3e546eb3dc50d2ef61d85a21f diff --git a/spirv.hpp b/spirv.hpp deleted file mode 100644 index 91cb59e..0000000 --- a/spirv.hpp +++ /dev/null @@ -1,958 +0,0 @@ -// Copyright (c) 2014-2017 The Khronos Group Inc. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and/or associated documentation files (the "Materials"), -// to deal in the Materials without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Materials, and to permit persons to whom the -// Materials are furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Materials. -// -// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -// -// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -// IN THE MATERIALS. - -// This header is automatically generated by the same tool that creates -// the Binary Section of the SPIR-V specification. - -// Enumeration tokens for SPIR-V, in various styles: -// C, C++, C++11, JSON, Lua, Python -// -// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL -// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL -// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL -// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL -// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] -// -// Some tokens act like mask values, which can be OR'd together, -// while others are mutually exclusive. The mask-like ones have -// "Mask" in their name, and a parallel enum that has the shift -// amount (1 << x) for each corresponding enumerant. - -#ifndef spirv_HPP -#define spirv_HPP - -namespace spv { - -typedef unsigned int Id; - -#define SPV_VERSION 0x10000 -#define SPV_REVISION 10 - -static const unsigned int MagicNumber = 0x07230203; -static const unsigned int Version = 0x00010000; -static const unsigned int Revision = 10; -static const unsigned int OpCodeMask = 0xffff; -static const unsigned int WordCountShift = 16; - -enum SourceLanguage { - SourceLanguageUnknown = 0, - SourceLanguageESSL = 1, - SourceLanguageGLSL = 2, - SourceLanguageOpenCL_C = 3, - SourceLanguageOpenCL_CPP = 4, - SourceLanguageHLSL = 5, - SourceLanguageMax = 0x7fffffff, -}; - -enum ExecutionModel { - ExecutionModelVertex = 0, - ExecutionModelTessellationControl = 1, - ExecutionModelTessellationEvaluation = 2, - ExecutionModelGeometry = 3, - ExecutionModelFragment = 4, - ExecutionModelGLCompute = 5, - ExecutionModelKernel = 6, - ExecutionModelMax = 0x7fffffff, -}; - -enum AddressingModel { - AddressingModelLogical = 0, - AddressingModelPhysical32 = 1, - AddressingModelPhysical64 = 2, - AddressingModelMax = 0x7fffffff, -}; - -enum MemoryModel { - MemoryModelSimple = 0, - MemoryModelGLSL450 = 1, - MemoryModelOpenCL = 2, - MemoryModelMax = 0x7fffffff, -}; - -enum ExecutionMode { - ExecutionModeInvocations = 0, - ExecutionModeSpacingEqual = 1, - ExecutionModeSpacingFractionalEven = 2, - ExecutionModeSpacingFractionalOdd = 3, - ExecutionModeVertexOrderCw = 4, - ExecutionModeVertexOrderCcw = 5, - ExecutionModePixelCenterInteger = 6, - ExecutionModeOriginUpperLeft = 7, - ExecutionModeOriginLowerLeft = 8, - ExecutionModeEarlyFragmentTests = 9, - ExecutionModePointMode = 10, - ExecutionModeXfb = 11, - ExecutionModeDepthReplacing = 12, - ExecutionModeDepthGreater = 14, - ExecutionModeDepthLess = 15, - ExecutionModeDepthUnchanged = 16, - ExecutionModeLocalSize = 17, - ExecutionModeLocalSizeHint = 18, - ExecutionModeInputPoints = 19, - ExecutionModeInputLines = 20, - ExecutionModeInputLinesAdjacency = 21, - ExecutionModeTriangles = 22, - ExecutionModeInputTrianglesAdjacency = 23, - ExecutionModeQuads = 24, - ExecutionModeIsolines = 25, - ExecutionModeOutputVertices = 26, - ExecutionModeOutputPoints = 27, - ExecutionModeOutputLineStrip = 28, - ExecutionModeOutputTriangleStrip = 29, - ExecutionModeVecTypeHint = 30, - ExecutionModeContractionOff = 31, - ExecutionModeMax = 0x7fffffff, -}; - -enum StorageClass { - StorageClassUniformConstant = 0, - StorageClassInput = 1, - StorageClassUniform = 2, - StorageClassOutput = 3, - StorageClassWorkgroup = 4, - StorageClassCrossWorkgroup = 5, - StorageClassPrivate = 6, - StorageClassFunction = 7, - StorageClassGeneric = 8, - StorageClassPushConstant = 9, - StorageClassAtomicCounter = 10, - StorageClassImage = 11, - StorageClassStorageBuffer = 12, - StorageClassMax = 0x7fffffff, -}; - -enum Dim { - Dim1D = 0, - Dim2D = 1, - Dim3D = 2, - DimCube = 3, - DimRect = 4, - DimBuffer = 5, - DimSubpassData = 6, - DimMax = 0x7fffffff, -}; - -enum SamplerAddressingMode { - SamplerAddressingModeNone = 0, - SamplerAddressingModeClampToEdge = 1, - SamplerAddressingModeClamp = 2, - SamplerAddressingModeRepeat = 3, - SamplerAddressingModeRepeatMirrored = 4, - SamplerAddressingModeMax = 0x7fffffff, -}; - -enum SamplerFilterMode { - SamplerFilterModeNearest = 0, - SamplerFilterModeLinear = 1, - SamplerFilterModeMax = 0x7fffffff, -}; - -enum ImageFormat { - ImageFormatUnknown = 0, - ImageFormatRgba32f = 1, - ImageFormatRgba16f = 2, - ImageFormatR32f = 3, - ImageFormatRgba8 = 4, - ImageFormatRgba8Snorm = 5, - ImageFormatRg32f = 6, - ImageFormatRg16f = 7, - ImageFormatR11fG11fB10f = 8, - ImageFormatR16f = 9, - ImageFormatRgba16 = 10, - ImageFormatRgb10A2 = 11, - ImageFormatRg16 = 12, - ImageFormatRg8 = 13, - ImageFormatR16 = 14, - ImageFormatR8 = 15, - ImageFormatRgba16Snorm = 16, - ImageFormatRg16Snorm = 17, - ImageFormatRg8Snorm = 18, - ImageFormatR16Snorm = 19, - ImageFormatR8Snorm = 20, - ImageFormatRgba32i = 21, - ImageFormatRgba16i = 22, - ImageFormatRgba8i = 23, - ImageFormatR32i = 24, - ImageFormatRg32i = 25, - ImageFormatRg16i = 26, - ImageFormatRg8i = 27, - ImageFormatR16i = 28, - ImageFormatR8i = 29, - ImageFormatRgba32ui = 30, - ImageFormatRgba16ui = 31, - ImageFormatRgba8ui = 32, - ImageFormatR32ui = 33, - ImageFormatRgb10a2ui = 34, - ImageFormatRg32ui = 35, - ImageFormatRg16ui = 36, - ImageFormatRg8ui = 37, - ImageFormatR16ui = 38, - ImageFormatR8ui = 39, - ImageFormatMax = 0x7fffffff, -}; - -enum ImageChannelOrder { - ImageChannelOrderR = 0, - ImageChannelOrderA = 1, - ImageChannelOrderRG = 2, - ImageChannelOrderRA = 3, - ImageChannelOrderRGB = 4, - ImageChannelOrderRGBA = 5, - ImageChannelOrderBGRA = 6, - ImageChannelOrderARGB = 7, - ImageChannelOrderIntensity = 8, - ImageChannelOrderLuminance = 9, - ImageChannelOrderRx = 10, - ImageChannelOrderRGx = 11, - ImageChannelOrderRGBx = 12, - ImageChannelOrderDepth = 13, - ImageChannelOrderDepthStencil = 14, - ImageChannelOrdersRGB = 15, - ImageChannelOrdersRGBx = 16, - ImageChannelOrdersRGBA = 17, - ImageChannelOrdersBGRA = 18, - ImageChannelOrderABGR = 19, - ImageChannelOrderMax = 0x7fffffff, -}; - -enum ImageChannelDataType { - ImageChannelDataTypeSnormInt8 = 0, - ImageChannelDataTypeSnormInt16 = 1, - ImageChannelDataTypeUnormInt8 = 2, - ImageChannelDataTypeUnormInt16 = 3, - ImageChannelDataTypeUnormShort565 = 4, - ImageChannelDataTypeUnormShort555 = 5, - ImageChannelDataTypeUnormInt101010 = 6, - ImageChannelDataTypeSignedInt8 = 7, - ImageChannelDataTypeSignedInt16 = 8, - ImageChannelDataTypeSignedInt32 = 9, - ImageChannelDataTypeUnsignedInt8 = 10, - ImageChannelDataTypeUnsignedInt16 = 11, - ImageChannelDataTypeUnsignedInt32 = 12, - ImageChannelDataTypeHalfFloat = 13, - ImageChannelDataTypeFloat = 14, - ImageChannelDataTypeUnormInt24 = 15, - ImageChannelDataTypeUnormInt101010_2 = 16, - ImageChannelDataTypeMax = 0x7fffffff, -}; - -enum ImageOperandsShift { - ImageOperandsBiasShift = 0, - ImageOperandsLodShift = 1, - ImageOperandsGradShift = 2, - ImageOperandsConstOffsetShift = 3, - ImageOperandsOffsetShift = 4, - ImageOperandsConstOffsetsShift = 5, - ImageOperandsSampleShift = 6, - ImageOperandsMinLodShift = 7, - ImageOperandsMax = 0x7fffffff, -}; - -enum ImageOperandsMask { - ImageOperandsMaskNone = 0, - ImageOperandsBiasMask = 0x00000001, - ImageOperandsLodMask = 0x00000002, - ImageOperandsGradMask = 0x00000004, - ImageOperandsConstOffsetMask = 0x00000008, - ImageOperandsOffsetMask = 0x00000010, - ImageOperandsConstOffsetsMask = 0x00000020, - ImageOperandsSampleMask = 0x00000040, - ImageOperandsMinLodMask = 0x00000080, -}; - -enum FPFastMathModeShift { - FPFastMathModeNotNaNShift = 0, - FPFastMathModeNotInfShift = 1, - FPFastMathModeNSZShift = 2, - FPFastMathModeAllowRecipShift = 3, - FPFastMathModeFastShift = 4, - FPFastMathModeMax = 0x7fffffff, -}; - -enum FPFastMathModeMask { - FPFastMathModeMaskNone = 0, - FPFastMathModeNotNaNMask = 0x00000001, - FPFastMathModeNotInfMask = 0x00000002, - FPFastMathModeNSZMask = 0x00000004, - FPFastMathModeAllowRecipMask = 0x00000008, - FPFastMathModeFastMask = 0x00000010, -}; - -enum FPRoundingMode { - FPRoundingModeRTE = 0, - FPRoundingModeRTZ = 1, - FPRoundingModeRTP = 2, - FPRoundingModeRTN = 3, - FPRoundingModeMax = 0x7fffffff, -}; - -enum LinkageType { - LinkageTypeExport = 0, - LinkageTypeImport = 1, - LinkageTypeMax = 0x7fffffff, -}; - -enum AccessQualifier { - AccessQualifierReadOnly = 0, - AccessQualifierWriteOnly = 1, - AccessQualifierReadWrite = 2, - AccessQualifierMax = 0x7fffffff, -}; - -enum FunctionParameterAttribute { - FunctionParameterAttributeZext = 0, - FunctionParameterAttributeSext = 1, - FunctionParameterAttributeByVal = 2, - FunctionParameterAttributeSret = 3, - FunctionParameterAttributeNoAlias = 4, - FunctionParameterAttributeNoCapture = 5, - FunctionParameterAttributeNoWrite = 6, - FunctionParameterAttributeNoReadWrite = 7, - FunctionParameterAttributeMax = 0x7fffffff, -}; - -enum Decoration { - DecorationRelaxedPrecision = 0, - DecorationSpecId = 1, - DecorationBlock = 2, - DecorationBufferBlock = 3, - DecorationRowMajor = 4, - DecorationColMajor = 5, - DecorationArrayStride = 6, - DecorationMatrixStride = 7, - DecorationGLSLShared = 8, - DecorationGLSLPacked = 9, - DecorationCPacked = 10, - DecorationBuiltIn = 11, - DecorationNoPerspective = 13, - DecorationFlat = 14, - DecorationPatch = 15, - DecorationCentroid = 16, - DecorationSample = 17, - DecorationInvariant = 18, - DecorationRestrict = 19, - DecorationAliased = 20, - DecorationVolatile = 21, - DecorationConstant = 22, - DecorationCoherent = 23, - DecorationNonWritable = 24, - DecorationNonReadable = 25, - DecorationUniform = 26, - DecorationSaturatedConversion = 28, - DecorationStream = 29, - DecorationLocation = 30, - DecorationComponent = 31, - DecorationIndex = 32, - DecorationBinding = 33, - DecorationDescriptorSet = 34, - DecorationOffset = 35, - DecorationXfbBuffer = 36, - DecorationXfbStride = 37, - DecorationFuncParamAttr = 38, - DecorationFPRoundingMode = 39, - DecorationFPFastMathMode = 40, - DecorationLinkageAttributes = 41, - DecorationNoContraction = 42, - DecorationInputAttachmentIndex = 43, - DecorationAlignment = 44, - DecorationOverrideCoverageNV = 5248, - DecorationPassthroughNV = 5250, - DecorationViewportRelativeNV = 5252, - DecorationSecondaryViewportRelativeNV = 5256, - DecorationMax = 0x7fffffff, -}; - -enum BuiltIn { - BuiltInPosition = 0, - BuiltInPointSize = 1, - BuiltInClipDistance = 3, - BuiltInCullDistance = 4, - BuiltInVertexId = 5, - BuiltInInstanceId = 6, - BuiltInPrimitiveId = 7, - BuiltInInvocationId = 8, - BuiltInLayer = 9, - BuiltInViewportIndex = 10, - BuiltInTessLevelOuter = 11, - BuiltInTessLevelInner = 12, - BuiltInTessCoord = 13, - BuiltInPatchVertices = 14, - BuiltInFragCoord = 15, - BuiltInPointCoord = 16, - BuiltInFrontFacing = 17, - BuiltInSampleId = 18, - BuiltInSamplePosition = 19, - BuiltInSampleMask = 20, - BuiltInFragDepth = 22, - BuiltInHelperInvocation = 23, - BuiltInNumWorkgroups = 24, - BuiltInWorkgroupSize = 25, - BuiltInWorkgroupId = 26, - BuiltInLocalInvocationId = 27, - BuiltInGlobalInvocationId = 28, - BuiltInLocalInvocationIndex = 29, - BuiltInWorkDim = 30, - BuiltInGlobalSize = 31, - BuiltInEnqueuedWorkgroupSize = 32, - BuiltInGlobalOffset = 33, - BuiltInGlobalLinearId = 34, - BuiltInSubgroupSize = 36, - BuiltInSubgroupMaxSize = 37, - BuiltInNumSubgroups = 38, - BuiltInNumEnqueuedSubgroups = 39, - BuiltInSubgroupId = 40, - BuiltInSubgroupLocalInvocationId = 41, - BuiltInVertexIndex = 42, - BuiltInInstanceIndex = 43, - BuiltInSubgroupEqMaskKHR = 4416, - BuiltInSubgroupGeMaskKHR = 4417, - BuiltInSubgroupGtMaskKHR = 4418, - BuiltInSubgroupLeMaskKHR = 4419, - BuiltInSubgroupLtMaskKHR = 4420, - BuiltInBaseVertex = 4424, - BuiltInBaseInstance = 4425, - BuiltInDrawIndex = 4426, - BuiltInDeviceIndex = 4438, - BuiltInViewIndex = 4440, - BuiltInViewportMaskNV = 5253, - BuiltInSecondaryPositionNV = 5257, - BuiltInSecondaryViewportMaskNV = 5258, - BuiltInPositionPerViewNV = 5261, - BuiltInViewportMaskPerViewNV = 5262, - BuiltInMax = 0x7fffffff, -}; - -enum SelectionControlShift { - SelectionControlFlattenShift = 0, - SelectionControlDontFlattenShift = 1, - SelectionControlMax = 0x7fffffff, -}; - -enum SelectionControlMask { - SelectionControlMaskNone = 0, - SelectionControlFlattenMask = 0x00000001, - SelectionControlDontFlattenMask = 0x00000002, -}; - -enum LoopControlShift { - LoopControlUnrollShift = 0, - LoopControlDontUnrollShift = 1, - LoopControlMax = 0x7fffffff, -}; - -enum LoopControlMask { - LoopControlMaskNone = 0, - LoopControlUnrollMask = 0x00000001, - LoopControlDontUnrollMask = 0x00000002, -}; - -enum FunctionControlShift { - FunctionControlInlineShift = 0, - FunctionControlDontInlineShift = 1, - FunctionControlPureShift = 2, - FunctionControlConstShift = 3, - FunctionControlMax = 0x7fffffff, -}; - -enum FunctionControlMask { - FunctionControlMaskNone = 0, - FunctionControlInlineMask = 0x00000001, - FunctionControlDontInlineMask = 0x00000002, - FunctionControlPureMask = 0x00000004, - FunctionControlConstMask = 0x00000008, -}; - -enum MemorySemanticsShift { - MemorySemanticsAcquireShift = 1, - MemorySemanticsReleaseShift = 2, - MemorySemanticsAcquireReleaseShift = 3, - MemorySemanticsSequentiallyConsistentShift = 4, - MemorySemanticsUniformMemoryShift = 6, - MemorySemanticsSubgroupMemoryShift = 7, - MemorySemanticsWorkgroupMemoryShift = 8, - MemorySemanticsCrossWorkgroupMemoryShift = 9, - MemorySemanticsAtomicCounterMemoryShift = 10, - MemorySemanticsImageMemoryShift = 11, - MemorySemanticsMax = 0x7fffffff, -}; - -enum MemorySemanticsMask { - MemorySemanticsMaskNone = 0, - MemorySemanticsAcquireMask = 0x00000002, - MemorySemanticsReleaseMask = 0x00000004, - MemorySemanticsAcquireReleaseMask = 0x00000008, - MemorySemanticsSequentiallyConsistentMask = 0x00000010, - MemorySemanticsUniformMemoryMask = 0x00000040, - MemorySemanticsSubgroupMemoryMask = 0x00000080, - MemorySemanticsWorkgroupMemoryMask = 0x00000100, - MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, - MemorySemanticsAtomicCounterMemoryMask = 0x00000400, - MemorySemanticsImageMemoryMask = 0x00000800, -}; - -enum MemoryAccessShift { - MemoryAccessVolatileShift = 0, - MemoryAccessAlignedShift = 1, - MemoryAccessNontemporalShift = 2, - MemoryAccessMax = 0x7fffffff, -}; - -enum MemoryAccessMask { - MemoryAccessMaskNone = 0, - MemoryAccessVolatileMask = 0x00000001, - MemoryAccessAlignedMask = 0x00000002, - MemoryAccessNontemporalMask = 0x00000004, -}; - -enum Scope { - ScopeCrossDevice = 0, - ScopeDevice = 1, - ScopeWorkgroup = 2, - ScopeSubgroup = 3, - ScopeInvocation = 4, - ScopeMax = 0x7fffffff, -}; - -enum GroupOperation { - GroupOperationReduce = 0, - GroupOperationInclusiveScan = 1, - GroupOperationExclusiveScan = 2, - GroupOperationMax = 0x7fffffff, -}; - -enum KernelEnqueueFlags { - KernelEnqueueFlagsNoWait = 0, - KernelEnqueueFlagsWaitKernel = 1, - KernelEnqueueFlagsWaitWorkGroup = 2, - KernelEnqueueFlagsMax = 0x7fffffff, -}; - -enum KernelProfilingInfoShift { - KernelProfilingInfoCmdExecTimeShift = 0, - KernelProfilingInfoMax = 0x7fffffff, -}; - -enum KernelProfilingInfoMask { - KernelProfilingInfoMaskNone = 0, - KernelProfilingInfoCmdExecTimeMask = 0x00000001, -}; - -enum Capability { - CapabilityMatrix = 0, - CapabilityShader = 1, - CapabilityGeometry = 2, - CapabilityTessellation = 3, - CapabilityAddresses = 4, - CapabilityLinkage = 5, - CapabilityKernel = 6, - CapabilityVector16 = 7, - CapabilityFloat16Buffer = 8, - CapabilityFloat16 = 9, - CapabilityFloat64 = 10, - CapabilityInt64 = 11, - CapabilityInt64Atomics = 12, - CapabilityImageBasic = 13, - CapabilityImageReadWrite = 14, - CapabilityImageMipmap = 15, - CapabilityPipes = 17, - CapabilityGroups = 18, - CapabilityDeviceEnqueue = 19, - CapabilityLiteralSampler = 20, - CapabilityAtomicStorage = 21, - CapabilityInt16 = 22, - CapabilityTessellationPointSize = 23, - CapabilityGeometryPointSize = 24, - CapabilityImageGatherExtended = 25, - CapabilityStorageImageMultisample = 27, - CapabilityUniformBufferArrayDynamicIndexing = 28, - CapabilitySampledImageArrayDynamicIndexing = 29, - CapabilityStorageBufferArrayDynamicIndexing = 30, - CapabilityStorageImageArrayDynamicIndexing = 31, - CapabilityClipDistance = 32, - CapabilityCullDistance = 33, - CapabilityImageCubeArray = 34, - CapabilitySampleRateShading = 35, - CapabilityImageRect = 36, - CapabilitySampledRect = 37, - CapabilityGenericPointer = 38, - CapabilityInt8 = 39, - CapabilityInputAttachment = 40, - CapabilitySparseResidency = 41, - CapabilityMinLod = 42, - CapabilitySampled1D = 43, - CapabilityImage1D = 44, - CapabilitySampledCubeArray = 45, - CapabilitySampledBuffer = 46, - CapabilityImageBuffer = 47, - CapabilityImageMSArray = 48, - CapabilityStorageImageExtendedFormats = 49, - CapabilityImageQuery = 50, - CapabilityDerivativeControl = 51, - CapabilityInterpolationFunction = 52, - CapabilityTransformFeedback = 53, - CapabilityGeometryStreams = 54, - CapabilityStorageImageReadWithoutFormat = 55, - CapabilityStorageImageWriteWithoutFormat = 56, - CapabilityMultiViewport = 57, - CapabilitySubgroupBallotKHR = 4423, - CapabilityDrawParameters = 4427, - CapabilitySubgroupVoteKHR = 4431, - CapabilityStorageBuffer16BitAccess = 4433, - CapabilityStorageUniformBufferBlock16 = 4433, - CapabilityStorageUniform16 = 4434, - CapabilityUniformAndStorageBuffer16BitAccess = 4434, - CapabilityStoragePushConstant16 = 4435, - CapabilityStorageInputOutput16 = 4436, - CapabilityDeviceGroup = 4437, - CapabilityMultiView = 4439, - CapabilityVariablePointersStorageBuffer = 4441, - CapabilityVariablePointers = 4442, - CapabilitySampleMaskOverrideCoverageNV = 5249, - CapabilityGeometryShaderPassthroughNV = 5251, - CapabilityShaderViewportIndexLayerNV = 5254, - CapabilityShaderViewportMaskNV = 5255, - CapabilityShaderStereoViewNV = 5259, - CapabilityPerViewAttributesNV = 5260, - CapabilityMax = 0x7fffffff, -}; - -enum Op { - OpNop = 0, - OpUndef = 1, - OpSourceContinued = 2, - OpSource = 3, - OpSourceExtension = 4, - OpName = 5, - OpMemberName = 6, - OpString = 7, - OpLine = 8, - OpExtension = 10, - OpExtInstImport = 11, - OpExtInst = 12, - OpMemoryModel = 14, - OpEntryPoint = 15, - OpExecutionMode = 16, - OpCapability = 17, - OpTypeVoid = 19, - OpTypeBool = 20, - OpTypeInt = 21, - OpTypeFloat = 22, - OpTypeVector = 23, - OpTypeMatrix = 24, - OpTypeImage = 25, - OpTypeSampler = 26, - OpTypeSampledImage = 27, - OpTypeArray = 28, - OpTypeRuntimeArray = 29, - OpTypeStruct = 30, - OpTypeOpaque = 31, - OpTypePointer = 32, - OpTypeFunction = 33, - OpTypeEvent = 34, - OpTypeDeviceEvent = 35, - OpTypeReserveId = 36, - OpTypeQueue = 37, - OpTypePipe = 38, - OpTypeForwardPointer = 39, - OpConstantTrue = 41, - OpConstantFalse = 42, - OpConstant = 43, - OpConstantComposite = 44, - OpConstantSampler = 45, - OpConstantNull = 46, - OpSpecConstantTrue = 48, - OpSpecConstantFalse = 49, - OpSpecConstant = 50, - OpSpecConstantComposite = 51, - OpSpecConstantOp = 52, - OpFunction = 54, - OpFunctionParameter = 55, - OpFunctionEnd = 56, - OpFunctionCall = 57, - OpVariable = 59, - OpImageTexelPointer = 60, - OpLoad = 61, - OpStore = 62, - OpCopyMemory = 63, - OpCopyMemorySized = 64, - OpAccessChain = 65, - OpInBoundsAccessChain = 66, - OpPtrAccessChain = 67, - OpArrayLength = 68, - OpGenericPtrMemSemantics = 69, - OpInBoundsPtrAccessChain = 70, - OpDecorate = 71, - OpMemberDecorate = 72, - OpDecorationGroup = 73, - OpGroupDecorate = 74, - OpGroupMemberDecorate = 75, - OpVectorExtractDynamic = 77, - OpVectorInsertDynamic = 78, - OpVectorShuffle = 79, - OpCompositeConstruct = 80, - OpCompositeExtract = 81, - OpCompositeInsert = 82, - OpCopyObject = 83, - OpTranspose = 84, - OpSampledImage = 86, - OpImageSampleImplicitLod = 87, - OpImageSampleExplicitLod = 88, - OpImageSampleDrefImplicitLod = 89, - OpImageSampleDrefExplicitLod = 90, - OpImageSampleProjImplicitLod = 91, - OpImageSampleProjExplicitLod = 92, - OpImageSampleProjDrefImplicitLod = 93, - OpImageSampleProjDrefExplicitLod = 94, - OpImageFetch = 95, - OpImageGather = 96, - OpImageDrefGather = 97, - OpImageRead = 98, - OpImageWrite = 99, - OpImage = 100, - OpImageQueryFormat = 101, - OpImageQueryOrder = 102, - OpImageQuerySizeLod = 103, - OpImageQuerySize = 104, - OpImageQueryLod = 105, - OpImageQueryLevels = 106, - OpImageQuerySamples = 107, - OpConvertFToU = 109, - OpConvertFToS = 110, - OpConvertSToF = 111, - OpConvertUToF = 112, - OpUConvert = 113, - OpSConvert = 114, - OpFConvert = 115, - OpQuantizeToF16 = 116, - OpConvertPtrToU = 117, - OpSatConvertSToU = 118, - OpSatConvertUToS = 119, - OpConvertUToPtr = 120, - OpPtrCastToGeneric = 121, - OpGenericCastToPtr = 122, - OpGenericCastToPtrExplicit = 123, - OpBitcast = 124, - OpSNegate = 126, - OpFNegate = 127, - OpIAdd = 128, - OpFAdd = 129, - OpISub = 130, - OpFSub = 131, - OpIMul = 132, - OpFMul = 133, - OpUDiv = 134, - OpSDiv = 135, - OpFDiv = 136, - OpUMod = 137, - OpSRem = 138, - OpSMod = 139, - OpFRem = 140, - OpFMod = 141, - OpVectorTimesScalar = 142, - OpMatrixTimesScalar = 143, - OpVectorTimesMatrix = 144, - OpMatrixTimesVector = 145, - OpMatrixTimesMatrix = 146, - OpOuterProduct = 147, - OpDot = 148, - OpIAddCarry = 149, - OpISubBorrow = 150, - OpUMulExtended = 151, - OpSMulExtended = 152, - OpAny = 154, - OpAll = 155, - OpIsNan = 156, - OpIsInf = 157, - OpIsFinite = 158, - OpIsNormal = 159, - OpSignBitSet = 160, - OpLessOrGreater = 161, - OpOrdered = 162, - OpUnordered = 163, - OpLogicalEqual = 164, - OpLogicalNotEqual = 165, - OpLogicalOr = 166, - OpLogicalAnd = 167, - OpLogicalNot = 168, - OpSelect = 169, - OpIEqual = 170, - OpINotEqual = 171, - OpUGreaterThan = 172, - OpSGreaterThan = 173, - OpUGreaterThanEqual = 174, - OpSGreaterThanEqual = 175, - OpULessThan = 176, - OpSLessThan = 177, - OpULessThanEqual = 178, - OpSLessThanEqual = 179, - OpFOrdEqual = 180, - OpFUnordEqual = 181, - OpFOrdNotEqual = 182, - OpFUnordNotEqual = 183, - OpFOrdLessThan = 184, - OpFUnordLessThan = 185, - OpFOrdGreaterThan = 186, - OpFUnordGreaterThan = 187, - OpFOrdLessThanEqual = 188, - OpFUnordLessThanEqual = 189, - OpFOrdGreaterThanEqual = 190, - OpFUnordGreaterThanEqual = 191, - OpShiftRightLogical = 194, - OpShiftRightArithmetic = 195, - OpShiftLeftLogical = 196, - OpBitwiseOr = 197, - OpBitwiseXor = 198, - OpBitwiseAnd = 199, - OpNot = 200, - OpBitFieldInsert = 201, - OpBitFieldSExtract = 202, - OpBitFieldUExtract = 203, - OpBitReverse = 204, - OpBitCount = 205, - OpDPdx = 207, - OpDPdy = 208, - OpFwidth = 209, - OpDPdxFine = 210, - OpDPdyFine = 211, - OpFwidthFine = 212, - OpDPdxCoarse = 213, - OpDPdyCoarse = 214, - OpFwidthCoarse = 215, - OpEmitVertex = 218, - OpEndPrimitive = 219, - OpEmitStreamVertex = 220, - OpEndStreamPrimitive = 221, - OpControlBarrier = 224, - OpMemoryBarrier = 225, - OpAtomicLoad = 227, - OpAtomicStore = 228, - OpAtomicExchange = 229, - OpAtomicCompareExchange = 230, - OpAtomicCompareExchangeWeak = 231, - OpAtomicIIncrement = 232, - OpAtomicIDecrement = 233, - OpAtomicIAdd = 234, - OpAtomicISub = 235, - OpAtomicSMin = 236, - OpAtomicUMin = 237, - OpAtomicSMax = 238, - OpAtomicUMax = 239, - OpAtomicAnd = 240, - OpAtomicOr = 241, - OpAtomicXor = 242, - OpPhi = 245, - OpLoopMerge = 246, - OpSelectionMerge = 247, - OpLabel = 248, - OpBranch = 249, - OpBranchConditional = 250, - OpSwitch = 251, - OpKill = 252, - OpReturn = 253, - OpReturnValue = 254, - OpUnreachable = 255, - OpLifetimeStart = 256, - OpLifetimeStop = 257, - OpGroupAsyncCopy = 259, - OpGroupWaitEvents = 260, - OpGroupAll = 261, - OpGroupAny = 262, - OpGroupBroadcast = 263, - OpGroupIAdd = 264, - OpGroupFAdd = 265, - OpGroupFMin = 266, - OpGroupUMin = 267, - OpGroupSMin = 268, - OpGroupFMax = 269, - OpGroupUMax = 270, - OpGroupSMax = 271, - OpReadPipe = 274, - OpWritePipe = 275, - OpReservedReadPipe = 276, - OpReservedWritePipe = 277, - OpReserveReadPipePackets = 278, - OpReserveWritePipePackets = 279, - OpCommitReadPipe = 280, - OpCommitWritePipe = 281, - OpIsValidReserveId = 282, - OpGetNumPipePackets = 283, - OpGetMaxPipePackets = 284, - OpGroupReserveReadPipePackets = 285, - OpGroupReserveWritePipePackets = 286, - OpGroupCommitReadPipe = 287, - OpGroupCommitWritePipe = 288, - OpEnqueueMarker = 291, - OpEnqueueKernel = 292, - OpGetKernelNDrangeSubGroupCount = 293, - OpGetKernelNDrangeMaxSubGroupSize = 294, - OpGetKernelWorkGroupSize = 295, - OpGetKernelPreferredWorkGroupSizeMultiple = 296, - OpRetainEvent = 297, - OpReleaseEvent = 298, - OpCreateUserEvent = 299, - OpIsValidEvent = 300, - OpSetUserEventStatus = 301, - OpCaptureEventProfilingInfo = 302, - OpGetDefaultQueue = 303, - OpBuildNDRange = 304, - OpImageSparseSampleImplicitLod = 305, - OpImageSparseSampleExplicitLod = 306, - OpImageSparseSampleDrefImplicitLod = 307, - OpImageSparseSampleDrefExplicitLod = 308, - OpImageSparseSampleProjImplicitLod = 309, - OpImageSparseSampleProjExplicitLod = 310, - OpImageSparseSampleProjDrefImplicitLod = 311, - OpImageSparseSampleProjDrefExplicitLod = 312, - OpImageSparseFetch = 313, - OpImageSparseGather = 314, - OpImageSparseDrefGather = 315, - OpImageSparseTexelsResident = 316, - OpNoLine = 317, - OpAtomicFlagTestAndSet = 318, - OpAtomicFlagClear = 319, - OpImageSparseRead = 320, - OpSubgroupBallotKHR = 4421, - OpSubgroupFirstInvocationKHR = 4422, - OpSubgroupAllKHR = 4428, - OpSubgroupAnyKHR = 4429, - OpSubgroupAllEqualKHR = 4430, - OpSubgroupReadInvocationKHR = 4432, - OpMax = 0x7fffffff, -}; - -// Overload operator| for mask bit combining - -inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); } -inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); } -inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); } -inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); } -inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); } -inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); } -inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); } -inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); } - -} // end namespace spv - -#endif // #ifndef spirv_HPP - diff --git a/vulkan.spec b/vulkan.spec index 4b2ee1e..6433250 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,28 +1,20 @@ %global use_git 0 -%if 0%{?fedora} -%global use_layers 1 -%else -%global use_layers 0 -%endif %global commit d4cd34fd49caa759cf01cafa5fa271401b17c3b9 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers -%global commit1 91c46c656720a6e1e71a3411cd1f4f792b427b2d - -%if 0%{?use_layers} +%global commit1 9645f78293a59780b06ba93938bc46850b2c5b3c %global srcname1 glslang -%global commit2 63e1062a194750b354d48be8c16750d7a4d0dc4e +%global commit2 661ad91124e6af2272afd00f804d8aa276e17107 %global srcname2 SPIRV-Headers -%global commit3 7c8da66bc27cc5c4ccb6a0fa612f56c9417518ff +%global commit3 abc6f5a67288b50846b9ef5f21a8100edd36d7c8 %global srcname3 SPIRV-Tools -%endif Name: vulkan -Version: 1.0.51.0 +Version: 1.0.54.0 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -38,13 +30,9 @@ Source0: %url/%{srcname}/archive/%{commit}.tar.gz#/%{srcname}-%{commit}.t %else Source0: %url/%{srcname}/archive/sdk-%{version}.tar.gz#/%{srcname}-sdk-%{version}.tar.gz %endif -%if 0%{?use_layers} Source1: %url/%{srcname1}/archive/%{commit1}.tar.gz#/%{srcname1}-%{commit1}.tar.gz Source2: %url/%{srcname2}/archive/%{commit2}.tar.gz#/%{srcname2}-%{commit2}.tar.gz Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit3}.tar.gz -%else -Source4: https://raw.githubusercontent.com/KhronosGroup/glslang/%{commit1}/SPIRV/spirv.hpp -%endif Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch @@ -52,7 +40,7 @@ Patch1: 0008-demos-Don-t-build-tri-or-cube.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: bison -BuildRequires: cmake +BuildRequires: cmake3 BuildRequires: /usr/bin/chrpath BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) @@ -103,7 +91,7 @@ Filesystem for Vulkan. %else %autosetup -p1 -n %{srcname}-sdk-%{version} %endif -%if 0%{?use_layers} + mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 tar -xf %{SOURCE2} -C external/spirv-tools/external/spirv-headers --strip 1 @@ -111,11 +99,7 @@ tar -xf %{SOURCE3} -C external/spirv-tools --strip 1 # fix spurious-executable-perm chmod 0644 README.md chmod 0644 external/glslang/SPIRV/spirv.hpp -%else -mkdir -p build/ -cp %{SOURCE4} . -sed -i -e 's@add_subdirectory(smoke)@@g' demos/CMakeLists.txt -%endif + # fix wrong-script-end-of-line-encoding sed -i 's/\r//' README.md @@ -123,37 +107,43 @@ sed -i 's/\r//' README.md sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build -%if 0%{?use_layers} pushd external/glslang/build/ CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS ; CXXFLAGS="$RPM_OPT_FLAGS" ; export CXXFLAGS ; LDFLAGS="$RPM_LD_FLAGS" ; export LDFLAGS ; -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +%if 0%{?fedora} +cmake \ +%else +cmake3 \ +%endif + -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. %make_build make install popd pushd external/spirv-tools/build/ -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +%if 0%{?fedora} +cmake \ +%else +cmake3 \ +%endif + -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. %make_build popd -%endif pushd build/ -%cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_INSTALL_RPATH:BOOL=yes \ +%if 0%{?fedora} +%cmake \ +%else +%cmake3 \ +%endif + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ - -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ %if 0%{?rhel} -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ %endif -%if 0%{?use_layers} .. -%else - -DGLSLANG_SPIRV_INCLUDE_DIR=./ \ - -DBUILD_TESTS=OFF \ - -DBUILD_LAYERS=OFF .. -%endif %make_build popd @@ -162,21 +152,18 @@ pushd build/ %{make_install} popd -%if 0%{?use_layers} -mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ -mv %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/*.json %{buildroot}%{_datadir}/vulkan/explicit_layer.d/ + +# create the filesystem +mkdir -p %{buildroot}%{_sysconfdir}/vulkan/{explicit,implicit}_layer.d/ \ +%{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ \ +%{buildroot}{%{_sysconfdir},%{_datadir}}/vulkan/icd.d + # rename smoketest mv %{buildroot}%{_bindir}/smoketest %{buildroot}%{_bindir}/vulkan-smoketest -%else -mkdir -p %{buildroot}%{_sysconfdir}/vulkan/explicit_layer.d/ -mkdir -p %{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ -%endif # remove RPATH chrpath -d %{buildroot}%{_bindir}/vulkaninfo -mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -184,11 +171,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md %{_bindir}/vulkaninfo -%if 0%{?use_layers} %{_bindir}/vulkan-smoketest %{_datadir}/vulkan/explicit_layer.d/*.json %{_libdir}/libVkLayer_*.so -%endif %{_libdir}/libvulkan.so.* %files devel @@ -197,14 +182,21 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/icd.d %{_libdir}/libvulkan.so %files filesystem -%dir %{_sysconfdir}/vulkan -%dir %{_sysconfdir}/vulkan/explicit_layer.d -%dir %{_sysconfdir}/vulkan/icd.d -%dir %{_datadir}/vulkan -%dir %{_datadir}/vulkan/explicit_layer.d -%dir %{_datadir}/vulkan/implicit_layer.d +%dir %{_sysconfdir}/vulkan/ +%dir %{_sysconfdir}/vulkan/explicit_layer.d/ +%dir %{_sysconfdir}/vulkan/icd.d/ +%dir %{_sysconfdir}/vulkan/implicit_layer.d/ +%dir %{_datadir}/vulkan/ +%dir %{_datadir}/vulkan/explicit_layer.d/ +%dir %{_datadir}/vulkan/icd.d/ +%dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Sat Jul 22 2017 Leigh Scott - 1.0.54.0-1 +- Update to 1.0.54.0 release +- Use build requires cmake3 for epel build +- Build layers for epel + * Fri Jun 16 2017 Leigh Scott - 1.0.51.0-1 - Update to 1.0.51.0 release From 05ac64d6b0ee12ca560ba672e1c9b72dbca08800 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 22 Jul 2017 19:53:36 +0100 Subject: [PATCH 20/55] Cleanup cmake commands --- vulkan.spec | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 6433250..d4c15c9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -16,9 +16,9 @@ Name: vulkan Version: 1.0.54.0 %if 0%{?use_git} -Release: 0.1.git%{shortcommit}%{?dist} +Release: 0.2.git%{shortcommit}%{?dist} %else -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Vulkan loader and validation layers @@ -111,31 +111,18 @@ pushd external/glslang/build/ CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS ; CXXFLAGS="$RPM_OPT_FLAGS" ; export CXXFLAGS ; LDFLAGS="$RPM_LD_FLAGS" ; export LDFLAGS ; -%if 0%{?fedora} -cmake \ -%else -cmake3 \ -%endif - -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. %make_build make install popd + pushd external/spirv-tools/build/ -%if 0%{?fedora} -cmake \ -%else -cmake3 \ -%endif - -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. %make_build popd + pushd build/ -%if 0%{?fedora} -%cmake \ -%else -%cmake3 \ -%endif - -DCMAKE_BUILD_TYPE=Release \ +%cmake3 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ @@ -192,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Sat Jul 22 2017 Leigh Scott - 1.0.54.0-2 +- Cleanup cmake commands + * Sat Jul 22 2017 Leigh Scott - 1.0.54.0-1 - Update to 1.0.54.0 release - Use build requires cmake3 for epel build From 4f28c7ba9f29e0717d956afa5e686553f6d0059b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 21:27:37 +0000 Subject: [PATCH 21/55] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index d4c15c9..2da971f 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -16,9 +16,9 @@ Name: vulkan Version: 1.0.54.0 %if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} +Release: 0.3.git%{shortcommit}%{?dist} %else -Release: 2%{?dist} +Release: 3%{?dist} %endif Summary: Vulkan loader and validation layers @@ -179,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 1.0.54.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Jul 22 2017 Leigh Scott - 1.0.54.0-2 - Cleanup cmake commands From 359b7607cce4347f8b1d0835c83746221abeb284 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 10:10:06 +0000 Subject: [PATCH 22/55] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 2da971f..aad6e8a 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -16,9 +16,9 @@ Name: vulkan Version: 1.0.54.0 %if 0%{?use_git} -Release: 0.3.git%{shortcommit}%{?dist} +Release: 0.4.git%{shortcommit}%{?dist} %else -Release: 3%{?dist} +Release: 4%{?dist} %endif Summary: Vulkan loader and validation layers @@ -179,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 1.0.54.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 1.0.54.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From de00f72940dac8546c25b91da6b2350bc83361f5 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Mon, 14 Aug 2017 10:57:50 +0100 Subject: [PATCH 23/55] Update to 1.0.57.0 release --- sources | 8 ++++---- vulkan.spec | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sources b/sources index bc7e86d..7549cd8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-9645f78293a59780b06ba93938bc46850b2c5b3c.tar.gz) = 561afd1205dd213d9d3bb90f825d30aef964217852739a2fc6d0c041776d5ecaa91f6277503bc2eedff4d9bc97818359fe285dd489c019ac327ed2b8c0ec42a2 -SHA512 (SPIRV-Headers-661ad91124e6af2272afd00f804d8aa276e17107.tar.gz) = e4af0bf25f4ceea74f7669547718b3d2a874fd394436eebe5d811841b089ea1c4341c1cfda6e32d67cd84e9d8f8ce2b312543a793067fdaf84198e168e2f476b -SHA512 (SPIRV-Tools-abc6f5a67288b50846b9ef5f21a8100edd36d7c8.tar.gz) = 706aaf33c1ebb8e0d4abf3200d61e2454ce4d22b3db2830b7c8a4cc9685af57596fe8289805d095ce71ae45c654852fcb4879b1da4338f967435a9ca1acac7cb -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.54.0.tar.gz) = f5478e1a7f966a2d09b97a3b47a04b4c9ccd68b88126fefcd6f97bfd0347c5a5bebf52e1cdfccc4863d22dd3b875e04cddf406e3e546eb3dc50d2ef61d85a21f +SHA512 (glslang-d5aedc199f127a1f8bda8079244a1cc275c1a12d.tar.gz) = da30f6b9c8863c52ecee0cc970c6f0d40996651cce3a39e2d7e54a33f045bff7fc8be459c3f7bb22cffe2d0150f4ff28c7fad01558624bf5baf78f3605c781b7 +SHA512 (SPIRV-Headers-4a7a9fdaa984af968a382e24ebe1bc3fedc4e73a.tar.gz) = cc8057eedba9349df804c138b0bc00bb9f859ae9e6d5e2eb0f9328e7831ab9f9331ce4adfb0793d505f178ec5b6283aa7ee96cfc006927faffa2db42d15dcd71 +SHA512 (SPIRV-Tools-f0fe601dc8f2e8a2176d87fe60603a1ca306486c.tar.gz) = 066a583d8d8163502ece6902d91ebaf36aac69f9fbdea056de09c0a44f9221666d7ee6fbcad17b51e50607b7d90a2757a415fd6b2c01f58e40870653e4618568 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.57.0.tar.gz) = e9b3fc49f15de00a83578a6dd6a15478541fdf184a115f91c5311a7f2079940a86ee5f682c9c7a4d6745728958d52cc366ff2371c9c7a1cf158f361993db995c diff --git a/vulkan.spec b/vulkan.spec index aad6e8a..7cbd72e 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -4,21 +4,21 @@ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers -%global commit1 9645f78293a59780b06ba93938bc46850b2c5b3c +%global commit1 d5aedc199f127a1f8bda8079244a1cc275c1a12d %global srcname1 glslang -%global commit2 661ad91124e6af2272afd00f804d8aa276e17107 +%global commit2 4a7a9fdaa984af968a382e24ebe1bc3fedc4e73a %global srcname2 SPIRV-Headers -%global commit3 abc6f5a67288b50846b9ef5f21a8100edd36d7c8 +%global commit3 f0fe601dc8f2e8a2176d87fe60603a1ca306486c %global srcname3 SPIRV-Tools Name: vulkan -Version: 1.0.54.0 +Version: 1.0.57.0 %if 0%{?use_git} -Release: 0.4.git%{shortcommit}%{?dist} +Release: 0.1.git%{shortcommit}%{?dist} %else -Release: 4%{?dist} +Release: 1%{?dist} %endif Summary: Vulkan loader and validation layers @@ -179,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Mon Aug 14 2017 Leigh Scott - 1.0.57.0-1 +- Update to 1.0.57.0 release + * Thu Aug 03 2017 Fedora Release Engineering - 1.0.54.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 140576aa6e29057da34f2a3bcb569ba129a4a70d Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 19 Sep 2017 09:25:35 +0100 Subject: [PATCH 24/55] Update to 1.0.61.0 release --- sources | 8 ++++---- vulkan.spec | 11 +++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sources b/sources index 7549cd8..b00ab98 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (glslang-d5aedc199f127a1f8bda8079244a1cc275c1a12d.tar.gz) = da30f6b9c8863c52ecee0cc970c6f0d40996651cce3a39e2d7e54a33f045bff7fc8be459c3f7bb22cffe2d0150f4ff28c7fad01558624bf5baf78f3605c781b7 -SHA512 (SPIRV-Headers-4a7a9fdaa984af968a382e24ebe1bc3fedc4e73a.tar.gz) = cc8057eedba9349df804c138b0bc00bb9f859ae9e6d5e2eb0f9328e7831ab9f9331ce4adfb0793d505f178ec5b6283aa7ee96cfc006927faffa2db42d15dcd71 -SHA512 (SPIRV-Tools-f0fe601dc8f2e8a2176d87fe60603a1ca306486c.tar.gz) = 066a583d8d8163502ece6902d91ebaf36aac69f9fbdea056de09c0a44f9221666d7ee6fbcad17b51e50607b7d90a2757a415fd6b2c01f58e40870653e4618568 -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.57.0.tar.gz) = e9b3fc49f15de00a83578a6dd6a15478541fdf184a115f91c5311a7f2079940a86ee5f682c9c7a4d6745728958d52cc366ff2371c9c7a1cf158f361993db995c +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.61.0.tar.gz) = bfc7609d2427b6947985f4dad46e2f9027b4d3c58cd0c2cdd754df58a908666fc6e5efb03306626a801de7bf1a4bd7f72e57e89bd81a43af09c3fc7a8016c084 +SHA512 (glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af.tar.gz) = a6b2f589d432015d3830027dee377350529bec9c339a8de24aa52bab5ca52b3e17e2163d3bd1a7d91f7a08c446ebfe86d64bbbbae5a23af831d2e0cb724f7418 +SHA512 (SPIRV-Headers-2bb92e6fe2c6aa410152fc6c63443f452acb1a65.tar.gz) = cdd1437a67c7e31e2062e5d0f25c767b99a3fadd64b91d00c3b07404e535bb4bfd78a43878ebbcd45e013a7153f1a2c969da99d50a99cc39efab940d0aab7cfd +SHA512 (SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23.tar.gz) = 67e8fcdcb9748df1e7c86bb50358a89b656f80a96534bc5771afc4ce22e9ebcc8ca382f784fab7b856324d487f810c21abaaab2facee7453c0343a9b51d7e60b diff --git a/vulkan.spec b/vulkan.spec index 7cbd72e..7b64cc2 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -4,17 +4,17 @@ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers -%global commit1 d5aedc199f127a1f8bda8079244a1cc275c1a12d +%global commit1 3a21c880500eac21cdf79bef5b80f970a55ac6af %global srcname1 glslang -%global commit2 4a7a9fdaa984af968a382e24ebe1bc3fedc4e73a +%global commit2 2bb92e6fe2c6aa410152fc6c63443f452acb1a65 %global srcname2 SPIRV-Headers -%global commit3 f0fe601dc8f2e8a2176d87fe60603a1ca306486c +%global commit3 7e2d26c77b606b21af839b37fd21381c4a669f23 %global srcname3 SPIRV-Tools Name: vulkan -Version: 1.0.57.0 +Version: 1.0.61.0 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -179,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Sep 19 2017 Leigh Scott - 1.0.61.0-1 +- Update to 1.0.61.0 release + * Mon Aug 14 2017 Leigh Scott - 1.0.57.0-1 - Update to 1.0.57.0 release From 86dacbc9f437c480906aca6da89a7667b5b1d339 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 21 Sep 2017 07:36:43 +0100 Subject: [PATCH 25/55] Update to 1.0.61.1 release (rhbz 1493425) --- sources | 2 +- vulkan.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index b00ab98..3aa693a 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.61.0.tar.gz) = bfc7609d2427b6947985f4dad46e2f9027b4d3c58cd0c2cdd754df58a908666fc6e5efb03306626a801de7bf1a4bd7f72e57e89bd81a43af09c3fc7a8016c084 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.61.1.tar.gz) = e16599ca458dc1c636c80a03693edc4a24563e08768de95e7711cd7927d7cfdcd0ce14d16d938ca066bfe4ce8fe43836d2b61973bc2a7ba6ad14ab5f18166e0e SHA512 (glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af.tar.gz) = a6b2f589d432015d3830027dee377350529bec9c339a8de24aa52bab5ca52b3e17e2163d3bd1a7d91f7a08c446ebfe86d64bbbbae5a23af831d2e0cb724f7418 SHA512 (SPIRV-Headers-2bb92e6fe2c6aa410152fc6c63443f452acb1a65.tar.gz) = cdd1437a67c7e31e2062e5d0f25c767b99a3fadd64b91d00c3b07404e535bb4bfd78a43878ebbcd45e013a7153f1a2c969da99d50a99cc39efab940d0aab7cfd SHA512 (SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23.tar.gz) = 67e8fcdcb9748df1e7c86bb50358a89b656f80a96534bc5771afc4ce22e9ebcc8ca382f784fab7b856324d487f810c21abaaab2facee7453c0343a9b51d7e60b diff --git a/vulkan.spec b/vulkan.spec index 7b64cc2..8adc43f 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -14,7 +14,7 @@ %global srcname3 SPIRV-Tools Name: vulkan -Version: 1.0.61.0 +Version: 1.0.61.1 %if 0%{?use_git} Release: 0.1.git%{shortcommit}%{?dist} %else @@ -179,6 +179,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Sep 21 2017 Leigh Scott - 1.0.61.1-1 +- Update to 1.0.61.1 release (rhbz 1493425) + * Tue Sep 19 2017 Leigh Scott - 1.0.61.0-1 - Update to 1.0.61.0 release From 00072c4d574db125823504ec19410e7aec57d58e Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 6 Oct 2017 18:33:42 +0100 Subject: [PATCH 26/55] add upstream fix for 32bit TEXTREL issue (like anyone gives a damn) --- fix_x86_TEXTREL.patch | 23 +++++++++++++++++++++++ vulkan.spec | 8 ++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 fix_x86_TEXTREL.patch diff --git a/fix_x86_TEXTREL.patch b/fix_x86_TEXTREL.patch new file mode 100644 index 0000000..877db23 --- /dev/null +++ b/fix_x86_TEXTREL.patch @@ -0,0 +1,23 @@ +From 560f9cdf78d3d03dbf97be638becd1a7df5fa154 Mon Sep 17 00:00:00 2001 +From: Lenny Komow +Date: Fri, 6 Oct 2017 11:13:15 -0600 +Subject: [PATCH] loader: Fix TEXTREL on 32-bit linux loader + +Change-Id: I5fc568ce0ad17c280c484f37b2797eead08169b3 +--- + loader/unknown_ext_chain_gas.asm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/loader/unknown_ext_chain_gas.asm b/loader/unknown_ext_chain_gas.asm +index 798760bd8..aca92ea5b 100644 +--- a/loader/unknown_ext_chain_gas.asm ++++ b/loader/unknown_ext_chain_gas.asm +@@ -89,7 +89,7 @@ vkPhysDevExtTermin\num: + terminError\num: + mov eax, [eax + INSTANCE_OFFSET_ICD_TERM] # Load the loader_instance into eax + push [eax + (HASH_OFFSET_INSTANCE + (HASH_SIZE * \num) + FUNC_NAME_OFFSET_HASH)] # Push the func name (fifth arg) +- push offset termin_error_string # Push the error string (fourth arg) ++ push offset termin_error_string@GOT # Push the error string (fourth arg) + push 0 # Push zero (third arg) + push VK_DEBUG_REPORT_ERROR_BIT_EXT # Push the error logging bit (second arg) + push eax # Push the loader_instance (first arg) diff --git a/vulkan.spec b/vulkan.spec index 8adc43f..7d71419 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -16,9 +16,9 @@ Name: vulkan Version: 1.0.61.1 %if 0%{?use_git} -Release: 0.1.git%{shortcommit}%{?dist} +Release: 0.2.git%{shortcommit}%{?dist} %else -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Vulkan loader and validation layers @@ -36,6 +36,7 @@ Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch +Patch2: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -179,6 +180,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Fri Oct 06 2017 Leigh Scott - 1.0.61.1-2 +- add upstream fix for 32bit TEXTREL issue (like anyone gives a damn) + * Thu Sep 21 2017 Leigh Scott - 1.0.61.1-1 - Update to 1.0.61.1 release (rhbz 1493425) From 45e05a185be7f6c100a9e72e6a711cf25de2c5bd Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 31 Oct 2017 11:39:49 +0000 Subject: [PATCH 27/55] Remove epel conditionals --- vulkan.spec | 51 ++++++++++++--------------------------------------- 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 7d71419..46b6800 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,7 +1,3 @@ -%global use_git 0 - -%global commit d4cd34fd49caa759cf01cafa5fa271401b17c3b9 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global srcname Vulkan-LoaderAndValidationLayers %global commit1 3a21c880500eac21cdf79bef5b80f970a55ac6af @@ -15,21 +11,11 @@ Name: vulkan Version: 1.0.61.1 -%if 0%{?use_git} -Release: 0.2.git%{shortcommit}%{?dist} -%else -Release: 2%{?dist} -%endif +Release: 3%{?dist} Summary: Vulkan loader and validation layers - License: ASL 2.0 URL: https://github.com/KhronosGroup - -%if 0%{?use_git} -Source0: %url/%{srcname}/archive/%{commit}.tar.gz#/%{srcname}-%{commit}.tar.gz -%else Source0: %url/%{srcname}/archive/sdk-%{version}.tar.gz#/%{srcname}-sdk-%{version}.tar.gz -%endif Source1: %url/%{srcname1}/archive/%{commit1}.tar.gz#/%{srcname1}-%{commit1}.tar.gz Source2: %url/%{srcname2}/archive/%{commit2}.tar.gz#/%{srcname2}-%{commit2}.tar.gz Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit3}.tar.gz @@ -38,31 +24,23 @@ Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch Patch2: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch -BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 BuildRequires: /usr/bin/chrpath BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) -%if 0%{?fedora} BuildRequires: python3 BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) -%else -BuildRequires: python34 -%endif BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xrandr) Requires: vulkan-filesystem = %{version}-%{release} - -%if 0%{?fedora} Recommends: mesa-vulkan-drivers -%endif %description Vulkan is a new generation graphics and compute API that provides @@ -87,11 +65,7 @@ BuildArch: noarch Filesystem for Vulkan. %prep -%if 0%{?use_git} -%autosetup -p1 -n %{srcname}-%{commit} -%else %autosetup -p1 -n %{srcname}-sdk-%{version} -%endif mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 @@ -109,35 +83,29 @@ sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build pushd external/glslang/build/ -CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS ; -CXXFLAGS="$RPM_OPT_FLAGS" ; export CXXFLAGS ; -LDFLAGS="$RPM_LD_FLAGS" ; export LDFLAGS ; -cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +%cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install .. %make_build make install popd pushd external/spirv-tools/build/ -cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. +%cmake3 -DCMAKE_BUILD_TYPE=Release .. %make_build popd pushd build/ %cmake3 -DCMAKE_BUILD_TYPE=Release \ + -DGLSLANG_VALIDATOR=../external/glslang/build/StandAlone/glslangValidator \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ - -DBUILD_WSI_MIR_SUPPORT=OFF \ -%if 0%{?rhel} - -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ -%endif - .. + -DBUILD_WSI_MIR_SUPPORT=OFF .. %make_build popd %install pushd build/ -%{make_install} +%make_install popd @@ -180,8 +148,13 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-3 +- Remove epel conditionals +- Remove vulkan git conditionals +- Use cmake macro for everything + * Fri Oct 06 2017 Leigh Scott - 1.0.61.1-2 -- add upstream fix for 32bit TEXTREL issue (like anyone gives a damn) +- Add upstream fix for 32bit TEXTREL issue (like anyone gives a damn) * Thu Sep 21 2017 Leigh Scott - 1.0.61.1-1 - Update to 1.0.61.1 release (rhbz 1493425) From d650776957c468ed75f86ccefa43f628177b8903 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 31 Oct 2017 13:05:49 +0000 Subject: [PATCH 28/55] Fix vulkan requires --- SPIRV-Tools_staticlib.patch | 36 ++++++++++++++++++++++++++++++++++++ vulkan.spec | 34 +++++++++++++++++++++++++++++----- 2 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 SPIRV-Tools_staticlib.patch diff --git a/SPIRV-Tools_staticlib.patch b/SPIRV-Tools_staticlib.patch new file mode 100644 index 0000000..2e4a184 --- /dev/null +++ b/SPIRV-Tools_staticlib.patch @@ -0,0 +1,36 @@ +diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/CMakeLists.txt +--- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 ++++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/CMakeLists.txt 2017-10-13 10:06:17.033675656 +0200 +@@ -282,7 +282,7 @@ set_source_files_properties( + ${CMAKE_CURRENT_SOURCE_DIR}/software_version.cpp + PROPERTIES OBJECT_DEPENDS "${SPIRV_TOOLS_BUILD_VERSION_INC}") + +-add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES}) ++add_library(${SPIRV_TOOLS} STATIC ${SPIRV_SOURCES}) + spvtools_default_compile_options(${SPIRV_TOOLS}) + target_include_directories(${SPIRV_TOOLS} + PUBLIC ${spirv-tools_SOURCE_DIR}/include +diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/comp/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/comp/CMakeLists.txt +--- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/comp/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 ++++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/comp/CMakeLists.txt 2017-10-13 10:06:25.958201827 +0200 +@@ -12,7 +12,7 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + +-add_library(SPIRV-Tools-comp markv_codec.cpp) ++add_library(SPIRV-Tools-comp STATIC markv_codec.cpp) + + spvtools_default_compile_options(SPIRV-Tools-comp) + target_include_directories(SPIRV-Tools-comp +diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/opt/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/opt/CMakeLists.txt +--- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/opt/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 ++++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/opt/CMakeLists.txt 2017-10-13 10:06:42.471288632 +0200 +@@ -11,7 +11,7 @@ + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. +-add_library(SPIRV-Tools-opt ++add_library(SPIRV-Tools-opt STATIC + aggressive_dead_code_elim_pass.h + basic_block.h + block_merge_pass.h diff --git a/vulkan.spec b/vulkan.spec index 46b6800..7e0b418 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,3 +1,5 @@ +%global __requires_exclude ^libVkLayer_utils.so + %global srcname Vulkan-LoaderAndValidationLayers %global commit1 3a21c880500eac21cdf79bef5b80f970a55ac6af @@ -11,7 +13,7 @@ Name: vulkan Version: 1.0.61.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -22,7 +24,8 @@ Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch -Patch2: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch +Patch2: SPIRV-Tools_staticlib.patch +Patch3: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch BuildRequires: gcc-c++ BuildRequires: bison @@ -50,6 +53,13 @@ devices from PCs and consoles to mobile phones and embedded platforms. This package contains the reference ICD loader and validation layers for Vulkan. +%package demos +Summary: Vulkan demo package +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description demos +Vulkan demo package contains vulkaninfo and vulkan-smoketest. + %package devel Summary: Vulkan development package Requires: %{name}%{?_isa} = %{version}-%{release} @@ -65,12 +75,20 @@ BuildArch: noarch Filesystem for Vulkan. %prep -%autosetup -p1 -n %{srcname}-sdk-%{version} +%setup -q -n %{srcname}-sdk-%{version} +%patch0 -p1 +%patch1 -p1 +%patch3 -p1 mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 tar -xf %{SOURCE2} -C external/spirv-tools/external/spirv-headers --strip 1 tar -xf %{SOURCE3} -C external/spirv-tools --strip 1 + +pushd external/spirv-tools +%patch2 -p1 +popd + # fix spurious-executable-perm chmod 0644 README.md chmod 0644 external/glslang/SPIRV/spirv.hpp @@ -126,12 +144,14 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %files %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md -%{_bindir}/vulkaninfo -%{_bindir}/vulkan-smoketest %{_datadir}/vulkan/explicit_layer.d/*.json %{_libdir}/libVkLayer_*.so %{_libdir}/libvulkan.so.* +%files demos +%{_bindir}/vulkaninfo +%{_bindir}/vulkan-smoketest + %files devel %{_includedir}/vulkan/ %{_libdir}/pkgconfig/vulkan.pc @@ -148,6 +168,10 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-4 +- Fix vulkan requires +- Move demos to sub-package + * Tue Oct 31 2017 Leigh Scott - 1.0.61.1-3 - Remove epel conditionals - Remove vulkan git conditionals From 34cf4a00677881ed58a589ce15de5ea80dea56fc Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 31 Oct 2017 17:43:44 +0000 Subject: [PATCH 29/55] Add small compile fix --- glslang-default-resource-limits_staticlib.patch | 9 +++++++++ vulkan.spec | 14 ++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 glslang-default-resource-limits_staticlib.patch diff --git a/glslang-default-resource-limits_staticlib.patch b/glslang-default-resource-limits_staticlib.patch new file mode 100644 index 0000000..73992e5 --- /dev/null +++ b/glslang-default-resource-limits_staticlib.patch @@ -0,0 +1,9 @@ +--- glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af/StandAlone/CMakeLists.txt ++++ glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af-new/StandAlone/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_library(glslang-default-resource-limits ++add_library(glslang-default-resource-limits STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp) + set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) + set_property(TARGET glslang-default-resource-limits PROPERTY POSITION_INDEPENDENT_CODE ON) + diff --git a/vulkan.spec b/vulkan.spec index 7e0b418..8eff77a 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -13,7 +13,7 @@ Name: vulkan Version: 1.0.61.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -25,7 +25,8 @@ Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch Patch2: SPIRV-Tools_staticlib.patch -Patch3: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch +Patch3: glslang-default-resource-limits_staticlib.patch +Patch4: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch BuildRequires: gcc-c++ BuildRequires: bison @@ -78,7 +79,7 @@ Filesystem for Vulkan. %setup -q -n %{srcname}-sdk-%{version} %patch0 -p1 %patch1 -p1 -%patch3 -p1 +%patch4 -p1 mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 @@ -88,6 +89,9 @@ tar -xf %{SOURCE3} -C external/spirv-tools --strip 1 pushd external/spirv-tools %patch2 -p1 popd +pushd external/glslang +%patch3 -p1 +popd # fix spurious-executable-perm chmod 0644 README.md @@ -113,7 +117,6 @@ popd pushd build/ %cmake3 -DCMAKE_BUILD_TYPE=Release \ - -DGLSLANG_VALIDATOR=../external/glslang/build/StandAlone/glslangValidator \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ @@ -168,6 +171,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-5 +- Add small compile fix + * Tue Oct 31 2017 Leigh Scott - 1.0.61.1-4 - Fix vulkan requires - Move demos to sub-package From 5035fb22e4aadf346fba160ff0d7c7c33eccee5a Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 7 Nov 2017 18:10:52 +0000 Subject: [PATCH 30/55] readd rhel conditionals --- vulkan.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vulkan.spec b/vulkan.spec index 8eff77a..23ea75f 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -34,17 +34,23 @@ BuildRequires: cmake3 BuildRequires: /usr/bin/chrpath BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: python3 BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) +%else +BuildRequires: python34 +%endif BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xrandr) Requires: vulkan-filesystem = %{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} > 7 Recommends: mesa-vulkan-drivers +%endif %description Vulkan is a new generation graphics and compute API that provides @@ -120,7 +126,11 @@ pushd build/ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ - -DBUILD_WSI_MIR_SUPPORT=OFF .. + -DBUILD_WSI_MIR_SUPPORT=OFF \ +%if 0%{?rhel} + -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ +%endif +.. %make_build popd From 473d4438e16fe5b4eb2cc3ea7d55b254e0076982 Mon Sep 17 00:00:00 2001 From: Merlin Mathesius Date: Thu, 16 Nov 2017 08:24:06 -0600 Subject: [PATCH 31/55] Additional spec file conditional fix --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 23ea75f..c590509 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -13,7 +13,7 @@ Name: vulkan Version: 1.0.61.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -127,7 +127,7 @@ pushd build/ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ -%if 0%{?rhel} +%if 0%{?rhel} && 0%{?rhel} <= 7 -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ %endif .. @@ -181,6 +181,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Nov 16 2017 Merlin Mathesius - 1.0.61.1-6 +- Additional spec file conditional fix + * Tue Oct 31 2017 Leigh Scott - 1.0.61.1-5 - Add small compile fix From 0eeaa694f937f31cf2de195b68d2154029327830 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Wed, 22 Nov 2017 09:08:22 +0000 Subject: [PATCH 32/55] Redo conditionals --- vulkan.spec | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index c590509..cfceafc 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -1,3 +1,9 @@ +%if 0%{?rhel} && 0%{?rhel} <= 7 +%global _wayland OFF +%else +%global _wayland ON +%endif + %global __requires_exclude ^libVkLayer_utils.so %global srcname Vulkan-LoaderAndValidationLayers @@ -13,7 +19,7 @@ Name: vulkan Version: 1.0.61.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -32,25 +38,20 @@ BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 BuildRequires: /usr/bin/chrpath +BuildRequires: python%{python3_pkgversion} BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xrandr) %if 0%{?fedora} || 0%{?rhel} > 7 -BuildRequires: python3 BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) -%else -BuildRequires: python34 -%endif -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xcb) -BuildRequires: pkgconfig(xrandr) - -Requires: vulkan-filesystem = %{version}-%{release} -%if 0%{?fedora} || 0%{?rhel} > 7 Recommends: mesa-vulkan-drivers %endif +Requires: vulkan-filesystem = %{version}-%{release} %description Vulkan is a new generation graphics and compute API that provides @@ -111,7 +112,8 @@ sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build pushd external/glslang/build/ -%cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install .. +%cmake3 -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=./install .. %make_build make install popd @@ -123,14 +125,11 @@ popd pushd build/ %cmake3 -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH:BOOL=yes \ - -DBUILD_VKJSON=OFF \ - -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ - -DBUILD_WSI_MIR_SUPPORT=OFF \ -%if 0%{?rhel} && 0%{?rhel} <= 7 - -DBUILD_WSI_WAYLAND_SUPPORT=OFF \ -%endif -.. + -DCMAKE_SKIP_RPATH:BOOL=yes \ + -DBUILD_VKJSON=OFF \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ + -DBUILD_WSI_MIR_SUPPORT=OFF \ + -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} .. %make_build popd @@ -181,6 +180,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Wed Nov 22 2017 Leigh Scott - 1.0.61.1-7 +- Redo conditionals + * Thu Nov 16 2017 Merlin Mathesius - 1.0.61.1-6 - Additional spec file conditional fix From 9e72cd25c5f46bf9b337a43080a962ba830ebcf9 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 19 Dec 2017 01:41:09 +0000 Subject: [PATCH 33/55] Update to 1.0.65.1 --- 0003-layers-Don-t-set-an-rpath.patch | 2 +- 0008-demos-Don-t-build-tri-or-cube.patch | 4 +-- SPIRV-Tools_staticlib.patch | 31 +++++++++---------- fix_x86_TEXTREL.patch | 23 -------------- ...ng-default-resource-limits_staticlib.patch | 4 +-- sources | 8 ++--- vulkan.spec | 18 ++++++----- 7 files changed, 35 insertions(+), 55 deletions(-) delete mode 100644 fix_x86_TEXTREL.patch diff --git a/0003-layers-Don-t-set-an-rpath.patch b/0003-layers-Don-t-set-an-rpath.patch index edab110..2dc28b5 100644 --- a/0003-layers-Don-t-set-an-rpath.patch +++ b/0003-layers-Don-t-set-an-rpath.patch @@ -1,6 +1,6 @@ --- a/tests/layers/CMakeLists.txt +++ b/tests/layers/CMakeLists.txt -@@ -4,9 +4,6 @@ +@@ -5,9 +5,6 @@ VkLayer_device_profile_api VkLayer_test ) diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index 82ff259..ceae302 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,6 +1,6 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -63,46 +63,6 @@ +@@ -70,46 +70,6 @@ else() endif() @@ -47,7 +47,7 @@ if(WIN32) include_directories ( -@@ -116,38 +76,6 @@ +@@ -123,38 +83,6 @@ add_executable(${API_LOWERCASE}info vulkaninfo.c) target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) diff --git a/SPIRV-Tools_staticlib.patch b/SPIRV-Tools_staticlib.patch index 2e4a184..02bbcbc 100644 --- a/SPIRV-Tools_staticlib.patch +++ b/SPIRV-Tools_staticlib.patch @@ -1,7 +1,6 @@ -diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/CMakeLists.txt ---- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 -+++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/CMakeLists.txt 2017-10-13 10:06:17.033675656 +0200 -@@ -282,7 +282,7 @@ set_source_files_properties( +--- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/CMakeLists.txt ++++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/CMakeLists.txt +@@ -287,7 +287,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/software_version.cpp PROPERTIES OBJECT_DEPENDS "${SPIRV_TOOLS_BUILD_VERSION_INC}") @@ -10,21 +9,21 @@ diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/CMakeList spvtools_default_compile_options(${SPIRV_TOOLS}) target_include_directories(${SPIRV_TOOLS} PUBLIC ${spirv-tools_SOURCE_DIR}/include -diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/comp/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/comp/CMakeLists.txt ---- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/comp/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 -+++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/comp/CMakeLists.txt 2017-10-13 10:06:25.958201827 +0200 -@@ -12,7 +12,7 @@ - # See the License for the specific language governing permissions and + +--- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/comp/CMakeLists.txt ++++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/comp/CMakeLists.txt +@@ -13,7 +13,7 @@ # limitations under the License. --add_library(SPIRV-Tools-comp markv_codec.cpp) -+add_library(SPIRV-Tools-comp STATIC markv_codec.cpp) + if(SPIRV_BUILD_COMPRESSION) +- add_library(SPIRV-Tools-comp markv_codec.cpp) ++ add_library(SPIRV-Tools-comp STATIC markv_codec.cpp) - spvtools_default_compile_options(SPIRV-Tools-comp) - target_include_directories(SPIRV-Tools-comp -diff -rupN SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/opt/CMakeLists.txt SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/opt/CMakeLists.txt ---- SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23/source/opt/CMakeLists.txt 2017-09-01 22:28:22.000000000 +0200 -+++ SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23-new/source/opt/CMakeLists.txt 2017-10-13 10:06:42.471288632 +0200 + spvtools_default_compile_options(SPIRV-Tools-comp) + target_include_directories(SPIRV-Tools-comp + +--- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/opt/CMakeLists.txt ++++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/opt/CMakeLists.txt @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and diff --git a/fix_x86_TEXTREL.patch b/fix_x86_TEXTREL.patch deleted file mode 100644 index 877db23..0000000 --- a/fix_x86_TEXTREL.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 560f9cdf78d3d03dbf97be638becd1a7df5fa154 Mon Sep 17 00:00:00 2001 -From: Lenny Komow -Date: Fri, 6 Oct 2017 11:13:15 -0600 -Subject: [PATCH] loader: Fix TEXTREL on 32-bit linux loader - -Change-Id: I5fc568ce0ad17c280c484f37b2797eead08169b3 ---- - loader/unknown_ext_chain_gas.asm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/loader/unknown_ext_chain_gas.asm b/loader/unknown_ext_chain_gas.asm -index 798760bd8..aca92ea5b 100644 ---- a/loader/unknown_ext_chain_gas.asm -+++ b/loader/unknown_ext_chain_gas.asm -@@ -89,7 +89,7 @@ vkPhysDevExtTermin\num: - terminError\num: - mov eax, [eax + INSTANCE_OFFSET_ICD_TERM] # Load the loader_instance into eax - push [eax + (HASH_OFFSET_INSTANCE + (HASH_SIZE * \num) + FUNC_NAME_OFFSET_HASH)] # Push the func name (fifth arg) -- push offset termin_error_string # Push the error string (fourth arg) -+ push offset termin_error_string@GOT # Push the error string (fourth arg) - push 0 # Push zero (third arg) - push VK_DEBUG_REPORT_ERROR_BIT_EXT # Push the error logging bit (second arg) - push eax # Push the loader_instance (first arg) diff --git a/glslang-default-resource-limits_staticlib.patch b/glslang-default-resource-limits_staticlib.patch index 73992e5..0bd0446 100644 --- a/glslang-default-resource-limits_staticlib.patch +++ b/glslang-default-resource-limits_staticlib.patch @@ -1,5 +1,5 @@ ---- glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af/StandAlone/CMakeLists.txt -+++ glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af-new/StandAlone/CMakeLists.txt +--- glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a/StandAlone/CMakeLists.txt ++++ glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a-new/StandAlone/CMakeLists.txt @@ -1,4 +1,4 @@ -add_library(glslang-default-resource-limits +add_library(glslang-default-resource-limits STATIC diff --git a/sources b/sources index 3aa693a..790062e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.61.1.tar.gz) = e16599ca458dc1c636c80a03693edc4a24563e08768de95e7711cd7927d7cfdcd0ce14d16d938ca066bfe4ce8fe43836d2b61973bc2a7ba6ad14ab5f18166e0e -SHA512 (glslang-3a21c880500eac21cdf79bef5b80f970a55ac6af.tar.gz) = a6b2f589d432015d3830027dee377350529bec9c339a8de24aa52bab5ca52b3e17e2163d3bd1a7d91f7a08c446ebfe86d64bbbbae5a23af831d2e0cb724f7418 -SHA512 (SPIRV-Headers-2bb92e6fe2c6aa410152fc6c63443f452acb1a65.tar.gz) = cdd1437a67c7e31e2062e5d0f25c767b99a3fadd64b91d00c3b07404e535bb4bfd78a43878ebbcd45e013a7153f1a2c969da99d50a99cc39efab940d0aab7cfd -SHA512 (SPIRV-Tools-7e2d26c77b606b21af839b37fd21381c4a669f23.tar.gz) = 67e8fcdcb9748df1e7c86bb50358a89b656f80a96534bc5771afc4ce22e9ebcc8ca382f784fab7b856324d487f810c21abaaab2facee7453c0343a9b51d7e60b +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.65.1.tar.gz) = 7f82ecb9760a50345bc50c10de28ae3f989b660a9f9c6d74a93b92d661b5efa41c2e72c84ff98a6dbed239d23754501332579fe963c2b38fad5b19c9f8f8de51 +SHA512 (glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a.tar.gz) = 9c46249cf2addb31833fcf3b1ce47458b8d339f86e6a5896ed8511d8b8e48dfcf65d2e4b7291593d47161f1c23a82e5f42fc2bbcf33e2383e9b0bd951f092924 +SHA512 (SPIRV-Headers-061097878467b8e040fbf153a837d844ef9f9f96.tar.gz) = 2717a16dc4f490fd93fd155f292f4dd2685a1085cfa964b53d860a03d24375bcc01b297a791bd06f85a25895e9415f6be8fdbdc3fa1d43f751024e1c71d9bd2e +SHA512 (SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f.tar.gz) = fbaa8445c4c6deedd6dcec14f266feb414f1e0da694270a5b2821b4b59ba61e207839cd66d9144ebf2c3c28719d53125b884b8d7039db20db55fc2694befdd6d diff --git a/vulkan.spec b/vulkan.spec index cfceafc..5d0fd96 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -8,18 +8,18 @@ %global srcname Vulkan-LoaderAndValidationLayers -%global commit1 3a21c880500eac21cdf79bef5b80f970a55ac6af +%global commit1 715c353a15836e5ae192a64a4cf54e2ce7e8d66a %global srcname1 glslang -%global commit2 2bb92e6fe2c6aa410152fc6c63443f452acb1a65 +%global commit2 061097878467b8e040fbf153a837d844ef9f9f96 %global srcname2 SPIRV-Headers -%global commit3 7e2d26c77b606b21af839b37fd21381c4a669f23 +%global commit3 5834719fc17d4735fce0102738b87b70255cfd5f %global srcname3 SPIRV-Tools Name: vulkan -Version: 1.0.61.1 -Release: 7%{?dist} +Version: 1.0.65.1 +Release: 1%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -32,7 +32,6 @@ Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch Patch2: SPIRV-Tools_staticlib.patch Patch3: glslang-default-resource-limits_staticlib.patch -Patch4: %url/%{srcname}/commit/560f9cdf78d3d03dbf97be638becd1a7df5fa154.patch#/fix_x86_TEXTREL.patch BuildRequires: gcc-c++ BuildRequires: bison @@ -86,7 +85,6 @@ Filesystem for Vulkan. %setup -q -n %{srcname}-sdk-%{version} %patch0 -p1 %patch1 -p1 -%patch4 -p1 mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers tar -xf %{SOURCE1} -C external/glslang --strip 1 @@ -136,6 +134,7 @@ popd %install pushd build/ %make_install +install -p -m 0755 icd/libVkICD_mock_icd.so %{buildroot}%{_libdir}/libVkICD_mock_icd.so popd @@ -157,6 +156,8 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md %{_datadir}/vulkan/explicit_layer.d/*.json +%{_datadir}/vulkan/icd.d/VkICD_mock_icd.json +%{_libdir}/libVkICD_mock_icd.so %{_libdir}/libVkLayer_*.so %{_libdir}/libvulkan.so.* @@ -180,6 +181,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Dec 19 2017 Leigh Scott - 1.0.65.1-1 +- Update to 1.0.65.1 + * Wed Nov 22 2017 Leigh Scott - 1.0.61.1-7 - Redo conditionals From 94cde24b3a7bbeac491ca9b0fc0bf2a4f8f0c653 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 19 Dec 2017 18:58:01 +0000 Subject: [PATCH 34/55] Move VkICD_mock to devel --- vulkan.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 5d0fd96..28c4240 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -19,7 +19,7 @@ Name: vulkan Version: 1.0.65.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -156,8 +156,6 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %license LICENSE.txt COPYRIGHT.txt %doc README.md CONTRIBUTING.md %{_datadir}/vulkan/explicit_layer.d/*.json -%{_datadir}/vulkan/icd.d/VkICD_mock_icd.json -%{_libdir}/libVkICD_mock_icd.so %{_libdir}/libVkLayer_*.so %{_libdir}/libvulkan.so.* @@ -169,6 +167,8 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %{_includedir}/vulkan/ %{_libdir}/pkgconfig/vulkan.pc %{_libdir}/libvulkan.so +%{_libdir}/libVkICD_mock_icd.so +%{_datadir}/vulkan/icd.d/VkICD_mock_icd.json %files filesystem %dir %{_sysconfdir}/vulkan/ @@ -181,6 +181,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Dec 19 2017 Leigh Scott - 1.0.65.1-2 +- Move VkICD_mock to devel + * Tue Dec 19 2017 Leigh Scott - 1.0.65.1-1 - Update to 1.0.65.1 From d787689453d5acbe684df5ad5d6dbd6993993a37 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 2 Jan 2018 23:50:55 +0000 Subject: [PATCH 35/55] Add build require glslang-devel, spirv-tools-devel and spirv-headers-devel --- SPIRV-Tools_staticlib.patch | 35 ------------- ...ng-default-resource-limits_staticlib.patch | 9 ---- sources | 3 -- vulkan.spec | 49 +++---------------- 4 files changed, 8 insertions(+), 88 deletions(-) delete mode 100644 SPIRV-Tools_staticlib.patch delete mode 100644 glslang-default-resource-limits_staticlib.patch diff --git a/SPIRV-Tools_staticlib.patch b/SPIRV-Tools_staticlib.patch deleted file mode 100644 index 02bbcbc..0000000 --- a/SPIRV-Tools_staticlib.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/CMakeLists.txt -+++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/CMakeLists.txt -@@ -287,7 +287,7 @@ - ${CMAKE_CURRENT_SOURCE_DIR}/software_version.cpp - PROPERTIES OBJECT_DEPENDS "${SPIRV_TOOLS_BUILD_VERSION_INC}") - --add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES}) -+add_library(${SPIRV_TOOLS} STATIC ${SPIRV_SOURCES}) - spvtools_default_compile_options(${SPIRV_TOOLS}) - target_include_directories(${SPIRV_TOOLS} - PUBLIC ${spirv-tools_SOURCE_DIR}/include - ---- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/comp/CMakeLists.txt -+++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/comp/CMakeLists.txt -@@ -13,7 +13,7 @@ - # limitations under the License. - - if(SPIRV_BUILD_COMPRESSION) -- add_library(SPIRV-Tools-comp markv_codec.cpp) -+ add_library(SPIRV-Tools-comp STATIC markv_codec.cpp) - - spvtools_default_compile_options(SPIRV-Tools-comp) - target_include_directories(SPIRV-Tools-comp - ---- SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f/source/opt/CMakeLists.txt -+++ SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f-new/source/opt/CMakeLists.txt -@@ -11,7 +11,7 @@ - # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - # See the License for the specific language governing permissions and - # limitations under the License. --add_library(SPIRV-Tools-opt -+add_library(SPIRV-Tools-opt STATIC - aggressive_dead_code_elim_pass.h - basic_block.h - block_merge_pass.h diff --git a/glslang-default-resource-limits_staticlib.patch b/glslang-default-resource-limits_staticlib.patch deleted file mode 100644 index 0bd0446..0000000 --- a/glslang-default-resource-limits_staticlib.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a/StandAlone/CMakeLists.txt -+++ glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a-new/StandAlone/CMakeLists.txt -@@ -1,4 +1,4 @@ --add_library(glslang-default-resource-limits -+add_library(glslang-default-resource-limits STATIC - ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp) - set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) - set_property(TARGET glslang-default-resource-limits PROPERTY POSITION_INDEPENDENT_CODE ON) - diff --git a/sources b/sources index 790062e..54a1956 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.65.1.tar.gz) = 7f82ecb9760a50345bc50c10de28ae3f989b660a9f9c6d74a93b92d661b5efa41c2e72c84ff98a6dbed239d23754501332579fe963c2b38fad5b19c9f8f8de51 -SHA512 (glslang-715c353a15836e5ae192a64a4cf54e2ce7e8d66a.tar.gz) = 9c46249cf2addb31833fcf3b1ce47458b8d339f86e6a5896ed8511d8b8e48dfcf65d2e4b7291593d47161f1c23a82e5f42fc2bbcf33e2383e9b0bd951f092924 -SHA512 (SPIRV-Headers-061097878467b8e040fbf153a837d844ef9f9f96.tar.gz) = 2717a16dc4f490fd93fd155f292f4dd2685a1085cfa964b53d860a03d24375bcc01b297a791bd06f85a25895e9415f6be8fdbdc3fa1d43f751024e1c71d9bd2e -SHA512 (SPIRV-Tools-5834719fc17d4735fce0102738b87b70255cfd5f.tar.gz) = fbaa8445c4c6deedd6dcec14f266feb414f1e0da694270a5b2821b4b59ba61e207839cd66d9144ebf2c3c28719d53125b884b8d7039db20db55fc2694befdd6d diff --git a/vulkan.spec b/vulkan.spec index 28c4240..661542a 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -8,36 +8,24 @@ %global srcname Vulkan-LoaderAndValidationLayers -%global commit1 715c353a15836e5ae192a64a4cf54e2ce7e8d66a -%global srcname1 glslang - -%global commit2 061097878467b8e040fbf153a837d844ef9f9f96 -%global srcname2 SPIRV-Headers - -%global commit3 5834719fc17d4735fce0102738b87b70255cfd5f -%global srcname3 SPIRV-Tools - Name: vulkan Version: 1.0.65.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup Source0: %url/%{srcname}/archive/sdk-%{version}.tar.gz#/%{srcname}-sdk-%{version}.tar.gz -Source1: %url/%{srcname1}/archive/%{commit1}.tar.gz#/%{srcname1}-%{commit1}.tar.gz -Source2: %url/%{srcname2}/archive/%{commit2}.tar.gz#/%{srcname2}-%{commit2}.tar.gz -Source3: %url/%{srcname3}/archive/%{commit3}.tar.gz#/%{srcname3}-%{commit3}.tar.gz - Patch0: 0003-layers-Don-t-set-an-rpath.patch Patch1: 0008-demos-Don-t-build-tri-or-cube.patch -Patch2: SPIRV-Tools_staticlib.patch -Patch3: glslang-default-resource-limits_staticlib.patch BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 BuildRequires: /usr/bin/chrpath BuildRequires: python%{python3_pkgversion} +BuildRequires: glslang-devel +BuildRequires: spirv-headers-devel +BuildRequires: spirv-tools-devel BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) BuildRequires: pkgconfig(x11) @@ -86,21 +74,8 @@ Filesystem for Vulkan. %patch0 -p1 %patch1 -p1 -mkdir -p build/ external/glslang/build/install external/spirv-tools/build/ external/spirv-tools/external/spirv-headers -tar -xf %{SOURCE1} -C external/glslang --strip 1 -tar -xf %{SOURCE2} -C external/spirv-tools/external/spirv-headers --strip 1 -tar -xf %{SOURCE3} -C external/spirv-tools --strip 1 - -pushd external/spirv-tools -%patch2 -p1 -popd -pushd external/glslang -%patch3 -p1 -popd - # fix spurious-executable-perm chmod 0644 README.md -chmod 0644 external/glslang/SPIRV/spirv.hpp # fix wrong-script-end-of-line-encoding sed -i 's/\r//' README.md @@ -109,18 +84,7 @@ sed -i 's/\r//' README.md sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build -pushd external/glslang/build/ -%cmake3 -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=./install .. -%make_build -make install -popd - -pushd external/spirv-tools/build/ -%cmake3 -DCMAKE_BUILD_TYPE=Release .. -%make_build -popd - +mkdir -p build/ pushd build/ %cmake3 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH:BOOL=yes \ @@ -181,6 +145,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Jan 02 2018 Leigh Scott - 1.0.65.1-3 +- Add build require glslang-devel, spirv-tools-devel and spirv-headers-devel + * Tue Dec 19 2017 Leigh Scott - 1.0.65.1-2 - Move VkICD_mock to devel From 7d3df2cd68e709943ec3e8dce22360f8077dcc9b Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 9 Jan 2018 07:44:13 +0000 Subject: [PATCH 36/55] Update to 1.0.65.2 --- sources | 2 +- vulkan.spec | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sources b/sources index 54a1956..3fb768e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.65.1.tar.gz) = 7f82ecb9760a50345bc50c10de28ae3f989b660a9f9c6d74a93b92d661b5efa41c2e72c84ff98a6dbed239d23754501332579fe963c2b38fad5b19c9f8f8de51 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.65.2.tar.gz) = 646f0c4e7a0bd5888eb70f9592b880c7f1ec58ceb082deee6a0ae1398b2178a52bbfbdb5fd6bc71a59ed4e4d76c62b369ac45cee039c9f24115cba22025f9c57 diff --git a/vulkan.spec b/vulkan.spec index 661542a..14255c3 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,8 +9,8 @@ %global srcname Vulkan-LoaderAndValidationLayers Name: vulkan -Version: 1.0.65.1 -Release: 3%{?dist} +Version: 1.0.65.2 +Release: 1%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -98,7 +98,6 @@ popd %install pushd build/ %make_install -install -p -m 0755 icd/libVkICD_mock_icd.so %{buildroot}%{_libdir}/libVkICD_mock_icd.so popd @@ -131,8 +130,6 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %{_includedir}/vulkan/ %{_libdir}/pkgconfig/vulkan.pc %{_libdir}/libvulkan.so -%{_libdir}/libVkICD_mock_icd.so -%{_datadir}/vulkan/icd.d/VkICD_mock_icd.json %files filesystem %dir %{_sysconfdir}/vulkan/ @@ -145,6 +142,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Jan 09 2018 Leigh Scott - 1.0.65.2-1 +- Update to 1.0.65.2 + * Tue Jan 02 2018 Leigh Scott - 1.0.65.1-3 - Add build require glslang-devel, spirv-tools-devel and spirv-headers-devel From 12822843a07661f8f395ce5803167372cc1ceec1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 8 Feb 2018 15:39:47 +0000 Subject: [PATCH 37/55] Use ninja to build --- vulkan.spec | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 14255c3..2891720 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -10,7 +10,7 @@ Name: vulkan Version: 1.0.65.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -21,6 +21,7 @@ Patch1: 0008-demos-Don-t-build-tri-or-cube.patch BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 +BuildRequires: ninja-build BuildRequires: /usr/bin/chrpath BuildRequires: python%{python3_pkgversion} BuildRequires: glslang-devel @@ -91,13 +92,14 @@ pushd build/ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ - -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} .. -%make_build + -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} \ + -GNinja .. +%ninja_build popd %install pushd build/ -%make_install +%ninja_install popd @@ -112,8 +114,7 @@ mv %{buildroot}%{_bindir}/smoketest %{buildroot}%{_bindir}/vulkan-smoketest # remove RPATH chrpath -d %{buildroot}%{_bindir}/vulkaninfo -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files %license LICENSE.txt COPYRIGHT.txt @@ -142,6 +143,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Feb 08 2018 Leigh Scott - 1.0.65.2-2 +- Use ninja to build + * Tue Jan 09 2018 Leigh Scott - 1.0.65.2-1 - Update to 1.0.65.2 From 6594918d22074ad8be8a01877daf29cbf5ec2bb1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 9 Feb 2018 22:30:19 +0000 Subject: [PATCH 38/55] Split libs into -libs subpackage --- 0008-demos-Don-t-build-tri-or-cube.patch | 71 +++++++++++++----------- vulkan.spec | 23 ++++---- 2 files changed, 52 insertions(+), 42 deletions(-) diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index ceae302..539328a 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,9 +1,15 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -70,46 +70,6 @@ - else() - endif() +@@ -64,53 +64,6 @@ + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + if(WIN32) +- set (LIBRARIES "${API_LOWERCASE}-${MAJOR}") +-elseif(UNIX) +- set (LIBRARIES "${API_LOWERCASE}") +-else() +-endif() +- -if(WIN32) - # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. - # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the @@ -22,38 +28,40 @@ - endif() - endforeach() - -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert -- DEPENDS cube.vert ${GLSLANG_VALIDATOR} -- ) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o ${CMAKE_BINARY_DIR}/demos/cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag -- DEPENDS cube.frag ${GLSLANG_VALIDATOR} -- ) - file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) - file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) --else() -- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert -- DEPENDS cube.vert ${GLSLANG_VALIDATOR} -- ) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv -- COMMAND ${GLSLANG_VALIDATOR} -s -V -o cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag -- DEPENDS cube.frag ${GLSLANG_VALIDATOR} -- ) -- endif() -endif() - - if(WIN32) +- +-add_custom_command( +- COMMENT "Compiling cube demo vertex shader" +- OUTPUT cube.vert.inc +- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/demos/cube.vert +- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.vert +- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.vert ${GLSLANG_VALIDATOR} +-) +-add_custom_command( +- COMMENT "Compiling cube demo fragment shader" +- OUTPUT cube.frag.inc +- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/demos/cube.frag +- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.frag +- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.frag ${GLSLANG_VALIDATOR} +-) +- +-include_directories(${CMAKE_CURRENT_BINARY_DIR}) +- +- +-if(WIN32) include_directories ( -@@ -123,38 +83,6 @@ + "${PROJECT_SOURCE_DIR}/icd/common" + ) +@@ -121,38 +74,6 @@ + add_executable(${API_LOWERCASE}info vulkaninfo.c) target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) - +- -if(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cube cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cube ${LIBRARIES}) - endif() -else() @@ -63,13 +71,13 @@ - set (LIB_DIR "Win32") - endif() - -- add_executable(cube WIN32 cube.c ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cube ${LIBRARIES}) -endif() - -if(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cubepp cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cubepp ${LIBRARIES}) - endif() -else() @@ -79,11 +87,10 @@ - set (LIB_DIR "Win32") - endif() - -- add_executable(cubepp WIN32 cube.cpp ${CMAKE_BINARY_DIR}/demos/cube-vert.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv) +- add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cubepp ${LIBRARIES}) -endif() -- + if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) - add_subdirectory(smoke) diff --git a/vulkan.spec b/vulkan.spec index 2891720..58ee478 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,14 +9,17 @@ %global srcname Vulkan-LoaderAndValidationLayers Name: vulkan -Version: 1.0.65.2 -Release: 2%{?dist} +Version: 1.0.68.0 +Release: 1%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup Source0: %url/%{srcname}/archive/sdk-%{version}.tar.gz#/%{srcname}-sdk-%{version}.tar.gz -Patch0: 0003-layers-Don-t-set-an-rpath.patch -Patch1: 0008-demos-Don-t-build-tri-or-cube.patch +# Edit spirv_tools_commit_id.h to match spirv-tools commit id +Source1: spirv_tools_commit_id.h +Patch0: cmake_spirv_tools_commit.patch +Patch1: 0003-layers-Don-t-set-an-rpath.patch +Patch2: 0008-demos-Don-t-build-tri-or-cube.patch BuildRequires: gcc-c++ BuildRequires: bison @@ -74,6 +77,8 @@ Filesystem for Vulkan. %setup -q -n %{srcname}-sdk-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 +cp %{SOURCE1} . # fix spurious-executable-perm chmod 0644 README.md @@ -85,22 +90,17 @@ sed -i 's/\r//' README.md sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build -mkdir -p build/ -pushd build/ %cmake3 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} \ - -GNinja .. + -GNinja %ninja_build -popd %install -pushd build/ %ninja_install -popd # create the filesystem @@ -143,6 +143,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Fri Feb 09 2018 Leigh Scott - 1.0.68.0-1 +- Update to 1.0.68.0 + * Thu Feb 08 2018 Leigh Scott - 1.0.65.2-2 - Use ninja to build From ee63313b3a96552a9e37c589a5ca81790bdeeffe Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 9 Feb 2018 22:37:16 +0000 Subject: [PATCH 39/55] Update to 1.0.68.0 --- cmake_spirv_tools_commit.patch | 8 ++++++++ sources | 2 +- spirv_tools_commit_id.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 cmake_spirv_tools_commit.patch create mode 100644 spirv_tools_commit_id.h diff --git a/cmake_spirv_tools_commit.patch b/cmake_spirv_tools_commit.patch new file mode 100644 index 0000000..392e646 --- /dev/null +++ b/cmake_spirv_tools_commit.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -357,7 +356,6 @@ + run_vk_xml_generate(helper_file_generator.py vk_object_types.h) + run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h) + run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h) +-run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h) + diff --git a/sources b/sources index 3fb768e..1125e45 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.65.2.tar.gz) = 646f0c4e7a0bd5888eb70f9592b880c7f1ec58ceb082deee6a0ae1398b2178a52bbfbdb5fd6bc71a59ed4e4d76c62b369ac45cee039c9f24115cba22025f9c57 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.68.0.tar.gz) = a814152a5bcb9d11d1ec9dab32b0a0681fc839c642502d3b499194a134abafb5c3ee66ba3a536c26bbd45c26a48fcf00b343da657f5ffffd7536c99ba04117f3 diff --git a/spirv_tools_commit_id.h b/spirv_tools_commit_id.h new file mode 100644 index 0000000..051aa6a --- /dev/null +++ b/spirv_tools_commit_id.h @@ -0,0 +1,29 @@ +// *** THIS FILE IS GENERATED - DO NOT EDIT *** +// See external_revision_generator.py for modifications + +/*************************************************************************** + * + * Copyright (c) 2015-2017 The Khronos Group Inc. + * Copyright (c) 2015-2017 Valve Corporation + * Copyright (c) 2015-2017 LunarG, Inc. + * Copyright (c) 2015-2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Author: Chris Forbes + * Author: Cort Stratton + * + ****************************************************************************/ +#pragma once + +#define SPIRV_TOOLS_COMMIT_ID "9e19fc0f31ceaf1f6bc907dbf17dcfded85f2ce8" From dd85b9c41fbad3cd721f6fcf35c6240d27c1dba4 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 9 Feb 2018 22:48:03 +0000 Subject: [PATCH 40/55] Use versioned build requires for spirv-tools --- vulkan.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vulkan.spec b/vulkan.spec index 58ee478..912ea0e 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -29,7 +29,7 @@ BuildRequires: /usr/bin/chrpath BuildRequires: python%{python3_pkgversion} BuildRequires: glslang-devel BuildRequires: spirv-headers-devel -BuildRequires: spirv-tools-devel +BuildRequires: pkgconfig(SPIRV-Tools) = 2018.1.0 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) BuildRequires: pkgconfig(x11) From fd42476b4051b12ec007edf1ec384df1cd76aba1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 10 Feb 2018 00:07:19 +0000 Subject: [PATCH 41/55] Add version for spirv-tool-libs requires --- vulkan.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/vulkan.spec b/vulkan.spec index 912ea0e..9312f49 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -43,6 +43,7 @@ BuildRequires: pkgconfig(wayland-egl) Recommends: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} +Requires: spirv-tools-libs = 2018.1.0 %description Vulkan is a new generation graphics and compute API that provides From dc83bd13946a9161948c4b5d6e9e9aeb2b24f31f Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 10 Feb 2018 07:31:31 +0000 Subject: [PATCH 42/55] Add isa --- vulkan.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 9312f49..d2785cc 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -43,7 +43,7 @@ BuildRequires: pkgconfig(wayland-egl) Recommends: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} -Requires: spirv-tools-libs = 2018.1.0 +Requires: spirv-tools-libs%{?_isa} = 2018.1.0 %description Vulkan is a new generation graphics and compute API that provides @@ -55,7 +55,7 @@ Vulkan. %package demos Summary: Vulkan demo package -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}24917628 = %{version}-%{release} %description demos Vulkan demo package contains vulkaninfo and vulkan-smoketest. From 5063cde13610b27a84d24ed1aa0bd5b790a03256 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 10 Feb 2018 10:25:01 +0000 Subject: [PATCH 43/55] Fix broken isa --- vulkan.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index d2785cc..7dfcf3f 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -10,7 +10,7 @@ Name: vulkan Version: 1.0.68.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -55,7 +55,7 @@ Vulkan. %package demos Summary: Vulkan demo package -Requires: %{name}24917628 = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description demos Vulkan demo package contains vulkaninfo and vulkan-smoketest. @@ -144,6 +144,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Sat Feb 10 2018 Leigh Scott - 1.0.68.0-2 +- Fix broken isa + * Fri Feb 09 2018 Leigh Scott - 1.0.68.0-1 - Update to 1.0.68.0 From 08f52943fe6ac803d97f840b7231953c022ed123 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 8 Mar 2018 00:37:53 +0000 Subject: [PATCH 44/55] Update to 1.1.70.0 --- 0008-demos-Don-t-build-tri-or-cube.patch | 19 ++++++------------- sources | 2 +- vulkan.spec | 7 +++++-- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index 539328a..2f7b82c 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,16 +1,9 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -64,53 +64,6 @@ - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +@@ -92,46 +92,6 @@ + endif() if(WIN32) -- set (LIBRARIES "${API_LOWERCASE}-${MAJOR}") --elseif(UNIX) -- set (LIBRARIES "${API_LOWERCASE}") --else() --endif() -- --if(WIN32) - # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. - # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the - # appropriate data at build time. @@ -51,10 +44,10 @@ - - -if(WIN32) - include_directories ( - "${PROJECT_SOURCE_DIR}/icd/common" - ) -@@ -121,38 +74,6 @@ + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") + endif() +@@ -142,38 +102,6 @@ add_executable(${API_LOWERCASE}info vulkaninfo.c) target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) diff --git a/sources b/sources index 1125e45..57db8a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.0.68.0.tar.gz) = a814152a5bcb9d11d1ec9dab32b0a0681fc839c642502d3b499194a134abafb5c3ee66ba3a536c26bbd45c26a48fcf00b343da657f5ffffd7536c99ba04117f3 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.1.70.0.tar.gz) = ae57e6890225b6e4607fde04a296a14bc54fd6b61b360b771bd24f00607dcb6fff06b3ec38a761173c92c90628a139f1424445e174c21adad4af6f445b91ed26 diff --git a/vulkan.spec b/vulkan.spec index 7dfcf3f..41f183a 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,8 +9,8 @@ %global srcname Vulkan-LoaderAndValidationLayers Name: vulkan -Version: 1.0.68.0 -Release: 2%{?dist} +Version: 1.1.70.0 +Release: 1%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -144,6 +144,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Thu Mar 08 2018 Leigh Scott - 1.1.70.0-1 +- Update to 1.1.70.0 + * Sat Feb 10 2018 Leigh Scott - 1.0.68.0-2 - Fix broken isa From 03b55633cd472ba86d0ef8df3f882bfea3e1219f Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 24 Apr 2018 11:23:52 +0100 Subject: [PATCH 45/55] Update to 1.1.73.0 --- 0008-demos-Don-t-build-tri-or-cube.patch | 25 ++++++++++++++++-------- cmake_spirv_tools_commit.patch | 8 ++++++-- sources | 2 +- spirv_tools_commit_id.h | 2 +- vulkan.spec | 10 +++++++--- 5 files changed, 32 insertions(+), 15 deletions(-) diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch index 2f7b82c..94f292e 100644 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ b/0008-demos-Don-t-build-tri-or-cube.patch @@ -1,6 +1,6 @@ --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -92,46 +92,6 @@ +@@ -94,46 +94,6 @@ endif() if(WIN32) @@ -47,12 +47,16 @@ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") endif() -@@ -142,38 +102,6 @@ +@@ -173,47 +133,6 @@ + endif() + endif() - add_executable(${API_LOWERCASE}info vulkaninfo.c) - target_link_libraries(${API_LOWERCASE}info ${LIBRARIES}) +-###################################################################################### +-# cube - --if(NOT WIN32) +-if(APPLE) +- include(macOS/cube/cube.cmake) +-elseif(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) - add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cube ${LIBRARIES}) @@ -68,7 +72,12 @@ - target_link_libraries(cube ${LIBRARIES}) -endif() - --if(NOT WIN32) +-###################################################################################### +-# cubepp +- +-if(APPLE) +- include(macOS/cubepp/cubepp.cmake) +-elseif(NOT WIN32) - if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) - add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) - target_link_libraries(cubepp ${LIBRARIES}) @@ -84,6 +93,6 @@ - target_link_libraries(cubepp ${LIBRARIES}) -endif() - if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})) - if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Android")) + ###################################################################################### + # smoke diff --git a/cmake_spirv_tools_commit.patch b/cmake_spirv_tools_commit.patch index 392e646..047acf3 100644 --- a/cmake_spirv_tools_commit.patch +++ b/cmake_spirv_tools_commit.patch @@ -1,8 +1,12 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -357,7 +356,6 @@ +@@ -380,9 +380,6 @@ run_vk_xml_generate(helper_file_generator.py vk_object_types.h) run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h) run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h) --run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h) +-if(BUILD_LAYERS) +- run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h) +-endif() + + diff --git a/sources b/sources index 57db8a5..93b49e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.1.70.0.tar.gz) = ae57e6890225b6e4607fde04a296a14bc54fd6b61b360b771bd24f00607dcb6fff06b3ec38a761173c92c90628a139f1424445e174c21adad4af6f445b91ed26 +SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0.tar.gz) = 609cef72369265dbae467cbd9677416e62715119140e6e0a74a593d7d00a723fe265344e180e099af46fb92204d494fbb975ba1c9490261b676709fb7dce5d09 diff --git a/spirv_tools_commit_id.h b/spirv_tools_commit_id.h index 051aa6a..c4269ad 100644 --- a/spirv_tools_commit_id.h +++ b/spirv_tools_commit_id.h @@ -26,4 +26,4 @@ ****************************************************************************/ #pragma once -#define SPIRV_TOOLS_COMMIT_ID "9e19fc0f31ceaf1f6bc907dbf17dcfded85f2ce8" +#define SPIRV_TOOLS_COMMIT_ID "26a698c34788bb69123a1f3789970a16cf4d9641" diff --git a/vulkan.spec b/vulkan.spec index 41f183a..f1303f4 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ %global srcname Vulkan-LoaderAndValidationLayers Name: vulkan -Version: 1.1.70.0 +Version: 1.1.73.0 Release: 1%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 @@ -29,7 +29,7 @@ BuildRequires: /usr/bin/chrpath BuildRequires: python%{python3_pkgversion} BuildRequires: glslang-devel BuildRequires: spirv-headers-devel -BuildRequires: pkgconfig(SPIRV-Tools) = 2018.1.0 +BuildRequires: pkgconfig(SPIRV-Tools) = 2018.3.0 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(pciaccess) BuildRequires: pkgconfig(x11) @@ -43,7 +43,7 @@ BuildRequires: pkgconfig(wayland-egl) Recommends: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} -Requires: spirv-tools-libs%{?_isa} = 2018.1.0 +Requires: spirv-tools-libs%{?_isa} = 2018.3.0 %description Vulkan is a new generation graphics and compute API that provides @@ -97,6 +97,7 @@ sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ -DBUILD_WSI_MIR_SUPPORT=OFF \ -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} \ + -DBUILD_TESTS=OFF \ -GNinja %ninja_build @@ -144,6 +145,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Tue Apr 24 2018 Leigh Scott - 1.1.73.0-1 +- Update to 1.1.73.0 + * Thu Mar 08 2018 Leigh Scott - 1.1.70.0-1 - Update to 1.1.70.0 From 8d660048adf95b1169201e974f95af08e59119e3 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 24 Apr 2018 15:19:18 -0400 Subject: [PATCH 46/55] Update to 1.1.73.0 --- vulkan.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vulkan.spec b/vulkan.spec index f1303f4..f739ffa 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -5,9 +5,11 @@ %endif %global __requires_exclude ^libVkLayer_utils.so - %global srcname Vulkan-LoaderAndValidationLayers +# i686 at least will run out of address space... +%undefine _smp_mflags + Name: vulkan Version: 1.1.73.0 Release: 1%{?dist} From 31e1b4952e4343436ff0ccf83064e8c20cafd398 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 1 May 2018 15:11:53 -0400 Subject: [PATCH 47/55] Nope, that didn't help --- vulkan.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index f739ffa..c4e0250 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -7,9 +7,6 @@ %global __requires_exclude ^libVkLayer_utils.so %global srcname Vulkan-LoaderAndValidationLayers -# i686 at least will run out of address space... -%undefine _smp_mflags - Name: vulkan Version: 1.1.73.0 Release: 1%{?dist} From b538d843b78e6db0dcd9521f3bafed072057be22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 2 May 2018 13:48:30 +0200 Subject: [PATCH 48/55] workaround various OOM situations during build --- vulkan.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vulkan.spec b/vulkan.spec index c4e0250..83454e9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -90,6 +90,13 @@ sed -i 's/\r//' README.md sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} %build +# Force serial build to workaround kernel OOM with multiple g++ processes running +%global _smp_mflags -j1 +%ifarch %{ix86} +# Decrease debuginfo verbosity to reduce memory consumption even more +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + %cmake3 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH:BOOL=yes \ -DBUILD_VKJSON=OFF \ From a578eb7bf4ba400ce5f73118f011593eae58678b Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 13 Jun 2018 16:30:19 -0400 Subject: [PATCH 49/55] Change to Requires: mesa-vulkan-drivers. Too many things still don't agree what Recommends means, and they're even lighter-weight than the GL drivers which are already hard Requires. --- vulkan.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 83454e9..8eaa785 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -39,7 +39,7 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) -Recommends: mesa-vulkan-drivers +Requires: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} Requires: spirv-tools-libs%{?_isa} = 2018.3.0 @@ -151,6 +151,11 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Wed Jun 13 2018 Adam Jackson - 1.1.73.0-2 +- Change to Requires: mesa-vulkan-drivers. Too many things still don't agree + what Recommends means, and they're even lighter-weight than the GL drivers + which are already hard Requires. + * Tue Apr 24 2018 Leigh Scott - 1.1.73.0-1 - Update to 1.1.73.0 From ec4592aa5cbca73773bcd1e5baf81b763d8edd30 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 16 Jun 2018 15:12:24 +0100 Subject: [PATCH 50/55] Make vulkan x86 only to match vulkan drivers --- vulkan.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vulkan.spec b/vulkan.spec index 8eaa785..4acbe93 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -20,6 +20,9 @@ Patch0: cmake_spirv_tools_commit.patch Patch1: 0003-layers-Don-t-set-an-rpath.patch Patch2: 0008-demos-Don-t-build-tri-or-cube.patch +# mesa-vulkan-drivers and nvidia driver don't support other arch +ExclusiveArch: x86_64 i686 + BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 @@ -151,6 +154,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Sat Jun 16 2018 Leigh Scott - 1.1.73.0-3 +- Make vulkan x86 only to match vulkan drivers + * Wed Jun 13 2018 Adam Jackson - 1.1.73.0-2 - Change to Requires: mesa-vulkan-drivers. Too many things still don't agree what Recommends means, and they're even lighter-weight than the GL drivers From bac864740d844ba526184bf3dbcdabeb5f27a7d5 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 18 Jun 2018 12:41:02 -0400 Subject: [PATCH 51/55] Undo previous change. Mesa is wrong to not build radv for more arches, and there's nothing x86-specific about this package, the Vulkan loader. --- vulkan.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 4acbe93..e77e5f9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -20,9 +20,6 @@ Patch0: cmake_spirv_tools_commit.patch Patch1: 0003-layers-Don-t-set-an-rpath.patch Patch2: 0008-demos-Don-t-build-tri-or-cube.patch -# mesa-vulkan-drivers and nvidia driver don't support other arch -ExclusiveArch: x86_64 i686 - BuildRequires: gcc-c++ BuildRequires: bison BuildRequires: cmake3 @@ -154,6 +151,10 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Mon Jun 18 2018 Adam Jackson - 1.1.73.0-4 +- Undo previous change. Mesa is wrong to not build radv for more arches, + and there's nothing x86-specific about this package, the Vulkan loader. + * Sat Jun 16 2018 Leigh Scott - 1.1.73.0-3 - Make vulkan x86 only to match vulkan drivers From ff0332e366bd20e904530932ce88ddd009b0de58 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Mon, 18 Jun 2018 19:52:26 +0100 Subject: [PATCH 52/55] Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it! --- vulkan.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index e77e5f9..669e048 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -39,7 +39,6 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) -Requires: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} Requires: spirv-tools-libs%{?_isa} = 2018.3.0 @@ -151,6 +150,9 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-5 +- Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it! + * Mon Jun 18 2018 Adam Jackson - 1.1.73.0-4 - Undo previous change. Mesa is wrong to not build radv for more arches, and there's nothing x86-specific about this package, the Vulkan loader. From a64251b043cb3822106af357e462d9850535cf16 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 19 Jun 2018 00:38:52 +0100 Subject: [PATCH 53/55] Revert "Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it!" This reverts commit ff0332e366bd20e904530932ce88ddd009b0de58. --- vulkan.spec | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/vulkan.spec b/vulkan.spec index 669e048..e77e5f9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 5%{?dist} +Release: 4%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -39,6 +39,7 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) +Requires: mesa-vulkan-drivers %endif Requires: vulkan-filesystem = %{version}-%{release} Requires: spirv-tools-libs%{?_isa} = 2018.3.0 @@ -150,9 +151,6 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog -* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-5 -- Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it! - * Mon Jun 18 2018 Adam Jackson - 1.1.73.0-4 - Undo previous change. Mesa is wrong to not build radv for more arches, and there's nothing x86-specific about this package, the Vulkan loader. From 4b5cf4dcd4245d121364c693ca98f0c3852144ce Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 19 Jun 2018 00:42:57 +0100 Subject: [PATCH 54/55] Revert last commit --- vulkan.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vulkan.spec b/vulkan.spec index e77e5f9..ee7cdd9 100644 --- a/vulkan.spec +++ b/vulkan.spec @@ -9,7 +9,7 @@ Name: vulkan Version: 1.1.73.0 -Release: 4%{?dist} +Release: 6%{?dist} Summary: Vulkan loader and validation layers License: ASL 2.0 URL: https://github.com/KhronosGroup @@ -151,6 +151,12 @@ chrpath -d %{buildroot}%{_bindir}/vulkaninfo %dir %{_datadir}/vulkan/implicit_layer.d/ %changelog +* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-6 +- Revert last commit + +* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-5 +- Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it! + * Mon Jun 18 2018 Adam Jackson - 1.1.73.0-4 - Undo previous change. Mesa is wrong to not build radv for more arches, and there's nothing x86-specific about this package, the Vulkan loader. From c5ab1daa670ee613cb2b38b44a908cd4444865bd Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Wed, 27 Jun 2018 18:41:26 +0100 Subject: [PATCH 55/55] Kronos split the source code --- .gitignore | 5 - 0003-layers-Don-t-set-an-rpath.patch | 13 - 0008-demos-Don-t-build-tri-or-cube.patch | 98 ------- cmake_spirv_tools_commit.patch | 12 - dead.package | 1 + sources | 1 - spirv_tools_commit_id.h | 29 -- vulkan.spec | 326 ----------------------- 8 files changed, 1 insertion(+), 484 deletions(-) delete mode 100644 .gitignore delete mode 100644 0003-layers-Don-t-set-an-rpath.patch delete mode 100644 0008-demos-Don-t-build-tri-or-cube.patch delete mode 100644 cmake_spirv_tools_commit.patch create mode 100644 dead.package delete mode 100644 sources delete mode 100644 spirv_tools_commit_id.h delete mode 100644 vulkan.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 21aca76..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/SPIRV-Headers-*.tar.gz -/glslang-*.tar.gz -/SPIRV-Tools-*.tar.gz -/Vulkan-LoaderAndValidationLayers-sdk-*.tar.gz -/vulkan-*.src.rpm diff --git a/0003-layers-Don-t-set-an-rpath.patch b/0003-layers-Don-t-set-an-rpath.patch deleted file mode 100644 index 2dc28b5..0000000 --- a/0003-layers-Don-t-set-an-rpath.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/tests/layers/CMakeLists.txt -+++ b/tests/layers/CMakeLists.txt -@@ -5,9 +5,6 @@ - VkLayer_device_profile_api - VkLayer_test - ) -- --set(VK_LAYER_RPATH /usr/lib/x86_64-linux-gnu/vulkan/layer:/usr/lib/i386-linux-gnu/vulkan/layer) --set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH}) - - if (WIN32) - if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) - diff --git a/0008-demos-Don-t-build-tri-or-cube.patch b/0008-demos-Don-t-build-tri-or-cube.patch deleted file mode 100644 index 94f292e..0000000 --- a/0008-demos-Don-t-build-tri-or-cube.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- a/demos/CMakeLists.txt -+++ b/demos/CMakeLists.txt -@@ -94,46 +94,6 @@ - endif() - - if(WIN32) -- # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory. -- # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the -- # appropriate data at build time. -- if (CMAKE_CL_64) -- set (BUILDTGT_DIR build) -- else () -- set (BUILDTGT_DIR build32) -- endif() -- -- # Use static MSVCRT libraries -- foreach(configuration in CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO -- CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO) -- if(${configuration} MATCHES "/MD") -- string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}") -- endif() -- endforeach() -- -- file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) -- file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) --endif() -- --add_custom_command( -- COMMENT "Compiling cube demo vertex shader" -- OUTPUT cube.vert.inc -- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/demos/cube.vert -- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.vert -- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.vert ${GLSLANG_VALIDATOR} --) --add_custom_command( -- COMMENT "Compiling cube demo fragment shader" -- OUTPUT cube.frag.inc -- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/demos/cube.frag -- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.frag -- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.frag ${GLSLANG_VALIDATOR} --) -- --include_directories(${CMAKE_CURRENT_BINARY_DIR}) -- -- --if(WIN32) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") - endif() -@@ -173,47 +133,6 @@ - endif() - endif() - --###################################################################################### --# cube -- --if(APPLE) -- include(macOS/cube/cube.cmake) --elseif(NOT WIN32) -- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) -- target_link_libraries(cube ${LIBRARIES}) -- endif() --else() -- if (CMAKE_CL_64) -- set (LIB_DIR "Win64") -- else() -- set (LIB_DIR "Win32") -- endif() -- -- add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) -- target_link_libraries(cube ${LIBRARIES}) --endif() -- --###################################################################################### --# cubepp -- --if(APPLE) -- include(macOS/cubepp/cubepp.cmake) --elseif(NOT WIN32) -- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) -- add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) -- target_link_libraries(cubepp ${LIBRARIES}) -- endif() --else() -- if (CMAKE_CL_64) -- set (LIB_DIR "Win64") -- else() -- set (LIB_DIR "Win32") -- endif() -- -- add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) -- target_link_libraries(cubepp ${LIBRARIES}) --endif() - - ###################################################################################### - # smoke - diff --git a/cmake_spirv_tools_commit.patch b/cmake_spirv_tools_commit.patch deleted file mode 100644 index 047acf3..0000000 --- a/cmake_spirv_tools_commit.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -380,9 +380,6 @@ - run_vk_xml_generate(helper_file_generator.py vk_object_types.h) - run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h) - run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h) --if(BUILD_LAYERS) -- run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h) --endif() - - - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..be7dc56 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Kronos split the source code diff --git a/sources b/sources deleted file mode 100644 index 93b49e6..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0.tar.gz) = 609cef72369265dbae467cbd9677416e62715119140e6e0a74a593d7d00a723fe265344e180e099af46fb92204d494fbb975ba1c9490261b676709fb7dce5d09 diff --git a/spirv_tools_commit_id.h b/spirv_tools_commit_id.h deleted file mode 100644 index c4269ad..0000000 --- a/spirv_tools_commit_id.h +++ /dev/null @@ -1,29 +0,0 @@ -// *** THIS FILE IS GENERATED - DO NOT EDIT *** -// See external_revision_generator.py for modifications - -/*************************************************************************** - * - * Copyright (c) 2015-2017 The Khronos Group Inc. - * Copyright (c) 2015-2017 Valve Corporation - * Copyright (c) 2015-2017 LunarG, Inc. - * Copyright (c) 2015-2017 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Author: Chris Forbes - * Author: Cort Stratton - * - ****************************************************************************/ -#pragma once - -#define SPIRV_TOOLS_COMMIT_ID "26a698c34788bb69123a1f3789970a16cf4d9641" diff --git a/vulkan.spec b/vulkan.spec deleted file mode 100644 index ee7cdd9..0000000 --- a/vulkan.spec +++ /dev/null @@ -1,326 +0,0 @@ -%if 0%{?rhel} && 0%{?rhel} <= 7 -%global _wayland OFF -%else -%global _wayland ON -%endif - -%global __requires_exclude ^libVkLayer_utils.so -%global srcname Vulkan-LoaderAndValidationLayers - -Name: vulkan -Version: 1.1.73.0 -Release: 6%{?dist} -Summary: Vulkan loader and validation layers -License: ASL 2.0 -URL: https://github.com/KhronosGroup -Source0: %url/%{srcname}/archive/sdk-%{version}.tar.gz#/%{srcname}-sdk-%{version}.tar.gz -# Edit spirv_tools_commit_id.h to match spirv-tools commit id -Source1: spirv_tools_commit_id.h -Patch0: cmake_spirv_tools_commit.patch -Patch1: 0003-layers-Don-t-set-an-rpath.patch -Patch2: 0008-demos-Don-t-build-tri-or-cube.patch - -BuildRequires: gcc-c++ -BuildRequires: bison -BuildRequires: cmake3 -BuildRequires: ninja-build -BuildRequires: /usr/bin/chrpath -BuildRequires: python%{python3_pkgversion} -BuildRequires: glslang-devel -BuildRequires: spirv-headers-devel -BuildRequires: pkgconfig(SPIRV-Tools) = 2018.3.0 -BuildRequires: pkgconfig(libsystemd) -BuildRequires: pkgconfig(pciaccess) -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xcb) -BuildRequires: pkgconfig(xrandr) -%if 0%{?fedora} || 0%{?rhel} > 7 -BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-cursor) -BuildRequires: pkgconfig(wayland-server) -BuildRequires: pkgconfig(wayland-egl) -Requires: mesa-vulkan-drivers -%endif -Requires: vulkan-filesystem = %{version}-%{release} -Requires: spirv-tools-libs%{?_isa} = 2018.3.0 - -%description -Vulkan is a new generation graphics and compute API that provides -high-efficiency, cross-platform access to modern GPUs used in a wide variety of -devices from PCs and consoles to mobile phones and embedded platforms. - -This package contains the reference ICD loader and validation layers for -Vulkan. - -%package demos -Summary: Vulkan demo package -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description demos -Vulkan demo package contains vulkaninfo and vulkan-smoketest. - -%package devel -Summary: Vulkan development package -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description devel -Development headers for Vulkan applications. - -%package filesystem -Summary: Vulkan filesystem package -BuildArch: noarch - -%description filesystem -Filesystem for Vulkan. - -%prep -%setup -q -n %{srcname}-sdk-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -cp %{SOURCE1} . - -# fix spurious-executable-perm -chmod 0644 README.md - -# fix wrong-script-end-of-line-encoding -sed -i 's/\r//' README.md - -# sigh inttypes -sed -i 's/inttypes.h/cinttypes/' layers/*.{cpp,h} - -%build -# Force serial build to workaround kernel OOM with multiple g++ processes running -%global _smp_mflags -j1 -%ifarch %{ix86} -# Decrease debuginfo verbosity to reduce memory consumption even more -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif - -%cmake3 -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH:BOOL=yes \ - -DBUILD_VKJSON=OFF \ - -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_datadir} \ - -DBUILD_WSI_MIR_SUPPORT=OFF \ - -DBUILD_WSI_WAYLAND_SUPPORT=%{_wayland} \ - -DBUILD_TESTS=OFF \ - -GNinja -%ninja_build - -%install -%ninja_install - - -# create the filesystem -mkdir -p %{buildroot}%{_sysconfdir}/vulkan/{explicit,implicit}_layer.d/ \ -%{buildroot}%{_datadir}/vulkan/{explicit,implicit}_layer.d/ \ -%{buildroot}{%{_sysconfdir},%{_datadir}}/vulkan/icd.d - -# rename smoketest -mv %{buildroot}%{_bindir}/smoketest %{buildroot}%{_bindir}/vulkan-smoketest - -# remove RPATH -chrpath -d %{buildroot}%{_bindir}/vulkaninfo - -%ldconfig_scriptlets - -%files -%license LICENSE.txt COPYRIGHT.txt -%doc README.md CONTRIBUTING.md -%{_datadir}/vulkan/explicit_layer.d/*.json -%{_libdir}/libVkLayer_*.so -%{_libdir}/libvulkan.so.* - -%files demos -%{_bindir}/vulkaninfo -%{_bindir}/vulkan-smoketest - -%files devel -%{_includedir}/vulkan/ -%{_libdir}/pkgconfig/vulkan.pc -%{_libdir}/libvulkan.so - -%files filesystem -%dir %{_sysconfdir}/vulkan/ -%dir %{_sysconfdir}/vulkan/explicit_layer.d/ -%dir %{_sysconfdir}/vulkan/icd.d/ -%dir %{_sysconfdir}/vulkan/implicit_layer.d/ -%dir %{_datadir}/vulkan/ -%dir %{_datadir}/vulkan/explicit_layer.d/ -%dir %{_datadir}/vulkan/icd.d/ -%dir %{_datadir}/vulkan/implicit_layer.d/ - -%changelog -* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-6 -- Revert last commit - -* Mon Jun 18 2018 Leigh Scott - 1.1.73.0-5 -- Remove bogus mesa-vulkan-drivers requires, vulkan doesn't require it! - -* Mon Jun 18 2018 Adam Jackson - 1.1.73.0-4 -- Undo previous change. Mesa is wrong to not build radv for more arches, - and there's nothing x86-specific about this package, the Vulkan loader. - -* Sat Jun 16 2018 Leigh Scott - 1.1.73.0-3 -- Make vulkan x86 only to match vulkan drivers - -* Wed Jun 13 2018 Adam Jackson - 1.1.73.0-2 -- Change to Requires: mesa-vulkan-drivers. Too many things still don't agree - what Recommends means, and they're even lighter-weight than the GL drivers - which are already hard Requires. - -* Tue Apr 24 2018 Leigh Scott - 1.1.73.0-1 -- Update to 1.1.73.0 - -* Thu Mar 08 2018 Leigh Scott - 1.1.70.0-1 -- Update to 1.1.70.0 - -* Sat Feb 10 2018 Leigh Scott - 1.0.68.0-2 -- Fix broken isa - -* Fri Feb 09 2018 Leigh Scott - 1.0.68.0-1 -- Update to 1.0.68.0 - -* Thu Feb 08 2018 Leigh Scott - 1.0.65.2-2 -- Use ninja to build - -* Tue Jan 09 2018 Leigh Scott - 1.0.65.2-1 -- Update to 1.0.65.2 - -* Tue Jan 02 2018 Leigh Scott - 1.0.65.1-3 -- Add build require glslang-devel, spirv-tools-devel and spirv-headers-devel - -* Tue Dec 19 2017 Leigh Scott - 1.0.65.1-2 -- Move VkICD_mock to devel - -* Tue Dec 19 2017 Leigh Scott - 1.0.65.1-1 -- Update to 1.0.65.1 - -* Wed Nov 22 2017 Leigh Scott - 1.0.61.1-7 -- Redo conditionals - -* Thu Nov 16 2017 Merlin Mathesius - 1.0.61.1-6 -- Additional spec file conditional fix - -* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-5 -- Add small compile fix - -* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-4 -- Fix vulkan requires -- Move demos to sub-package - -* Tue Oct 31 2017 Leigh Scott - 1.0.61.1-3 -- Remove epel conditionals -- Remove vulkan git conditionals -- Use cmake macro for everything - -* Fri Oct 06 2017 Leigh Scott - 1.0.61.1-2 -- Add upstream fix for 32bit TEXTREL issue (like anyone gives a damn) - -* Thu Sep 21 2017 Leigh Scott - 1.0.61.1-1 -- Update to 1.0.61.1 release (rhbz 1493425) - -* Tue Sep 19 2017 Leigh Scott - 1.0.61.0-1 -- Update to 1.0.61.0 release - -* Mon Aug 14 2017 Leigh Scott - 1.0.57.0-1 -- Update to 1.0.57.0 release - -* Thu Aug 03 2017 Fedora Release Engineering - 1.0.54.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.0.54.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Jul 22 2017 Leigh Scott - 1.0.54.0-2 -- Cleanup cmake commands - -* Sat Jul 22 2017 Leigh Scott - 1.0.54.0-1 -- Update to 1.0.54.0 release -- Use build requires cmake3 for epel build -- Build layers for epel - -* Fri Jun 16 2017 Leigh Scott - 1.0.51.0-1 -- Update to 1.0.51.0 release - -* Mon May 15 2017 Fedora Release Engineering - 1.0.46.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Fri Apr 14 2017 Leigh Scott - 1.0.46.0-2 -- Fix epel build - -* Fri Apr 14 2017 Leigh Scott - 1.0.46.0-1 -- Update to 1.0.46.0 release - -* Sat Apr 01 2017 Leigh Scott - 1.0.42.2-1 -- Update to 1.0.42.2 release - -* Fri Mar 03 2017 Leigh Scott - 1.0.42.0-1 -- Update to 1.0.42.0 release - -* Sat Feb 11 2017 Fedora Release Engineering - 1.0.39.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jan 31 2017 Leigh Scott - 1.0.39.1-1 -- Update to 1.0.39.1 release - -* Tue Jan 24 2017 Leigh Scott - 1.0.39.0-1 -- Update to 1.0.39.0 release -- Add build requires libXrandr-devel - -* Fri Dec 16 2016 leigh scott - 1.0.37.0-1 -- Update to 1.0.37.0 release -- Disable Mir as it's lame ubuntu rubbish - -* Fri Dec 02 2016 leigh scott - 1.0.34.0-0.1.gitd4cd34f -- Update to latest git - -* Thu Dec 01 2016 leigh scott - 1.0.30.0-2 -- Fix VkLayer undefined symbol: util_GetExtensionProperties - -* Sat Oct 15 2016 Leigh Scott - 1.0.30.0-1 -- Update to 1.0.30.0 release - -* Mon Oct 10 2016 Leigh Scott - 1.0.26.0-4 -- Build with wayland support (rhbz 1383115) - -* Tue Sep 27 2016 Leigh Scott - 1.0.26.0-3 -- Move unversioned libraries -- Disable vkjson build -- Fix license tag - -* Sun Sep 11 2016 Leigh Scott - 1.0.26.0-2 -- Make layers conditional. - -* Sun Sep 11 2016 Leigh Scott - 1.0.26.0-1 -- Update to 1.0.26.0 release - -* Thu Sep 08 2016 Leigh Scott - 1.0.26.0-0.3.gitfbb8667 -- Clean up - -* Thu Sep 08 2016 Leigh Scott - 1.0.26.0-0.2.gitfbb8667 -- Change build requires python3 -- Use release for cmake -- Make build verbose - -* Wed Sep 07 2016 Leigh Scott - 1.0.26.0-0.1.gitfbb8667 -- Update to latest git - -* Tue Feb 16 2016 Igor Gnatenko - 1.0.3-0.1.git1affe90 -- Add ldconfig in post/postun -- Use upstream tarball from commit + patches -- Fix versioning. In fact it was never released -- Fixup mixing of spaces/tabs -- Remove rpath from vulkaninfo -- Make filesystem subpkg noarch (it is really noarch) -- BuildRequire gcc and gcc-c++ explicitly -- Require main pkg with isa tag -- Fix perms and perm of README.md -- Use %%license tag - -* Tue Feb 16 2016 Adam Jackson - 1.0.3-0 -- Update loader to not build cube or tri. Drop bundled LunarGLASS and llvm - since they're only needed for those demos. - -* Tue Feb 16 2016 Adam Jackson - 1.0.3-0 -- Initial packaging