From 4a1407d62e69e1fbdcdc64984c01172492a2c020 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 2 Nov 2020 17:47:53 +0100 Subject: shaderc: upgrade 2019.0 -> 2020.3 Remove 0002-shaderc-2019.0-fix-build-against-new-glslang.patch as issue fixed upstream. Rebase 0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch. (From OE-Core rev: b37a544ac67ff4ad8ea56de51064b0a2f9216937) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...-the-link-order-of-libglslang-and-libHLSL.patch | 30 +++++---- ...derc-2019.0-fix-build-against-new-glslang.patch | 73 ---------------------- meta/recipes-graphics/shaderc/shaderc_2019.0.bb | 34 ---------- meta/recipes-graphics/shaderc/shaderc_2020.3.bb | 33 ++++++++++ 4 files changed, 47 insertions(+), 123 deletions(-) delete mode 100644 meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch delete mode 100644 meta/recipes-graphics/shaderc/shaderc_2019.0.bb create mode 100644 meta/recipes-graphics/shaderc/shaderc_2020.3.bb diff --git a/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch index 1ca84a29bb..7102e25bcf 100644 --- a/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch +++ b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch @@ -1,7 +1,7 @@ -From 53f1f5c714df1f0a2eb57c1ce00bc66fc9a1690e Mon Sep 17 00:00:00 2001 +From 0b9468d4face34879214f500b15e810cdd1a81a1 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Tue, 29 May 2018 07:34:00 +0200 -Subject: [PATCH 1/3] Fix the link order of libglslang and libHLSL +Subject: [PATCH] Fix the link order of libglslang and libHLSL libglslang depends on libHLSL, so the latter needs to be specified last. This fixes an issue when trying to build shaderc against system-wide @@ -13,29 +13,30 @@ Additionally, libshaderc_util also depends on SPIRV-Tools Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67] Signed-off-by: Jose Quaresma + --- glslc/CMakeLists.txt | 2 +- libshaderc_util/CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt -index acf6fb0..0f5d888 100644 +index 31664d1..35b3f19 100644 --- a/glslc/CMakeLists.txt +++ b/glslc/CMakeLists.txt -@@ -18,7 +18,7 @@ add_library(glslc STATIC - shaderc_default_compile_options(glslc) - target_include_directories(glslc PUBLIC ${glslang_SOURCE_DIR}) - target_link_libraries(glslc PRIVATE glslang OSDependent OGLCompiler -- HLSL glslang SPIRV ${CMAKE_THREAD_LIBS_INIT}) -+ glslang SPIRV HLSL ${CMAKE_THREAD_LIBS_INIT}) - target_link_libraries(glslc PRIVATE shaderc_util shaderc) +@@ -43,7 +43,7 @@ if (SHADERC_ENABLE_WGSL_OUTPUT) + endif(SHADERC_ENABLE_WGSL_OUTPUT) - add_executable(glslc_exe src/main.cc) + target_link_libraries(glslc PRIVATE +- glslang OSDependent OGLCompiler HLSL glslang SPIRV # Glslang libraries ++ glslang OSDependent OGLCompiler glslang SPIRV HLSL # Glslang libraries + $<$:libtint> # Tint libraries, optional + shaderc_util shaderc # internal Shaderc libraries + ${CMAKE_THREAD_LIBS_INIT}) diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt -index ec0e8fb..ded089d 100644 +index 48f9991..984cc06 100644 --- a/libshaderc_util/CMakeLists.txt +++ b/libshaderc_util/CMakeLists.txt -@@ -28,8 +28,8 @@ target_include_directories(shaderc_util +@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL) find_package(Threads) target_link_libraries(shaderc_util PRIVATE @@ -46,6 +47,3 @@ index ec0e8fb..ded089d 100644 shaderc_add_tests( TEST_PREFIX shaderc_util --- -2.28.0 - diff --git a/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch b/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch deleted file mode 100644 index b31b88de48..0000000000 --- a/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 44e99802fa16bb5b53b5e80c2c84f305802d494d Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Tue, 13 Oct 2020 15:20:11 +0100 -Subject: [PATCH 2/3] shaderc-2019.0: fix build against new glslang - -posted to the arch package repository by: svenstaro@gmail.com -https://github.com/archlinux/svntogit-packages/commit/72283b634a0bd7c8d99cc605e273fe1294b77b44 - -Upstream-Status: Pending - -Signed-off-by: Jose Quaresma ---- - libshaderc/src/shaderc.cc | 2 +- - libshaderc_util/src/compiler.cc | 10 +--------- - 2 files changed, 2 insertions(+), 10 deletions(-) - -diff --git a/libshaderc/src/shaderc.cc b/libshaderc/src/shaderc.cc -index 3c3c3de..b5fc6cb 100644 ---- a/libshaderc/src/shaderc.cc -+++ b/libshaderc/src/shaderc.cc -@@ -20,7 +20,7 @@ - #include - #include - --#include "SPIRV/spirv.hpp" -+#include "glslang/SPIRV/spirv.hpp" - - #include "libshaderc_util/compiler.h" - #include "libshaderc_util/counting_includer.h" -diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc -index ef7867f..acc172b 100644 ---- a/libshaderc_util/src/compiler.cc -+++ b/libshaderc_util/src/compiler.cc -@@ -26,7 +26,7 @@ - #include "libshaderc_util/string_piece.h" - #include "libshaderc_util/version_profile.h" - --#include "SPIRV/GlslangToSpv.h" -+#include "glslang/SPIRV/GlslangToSpv.h" - - namespace { - using shaderc_util::string_piece; -@@ -291,17 +291,12 @@ std::tuple, size_t> Compiler::Compile( - bases[static_cast(UniformKind::StorageBuffer)]); - shader.setShiftUavBinding( - bases[static_cast(UniformKind::UnorderedAccessView)]); -- shader.setHlslIoMapping(hlsl_iomap_); - shader.setResourceSetBinding( - hlsl_explicit_bindings_[static_cast(used_shader_stage)]); - shader.setEnvClient(target_client_info.client, - target_client_info.client_version); - shader.setEnvTarget(target_client_info.target_language, - target_client_info.target_language_version); -- if (hlsl_functionality1_enabled_) { -- shader.setEnvTargetHlslFunctionality1(); -- } -- - const EShMessages rules = GetMessageRules(target_env_, source_language_, - hlsl_offsets_, - generate_debug_info_); -@@ -478,9 +473,6 @@ std::tuple Compiler::PreprocessShader( - } - shader.setEnvClient(target_client_info.client, - target_client_info.client_version); -- if (hlsl_functionality1_enabled_) { -- shader.setEnvTargetHlslFunctionality1(); -- } - - // The preprocessor might be sensitive to the target environment. - // So combine the existing rules with the just-give-me-preprocessor-output --- -2.28.0 - diff --git a/meta/recipes-graphics/shaderc/shaderc_2019.0.bb b/meta/recipes-graphics/shaderc/shaderc_2019.0.bb deleted file mode 100644 index 3bd9c61a55..0000000000 --- a/meta/recipes-graphics/shaderc/shaderc_2019.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "A collection of tools, libraries and tests for shader compilation" -DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ -source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." -SECTION = "graphics" -HOMEPAGE = "https://github.com/google/shaderc" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRCREV = "34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4" -SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ - file://0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch \ - file://0002-shaderc-2019.0-fix-build-against-new-glslang.patch \ - file://0003-cmake-de-vendor-libs-and-disable-git-versioning.patch \ - " -S = "${WORKDIR}/git" - -inherit cmake python3native - -DEPENDS = "spirv-tools glslang" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON" - -do_configure_prepend() { - # TODO: probably there is better solution for this. - # I dont know any method for get the version of a receipe in DEPENDS - # so do this ugly hack - cat <<- EOF > ${S}/glslc/src/build-version.inc -"${PV}\\n" -"$(pkg-config --modversion SPIRV-Tools)\\n" -"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n" -EOF -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.3.bb b/meta/recipes-graphics/shaderc/shaderc_2020.3.bb new file mode 100644 index 0000000000..f5edf53caf --- /dev/null +++ b/meta/recipes-graphics/shaderc/shaderc_2020.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "A collection of tools, libraries and tests for shader compilation" +DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ +source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." +SECTION = "graphics" +HOMEPAGE = "https://github.com/google/shaderc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "1fce59794079f90ceb091190adbbb5499acd4e95" +SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ + file://0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch \ + file://0003-cmake-de-vendor-libs-and-disable-git-versioning.patch \ + " +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-tools glslang" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DSHADERC_SKIP_TESTS=ON" + +do_configure_prepend() { + # TODO: probably there is better solution for this. + # I dont know any method for get the version of a receipe in DEPENDS + # so do this ugly hack + cat <<- EOF > ${S}/glslc/src/build-version.inc +"${PV}\\n" +"$(pkg-config --modversion SPIRV-Tools)\\n" +"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n" +EOF +} + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf