From 6c6d752d4ab4e1e2957c119a18d93b70ae8a73b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Wed, 11 Sep 2024 11:10:41 +0200 Subject: [PATCH] Update to 1.3.283.0 SDK Resolves: https://issues.redhat.com/browse/RHEL-54282 --- 0001-pkg-config-compatibility.patch | 159 ++++++++++++++++------------ glslang.spec | 43 ++++---- sources | 2 +- 3 files changed, 110 insertions(+), 94 deletions(-) diff --git a/0001-pkg-config-compatibility.patch b/0001-pkg-config-compatibility.patch index d3a10dd..888bf77 100644 --- a/0001-pkg-config-compatibility.patch +++ b/0001-pkg-config-compatibility.patch @@ -1,9 +1,9 @@ -diff -up glslang-sdk-1.3.250.1/CMakeLists.txt.dma glslang-sdk-1.3.250.1/CMakeLists.txt ---- glslang-sdk-1.3.250.1/CMakeLists.txt.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/CMakeLists.txt 2023-07-07 09:26:10.171395413 +1000 -@@ -104,6 +104,13 @@ else() - endif() - option(ENABLE_CTEST "Enables testing" ON) +diff -up glslang-sdk-1.3.275.0/CMakeLists.txt.dma glslang-sdk-1.3.275.0/CMakeLists.txt +--- glslang-sdk-1.3.275.0/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/CMakeLists.txt 2023-09-05 13:21:45.113297799 +1000 +@@ -106,6 +106,13 @@ endif() + + option(ENABLE_PCH "Enables Precompiled header" ON) +# using pkg-config to configure include paths and link libraries +include(FindPkgConfig) @@ -12,15 +12,31 @@ diff -up glslang-sdk-1.3.250.1/CMakeLists.txt.dma glslang-sdk-1.3.250.1/CMakeLis + pkg_check_modules(SPIRV_TOOLS_SHARED REQUIRED SPIRV-Tools-shared>=2019.2.1) +endif(BUILD_SHARED_LIBS) + - if(ENABLE_CTEST) - include(CTest) + if(ENABLE_HLSL) + add_compile_definitions(ENABLE_HLSL) endif() -@@ -282,11 +289,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMA +@@ -264,27 +271,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External) add_subdirectory(External) endif() +-option(ALLOW_EXTERNAL_SPIRV_TOOLS "Allows to build against installed SPIRV-Tools-opt. This is unsupported if the commit isn't the one in known_good.json") -if(NOT TARGET SPIRV-Tools-opt) -- set(ENABLE_OPT OFF) +- if(ALLOW_EXTERNAL_SPIRV_TOOLS) +- # Look for external SPIR-V Tools build, if not building in-tree +- message(STATUS "Trying to find local SPIR-V tools") +- find_package(SPIRV-Tools-opt) +- if(NOT TARGET SPIRV-Tools-opt) +- if(ENABLE_OPT) +- message(WARNING "ENABLE_OPT set but SPIR-V tools not found! Disabling SPIR-V optimization.") +- endif() +- set(ENABLE_OPT OFF) +- endif() +- else() +- if(ENABLE_OPT) +- message(SEND_ERROR "ENABLE_OPT set but SPIR-V tools not found. Please run update_glslang_sources.py, " +- "set the ALLOW_EXTERNAL_SPIRV_TOOLS option to use a local install of SPIRV-Tools, or set ENABLE_OPT=0.") +- endif() +- endif() -endif() - -if(ENABLE_OPT) @@ -28,35 +44,47 @@ diff -up glslang-sdk-1.3.250.1/CMakeLists.txt.dma glslang-sdk-1.3.250.1/CMakeLis message(STATUS "optimizer enabled") add_definitions(-DENABLE_OPT=1) else() -diff -up glslang-sdk-1.3.250.1/External/CMakeLists.txt.dma glslang-sdk-1.3.250.1/External/CMakeLists.txt ---- glslang-sdk-1.3.250.1/External/CMakeLists.txt.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/External/CMakeLists.txt 2023-07-07 09:26:10.172395432 +1000 -@@ -68,10 +68,3 @@ if(BUILD_TESTING) +@@ -349,9 +336,6 @@ if (GLSLANG_ENABLE_INSTALL) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/glslang-config.cmake.in" [=[ + @PACKAGE_INIT@ + include(CMakeFindDependencyMacro) +- if(@ENABLE_OPT@) +- find_dependency(SPIRV-Tools-opt) +- endif() + @INSTALL_CONFIG_UNIX@ + include("@PACKAGE_PATH_EXPORT_TARGETS@") + ]=]) +diff -up glslang-sdk-1.3.275.0/External/CMakeLists.txt.dma glslang-sdk-1.3.275.0/External/CMakeLists.txt +--- glslang-sdk-1.3.275.0/External/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/External/CMakeLists.txt 2023-09-05 13:21:45.113297799 +1000 +@@ -68,10 +68,4 @@ if(GLSLANG_TESTS) endif() endif() -if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt) - if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools) - set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") -- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools) +- add_subdirectory(spirv-tools) - endif() -endif() -- -diff -up glslang-sdk-1.3.250.1/glslang/CMakeLists.txt.dma glslang-sdk-1.3.250.1/glslang/CMakeLists.txt ---- glslang-sdk-1.3.250.1/glslang/CMakeLists.txt.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/glslang/CMakeLists.txt 2023-07-07 09:26:10.173395450 +1000 -@@ -245,6 +245,8 @@ if(ENABLE_GLSLANG_INSTALL) - add_library(GenericCodeGen ALIAS glslang::GenericCodeGen) - endif() - ") + + +diff -up glslang-sdk-1.3.275.0/glslang/CMakeLists.txt.dma glslang-sdk-1.3.275.0/glslang/CMakeLists.txt +--- glslang-sdk-1.3.275.0/glslang/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/glslang/CMakeLists.txt 2023-09-05 13:21:45.114297825 +1000 +@@ -232,6 +232,8 @@ if(GLSLANG_ENABLE_INSTALL) + if(NOT BUILD_SHARED_LIBS) + install(TARGETS MachineIndependent EXPORT glslang-targets) + install(TARGETS GenericCodeGen EXPORT glslang-targets) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) endif() -diff -up glslang-sdk-1.3.250.1/glslang/glslang.pc.cmake.in.dma glslang-sdk-1.3.250.1/glslang/glslang.pc.cmake.in ---- glslang-sdk-1.3.250.1/glslang/glslang.pc.cmake.in.dma 2023-07-07 09:26:10.174395469 +1000 -+++ glslang-sdk-1.3.250.1/glslang/glslang.pc.cmake.in 2023-07-07 09:26:10.174395469 +1000 + set(PUBLIC_HEADERS + +diff -up glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in.dma glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in +--- glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in.dma 2023-09-05 13:21:45.115297852 +1000 ++++ glslang-sdk-1.3.275.0/glslang/glslang.pc.cmake.in 2023-09-05 13:21:45.115297852 +1000 @@ -0,0 +1,11 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ @@ -70,21 +98,21 @@ diff -up glslang-sdk-1.3.250.1/glslang/glslang.pc.cmake.in.dma glslang-sdk-1.3.2 + Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper + Cflags: -I${includedir} \ No newline at end of file -diff -up glslang-sdk-1.3.250.1/SPIRV/CMakeLists.txt.dma glslang-sdk-1.3.250.1/SPIRV/CMakeLists.txt ---- glslang-sdk-1.3.250.1/SPIRV/CMakeLists.txt.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/SPIRV/CMakeLists.txt 2023-07-07 09:26:10.176395507 +1000 -@@ -82,6 +82,10 @@ target_include_directories(SPIRV PUBLIC +diff -up glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt.dma glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt +--- glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/SPIRV/CMakeLists.txt 2023-09-05 13:21:45.116297879 +1000 +@@ -89,6 +89,10 @@ target_include_directories(SPIRV PUBLIC glslang_add_build_info_dependency(SPIRV) + +set(SPIRV_NAME spirv) -+set(SPIRV_VERSION 1.3) ++set(SPIRV_VERSION 1.5.5) + if (ENABLE_SPVREMAPPER) add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) set_target_properties(SPVRemapper PROPERTIES -@@ -98,15 +102,21 @@ if(WIN32 AND BUILD_SHARED_LIBS) +@@ -105,10 +109,17 @@ if(WIN32 AND BUILD_SHARED_LIBS) endif() endif() @@ -96,34 +124,28 @@ diff -up glslang-sdk-1.3.250.1/SPIRV/CMakeLists.txt.dma glslang-sdk-1.3.250.1/SP + target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_CFLAGS_OTHER}) + target_link_libraries(SPIRV ${SPIRV_TOOLS_SHARED_LIBRARIES}) +endif(BUILD_SHARED_LIBS) -+ ++ if(ENABLE_OPT) - target_include_directories(SPIRV - PRIVATE ${spirv-tools_SOURCE_DIR}/include - PRIVATE ${spirv-tools_SOURCE_DIR}/source - ) -- target_link_libraries(SPIRV PRIVATE MachineIndependent SPIRV-Tools-opt) +- target_link_libraries(SPIRV PRIVATE MachineIndependent PUBLIC SPIRV-Tools-opt) - target_include_directories(SPIRV PUBLIC -- $ -- $) +- $) + target_link_libraries(SPIRV glslang) else() target_link_libraries(SPIRV PRIVATE MachineIndependent) endif() -@@ -147,6 +157,9 @@ if(ENABLE_GLSLANG_INSTALL) - add_library(SPIRV ALIAS glslang::SPIRV) - ") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SPIRVTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) -- +@@ -125,5 +125,9 @@ if(GLSLANG_ENABLE_INSTALL) + + install(TARGETS SPIRV EXPORT glslang-targets) + + # spirv.pc Configuration + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/spirv.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -+ - install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) ++ + install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) endif() -diff -up glslang-sdk-1.3.250.1/SPIRV/spirv.pc.cmake.in.dma glslang-sdk-1.3.250.1/SPIRV/spirv.pc.cmake.in ---- glslang-sdk-1.3.250.1/SPIRV/spirv.pc.cmake.in.dma 2023-07-07 09:26:10.177395526 +1000 -+++ glslang-sdk-1.3.250.1/SPIRV/spirv.pc.cmake.in 2023-07-07 09:26:10.177395526 +1000 +diff -up glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in.dma glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in +--- glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in.dma 2023-09-05 13:21:45.116297879 +1000 ++++ glslang-sdk-1.3.275.0/SPIRV/spirv.pc.cmake.in 2023-09-05 13:21:45.116297879 +1000 @@ -0,0 +1,11 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ @@ -137,9 +159,9 @@ diff -up glslang-sdk-1.3.250.1/SPIRV/spirv.pc.cmake.in.dma glslang-sdk-1.3.250.1 + Libs: -L${libdir} -lSPIRV + Cflags: -I${includedir} \ No newline at end of file -diff -up glslang-sdk-1.3.250.1/SPIRV/SpvTools.cpp.dma glslang-sdk-1.3.250.1/SPIRV/SpvTools.cpp ---- glslang-sdk-1.3.250.1/SPIRV/SpvTools.cpp.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/SPIRV/SpvTools.cpp 2023-07-07 09:26:10.178395545 +1000 +diff -up glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp.dma glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp +--- glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/SPIRV/SpvTools.cpp 2023-09-05 13:21:45.117297906 +1000 @@ -43,7 +43,7 @@ #include @@ -149,31 +171,30 @@ diff -up glslang-sdk-1.3.250.1/SPIRV/SpvTools.cpp.dma glslang-sdk-1.3.250.1/SPIR namespace glslang { -diff -up glslang-sdk-1.3.250.1/StandAlone/CMakeLists.txt.dma glslang-sdk-1.3.250.1/StandAlone/CMakeLists.txt ---- glslang-sdk-1.3.250.1/StandAlone/CMakeLists.txt.dma 2023-06-28 03:49:14.000000000 +1000 -+++ glslang-sdk-1.3.250.1/StandAlone/CMakeLists.txt 2023-07-07 09:26:10.179395564 +1000 -@@ -62,6 +62,14 @@ if(ENABLE_SPVREMAPPER) - set(LIBRARIES ${LIBRARIES} SPVRemapper) - endif() +diff -up glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt.dma glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt +--- glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt.dma 2023-08-09 04:49:36.000000000 +1000 ++++ glslang-sdk-1.3.275.0/StandAlone/CMakeLists.txt 2023-09-05 13:22:23.806333232 +1000 +@@ -63,6 +63,14 @@ set(LIBRARIES + SPIRV + glslang-default-resource-limits) +if(BUILD_SHARED_LIBS) + set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_SHARED_LIBRARIES}) -+ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++ target_include_directories(glslang-standalone PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) +else() + set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_LIBRARIES}) -+ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++ target_include_directories(glslang-standalone PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) +endif(BUILD_SHARED_LIBS) + if(WIN32) set(LIBRARIES ${LIBRARIES} psapi) elseif(UNIX) -@@ -71,9 +79,6 @@ elseif(UNIX) +@@ -72,8 +80,6 @@ elseif(UNIX) endif() - target_link_libraries(glslangValidator ${LIBRARIES}) --target_include_directories(glslangValidator PUBLIC -- $ -- $) + target_link_libraries(glslang-standalone ${LIBRARIES}) +-target_include_directories(glslang-standalone PUBLIC +- $) - if(ENABLE_OPT) - target_include_directories(glslangValidator + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) diff --git a/glslang.spec b/glslang.spec index bb5f431..65a6838 100644 --- a/glslang.spec +++ b/glslang.spec @@ -1,21 +1,20 @@ -%global sdkver 1.3.250.1 +%global sdkver 1.3.283.0 Name: glslang -Version: 11.9.0 -Release: 5%{?dist} +Version: 14.2.0 +Release: 1%{?dist} Summary: OpenGL and OpenGL ES shader front end and validator -License: BSD and GPLv3+ and ASL 2.0 +License: BSD-2-Clause AND BSD-3-Clause AND GPL-3.0-or-later AND Apache-2.0 URL: https://github.com/KhronosGroup/%{name} -Source0: %url/archive/sdk-%{sdkver}.tar.gz#/%{name}-sdk-%{sdkver}.tar.gz -# Patch to build against system spirv-tools +Source0: %url/archive/vulkan-sdk-%{sdkver}.tar.gz#/%{name}-sdk-%{sdkver}.tar.gz +# Patch to build against system spirv-tools (rebased locally) #Patch3: https://patch-diff.githubusercontent.com/raw/KhronosGroup/glslang/pull/1722.patch#/0001-pkg-config-compatibility.patch Patch3: 0001-pkg-config-compatibility.patch -BuildRequires: cmake +BuildRequires: cmake3 BuildRequires: gcc-c++ BuildRequires: ninja-build -BuildRequires: python3 BuildRequires: spirv-tools-devel %description @@ -33,23 +32,16 @@ ES and OpenGL shading languages. It implements a strict interpretation of the specifications for these languages. %prep -%autosetup -p1 -n %{name}-sdk-%{sdkver} +%autosetup -p1 -n %{name}-vulkan-sdk-%{sdkver} # Fix rpmlint warning on debuginfo find . -name '*.h' -or -name '*.cpp' -or -name '*.hpp'| xargs chmod a-x %build -%__mkdir_p build -pushd build -%cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ - -DCMAKE_SKIP_RPATH:BOOL=yes \ - -DBUILD_SHARED_LIBS=OFF \ - -GNinja .. -%{ninja_build} -popd +%cmake3 -DBUILD_SHARED_LIBS=OFF +%cmake_build %install -%{ninja_install} -C build +%{cmake_install} # we don't want them in here rm -rf %{buildroot}%{_includedir}/SPIRV @@ -57,31 +49,34 @@ rm -rf %{buildroot}%{_includedir}/SPIRV %ifnarch s390x ppc64 %check pushd Test -./runtests localResults ../build/StandAlone/glslangValidator ../build/StandAlone/spirv-remap +./runtests localResults ../%{_vpath_builddir}/StandAlone/glslangValidator ../%{_vpath_builddir}/StandAlone/spirv-remap popd %endif %files %doc README.md README-spirv-remap.txt +%{_bindir}/glslang %{_bindir}/glslangValidator %{_bindir}/spirv-remap %files devel %{_includedir}/glslang/ -%{_libdir}/libHLSL.a -%{_libdir}/libOGLCompiler.a %{_libdir}/libOSDependent.a -%{_libdir}/libGenericCodeGen.a -%{_libdir}/libMachineIndependent.a %{_libdir}/libSPIRV.a %{_libdir}/libSPVRemapper.a %{_libdir}/libglslang.a +%{_libdir}/libGenericCodeGen.a +%{_libdir}/libMachineIndependent.a %{_libdir}/libglslang-default-resource-limits.a %{_libdir}/pkgconfig/glslang.pc %{_libdir}/pkgconfig/spirv.pc %{_libdir}/cmake/* %changelog +* Wed Sep 11 2024 José Expósito - 14.2.0-1 +- Update to 1.3.283.0 SDK + Resolves: https://issues.redhat.com/browse/RHEL-54282 + * Wed Jul 12 2023 Dave Airlie - 11.9.0-5 - Latest snapshot used in 1.3.250.1 sdk diff --git a/sources b/sources index ea5ffa0..bd8fa4a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glslang-sdk-1.3.250.1.tar.gz) = f447c59619dd52785c32ca2b013b79e59294344c7876619b6e93bade860c2c661d2d74a16c5ac7fff448b6be176bf70e39520c40c26d37fefaf0fe578512ed57 +SHA512 (glslang-sdk-1.3.283.0.tar.gz) = 297fb9c91d17c80d0f6a9812a2c785179ad58ebff2d12d5c57f7d4d2c37bab96a31656f430b97914c39d0c23e21f96718fd13437233a40d80bd4e001579facda