* [PATCH v2 1/4] spirv-tools: import from meta-oe to OE core
@ 2020-10-13 23:44 Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 2/4] spirv-tools: enable native build and install more header files Jose Quaresma
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Jose Quaresma @ 2020-10-13 23:44 UTC (permalink / raw)
To: openembedded-core; +Cc: Jose Quaresma
This receipe is needed to build the new shaderc
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
...0001-Avoid-pessimizing-std-move-3124.patch | 50 +++++++++++++++++++
...STALL_LIBDIR-in-installed-CMake-file.patch | 35 +++++++++++++
meta/recipes-graphics/spir/spirv-tools_git.bb | 35 +++++++++++++
3 files changed, 120 insertions(+)
create mode 100644 meta/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
create mode 100644 meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
create mode 100644 meta/recipes-graphics/spir/spirv-tools_git.bb
diff --git a/meta/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch b/meta/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
new file mode 100644
index 0000000000..9b48cdcd09
--- /dev/null
+++ b/meta/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
@@ -0,0 +1,50 @@
+From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001
+From: David Neto <dneto@google.com>
+Date: Fri, 27 Dec 2019 12:05:58 -0500
+Subject: [PATCH] Avoid pessimizing std::move (#3124)
+
+Should fix a warning
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/opt/pass_fixture.h | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h
+index 53fb206f..64c089d8 100644
+--- a/test/opt/pass_fixture.h
++++ b/test/opt/pass_fixture.h
+@@ -60,8 +60,7 @@ class PassTest : public TestT {
+ // from pass Process() function.
+ std::tuple<std::vector<uint32_t>, Pass::Status> OptimizeToBinary(
+ Pass* pass, const std::string& original, bool skip_nop) {
+- context_ =
+- std::move(BuildModule(env_, consumer_, original, assemble_options_));
++ context_ = BuildModule(env_, consumer_, original, assemble_options_);
+ EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+ << original << std::endl;
+ if (!context()) {
+@@ -197,8 +196,7 @@ class PassTest : public TestT {
+ // messages.
+ template <typename PassT, typename... Args>
+ void SinglePassRunAndFail(const std::string& original, Args&&... args) {
+- context_ =
+- std::move(BuildModule(env_, consumer_, original, assemble_options_));
++ context_ = BuildModule(env_, consumer_, original, assemble_options_);
+ EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+ << original << std::endl;
+ std::ostringstream errs;
+@@ -235,8 +233,7 @@ class PassTest : public TestT {
+ void RunAndCheck(const std::string& original, const std::string& expected) {
+ assert(manager_->NumPasses());
+
+- context_ =
+- std::move(BuildModule(env_, nullptr, original, assemble_options_));
++ context_ = BuildModule(env_, nullptr, original, assemble_options_);
+ ASSERT_NE(nullptr, context());
+
+ context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_);
+--
+2.24.1
+
diff --git a/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
new file mode 100644
index 0000000000..5d37da8fe0
--- /dev/null
+++ b/meta/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
@@ -0,0 +1,35 @@
+From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Dec 2019 07:02:24 -0800
+Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
+
+Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 1 +
+ effcee/CMakeLists.txt | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/external/effcee/CMakeLists.txt
++++ b/external/effcee/CMakeLists.txt
+@@ -27,6 +27,7 @@ endif()
+
+ include(cmake/setup_build.cmake)
+ include(cmake/utils.cmake)
++include(GNUInstallDirs)
+
+ add_subdirectory(third_party)
+ add_subdirectory(effcee)
+--- a/external/effcee/effcee/CMakeLists.txt
++++ b/external/effcee/effcee/CMakeLists.txt
+@@ -14,8 +14,8 @@ install(
+ DESTINATION
+ include/effcee)
+ install(TARGETS effcee
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if(EFFCEE_BUILD_TESTING)
+ add_executable(effcee-test
diff --git a/meta/recipes-graphics/spir/spirv-tools_git.bb b/meta/recipes-graphics/spir/spirv-tools_git.bb
new file mode 100644
index 0000000000..8e8388e8d4
--- /dev/null
+++ b/meta/recipes-graphics/spir/spirv-tools_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "The SPIR-V Tools project provides an API and commands for \
+processing SPIR-V modules"
+DESCRIPTION = "The project includes an assembler, binary module parser, \
+disassembler, validator, and optimizer for SPIR-V."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "graphics"
+
+S = "${WORKDIR}/git"
+DEST_DIR = "${S}/external"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \
+ git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \
+ git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \
+ git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \
+ file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch \
+ file://0001-Avoid-pessimizing-std-move-3124.patch \
+"
+SRCREV_spirv-tools = "c413b982c316b14e784f50d941814fc737b55b4a"
+SRCREV_spirv-headers = "af64a9e826bf5bb5fcd2434dd71be1e41e922563"
+SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d"
+SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb"
+SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528"
+
+inherit cmake python3native
+
+EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
+
+do_install_append() {
+ install -d ${D}/${includedir}/spirv
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
--
2.28.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] spirv-tools: enable native build and install more header files
2020-10-13 23:44 [PATCH v2 1/4] spirv-tools: import from meta-oe to OE core Jose Quaresma
@ 2020-10-13 23:44 ` Jose Quaresma
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
2020-10-13 23:44 ` [PATCH v2 3/4] glslang: add receipe Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 4/4] shaderc: " Jose Quaresma
2 siblings, 1 reply; 8+ messages in thread
From: Jose Quaresma @ 2020-10-13 23:44 UTC (permalink / raw)
To: openembedded-core; +Cc: Jose Quaresma
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
meta/recipes-graphics/spir/spirv-tools_git.bb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/spir/spirv-tools_git.bb b/meta/recipes-graphics/spir/spirv-tools_git.bb
index 8e8388e8d4..89ebd72d31 100644
--- a/meta/recipes-graphics/spir/spirv-tools_git.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_git.bb
@@ -28,8 +28,12 @@ EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
do_install_append() {
install -d ${D}/${includedir}/spirv
- install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
+ install -d ${D}/${includedir}/spirv/unified1
+ install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}/${includedir}/spirv/unified1
}
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/*.so"
+
+BBCLASSEXTEND = "native nativesdk"
--
2.28.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/4] glslang: add receipe
2020-10-13 23:44 [PATCH v2 1/4] spirv-tools: import from meta-oe to OE core Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 2/4] spirv-tools: enable native build and install more header files Jose Quaresma
@ 2020-10-13 23:44 ` Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 4/4] shaderc: " Jose Quaresma
2 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2020-10-13 23:44 UTC (permalink / raw)
To: openembedded-core; +Cc: Jose Quaresma
Glslang is the official reference compiler front end for the
OpenGL ES and OpenGL shading languages. It implements a strict interpretation
of the specifications for these languages. It is open and free for anyone to use,
either from a command line or programmatically.
This receipe is needed to build the new shaderc
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
.../glslang/glslang_8.13.3559.bb | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 meta/recipes-graphics/glslang/glslang_8.13.3559.bb
diff --git a/meta/recipes-graphics/glslang/glslang_8.13.3559.bb b/meta/recipes-graphics/glslang/glslang_8.13.3559.bb
new file mode 100644
index 0000000000..6d92513bd9
--- /dev/null
+++ b/meta/recipes-graphics/glslang/glslang_8.13.3559.bb
@@ -0,0 +1,17 @@
+SUMMARY = "OpenGL / OpenGL ES Reference Compiler"
+DESCRIPTION = "Glslang is the official reference compiler front end for the \
+OpenGL ES and OpenGL shading languages. It implements a strict interpretation \
+of the specifications for these languages. It is open and free for anyone to use, \
+either from a command line or programmatically."
+SECTION = "graphics"
+HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=918e668376010a04448a312fb37ae69b"
+
+SRCREV = "8db9eccc0baf30c9d22c496ab28db0fe1e4e97c5"
+SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https"
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+BBCLASSEXTEND = "native nativesdk"
--
2.28.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 4/4] shaderc: add receipe
2020-10-13 23:44 [PATCH v2 1/4] spirv-tools: import from meta-oe to OE core Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 2/4] spirv-tools: enable native build and install more header files Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 3/4] glslang: add receipe Jose Quaresma
@ 2020-10-13 23:44 ` Jose Quaresma
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
2 siblings, 1 reply; 8+ messages in thread
From: Jose Quaresma @ 2020-10-13 23:44 UTC (permalink / raw)
To: openembedded-core; +Cc: Jose Quaresma
A collection of tools, libraries and tests for shader compilation
This receipe is needed to build the gstreamer vulkan plugin
as it provides the binary glslc.
It is based on arch linux shaderc packge including the patches
https://github.com/archlinux/svntogit-packages/blob/91f0fa6ee3a220264a448527c1a8cf037caaad8e/trunk/PKGBUILD
* 0001-fix-glslang-link-order.patch
Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67]
* 0002-shaderc-2019.0-fix-build-against-new-glslang.patch
Upstream-Status: Pending
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
...link-order-of-libglslang-and-libHLSL.patch | 47 ++++++++++++
...2019.0-fix-build-against-new-glslang.patch | 71 +++++++++++++++++++
.../shaderc/shaderc_2019.0.bb | 37 ++++++++++
3 files changed, 155 insertions(+)
create mode 100644 meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
create mode 100644 meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
create mode 100644 meta/recipes-graphics/shaderc/shaderc_2019.0.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
new file mode 100644
index 0000000000..d11d6e20d4
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
@@ -0,0 +1,47 @@
+From d352129a9df212b384a908fd3cfe5a1739cb003a Mon Sep 17 00:00:00 2001
+From: Niklas Haas <git@haasn.xyz>
+Date: Tue, 29 May 2018 07:34:00 +0200
+Subject: [PATCH 1/2] 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
+versions of libglslang/libHLSL, rather than the in-tree versions from
+third_party.
+
+Additionally, libshaderc_util also depends on SPIRV-Tools
+---
+ 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
+--- 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)
+
+ add_executable(glslc_exe src/main.cc)
+diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
+index ec0e8fb..ded089d 100644
+--- a/libshaderc_util/CMakeLists.txt
++++ b/libshaderc_util/CMakeLists.txt
+@@ -28,8 +28,8 @@ target_include_directories(shaderc_util
+
+ find_package(Threads)
+ target_link_libraries(shaderc_util PRIVATE
+- glslang OSDependent OGLCompiler HLSL glslang SPIRV
+- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
++ glslang OSDependent OGLCompiler glslang HLSL SPIRV
++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT})
+
+ 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
new file mode 100644
index 0000000000..5becbeb274
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
@@ -0,0 +1,71 @@
+From f7dfc70c2709b2d77768a73dc883d92d44bb1b29 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Tue, 13 Oct 2020 15:20:11 +0100
+Subject: [PATCH 2/2] 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
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ 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 <sstream>
+ #include <vector>
+
+-#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<bool, std::vector<uint32_t>, size_t> Compiler::Compile(
+ bases[static_cast<int>(UniformKind::StorageBuffer)]);
+ shader.setShiftUavBinding(
+ bases[static_cast<int>(UniformKind::UnorderedAccessView)]);
+- shader.setHlslIoMapping(hlsl_iomap_);
+ shader.setResourceSetBinding(
+ hlsl_explicit_bindings_[static_cast<int>(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<bool, std::string, std::string> 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
new file mode 100644
index 0000000000..636bd780d0
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/shaderc_2019.0.bb
@@ -0,0 +1,37 @@
+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 \
+"
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+DEPENDS = "spirv-tools glslang"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Releas -DSHADERC_SKIP_TESTS=ON"
+
+do_configure_prepend() {
+ # de-vendor libs and disable git versioning
+ sed '/examples/d;/third_party/d' -i ${S}/CMakeLists.txt
+ sed '/build-version/d' -i ${S}/glslc/CMakeLists.txt
+
+ # 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"
--
2.28.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH v2 4/4] shaderc: add receipe
2020-10-13 23:44 ` [PATCH v2 4/4] shaderc: " Jose Quaresma
@ 2020-10-14 0:00 ` Otavio Salvador
2020-10-14 8:36 ` Jose Quaresma
0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2020-10-14 0:00 UTC (permalink / raw)
To: Jose Quaresma; +Cc: Patches and discussions about the oe-core layer
Em ter., 13 de out. de 2020 às 20:45, Jose Quaresma
<quaresma.jose@gmail.com> escreveu:
>
> A collection of tools, libraries and tests for shader compilation
>
> This receipe is needed to build the gstreamer vulkan plugin
> as it provides the binary glslc.
>
> It is based on arch linux shaderc packge including the patches
> https://github.com/archlinux/svntogit-packages/blob/91f0fa6ee3a220264a448527c1a8cf037caaad8e/trunk/PKGBUILD
>
> * 0001-fix-glslang-link-order.patch
> Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67]
>
> * 0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> Upstream-Status: Pending
>
> Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> ---
> ...link-order-of-libglslang-and-libHLSL.patch | 47 ++++++++++++
> ...2019.0-fix-build-against-new-glslang.patch | 71 +++++++++++++++++++
> .../shaderc/shaderc_2019.0.bb | 37 ++++++++++
> 3 files changed, 155 insertions(+)
> create mode 100644 meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
> create mode 100644 meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> create mode 100644 meta/recipes-graphics/shaderc/shaderc_2019.0.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
> new file mode 100644
> index 0000000000..d11d6e20d4
> --- /dev/null
> +++ b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
> @@ -0,0 +1,47 @@
> +From d352129a9df212b384a908fd3cfe5a1739cb003a Mon Sep 17 00:00:00 2001
> +From: Niklas Haas <git@haasn.xyz>
> +Date: Tue, 29 May 2018 07:34:00 +0200
> +Subject: [PATCH 1/2] 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
> +versions of libglslang/libHLSL, rather than the in-tree versions from
> +third_party.
> +
> +Additionally, libshaderc_util also depends on SPIRV-Tools
Upstream-Status header is here.
> +---
> + 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
> +--- 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)
> +
> + add_executable(glslc_exe src/main.cc)
> +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
> +index ec0e8fb..ded089d 100644
> +--- a/libshaderc_util/CMakeLists.txt
> ++++ b/libshaderc_util/CMakeLists.txt
> +@@ -28,8 +28,8 @@ target_include_directories(shaderc_util
> +
> + find_package(Threads)
> + target_link_libraries(shaderc_util PRIVATE
> +- glslang OSDependent OGLCompiler HLSL glslang SPIRV
> +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
> ++ glslang OSDependent OGLCompiler glslang HLSL SPIRV
> ++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT})
> +
> + 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
> new file mode 100644
> index 0000000000..5becbeb274
> --- /dev/null
> +++ b/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> @@ -0,0 +1,71 @@
> +From f7dfc70c2709b2d77768a73dc883d92d44bb1b29 Mon Sep 17 00:00:00 2001
> +From: Jose Quaresma <quaresma.jose@gmail.com>
> +Date: Tue, 13 Oct 2020 15:20:11 +0100
> +Subject: [PATCH 2/2] 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 header is here as well.
> +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> +---
> + 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 <sstream>
> + #include <vector>
> +
> +-#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<bool, std::vector<uint32_t>, size_t> Compiler::Compile(
> + bases[static_cast<int>(UniformKind::StorageBuffer)]);
> + shader.setShiftUavBinding(
> + bases[static_cast<int>(UniformKind::UnorderedAccessView)]);
> +- shader.setHlslIoMapping(hlsl_iomap_);
> + shader.setResourceSetBinding(
> + hlsl_explicit_bindings_[static_cast<int>(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<bool, std::string, std::string> 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
> new file mode 100644
> index 0000000000..636bd780d0
> --- /dev/null
> +++ b/meta/recipes-graphics/shaderc/shaderc_2019.0.bb
> @@ -0,0 +1,37 @@
> +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 \
> +"
> +S = "${WORKDIR}/git"
> +
> +inherit cmake python3native
> +
> +DEPENDS = "spirv-tools glslang"
> +
> +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Releas -DSHADERC_SKIP_TESTS=ON"
> +
> +do_configure_prepend() {
> + # de-vendor libs and disable git versioning
> + sed '/examples/d;/third_party/d' -i ${S}/CMakeLists.txt
> + sed '/build-version/d' -i ${S}/glslc/CMakeLists.txt
This kind of source editing is hard to know when it becomes old,
unused, or incompatible. It might be nicer if you could add patches to
do those changes as if they become incompatible it is quite easy to
figure it as the patches fail to apply.
> + # 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"
> --
> 2.28.0
>
>
>
>
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH v2 2/4] spirv-tools: enable native build and install more header files
2020-10-13 23:44 ` [PATCH v2 2/4] spirv-tools: enable native build and install more header files Jose Quaresma
@ 2020-10-14 0:00 ` Otavio Salvador
2020-10-14 8:38 ` Jose Quaresma
0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2020-10-14 0:00 UTC (permalink / raw)
To: Jose Quaresma; +Cc: Patches and discussions about the oe-core layer
Em ter., 13 de out. de 2020 às 20:45, Jose Quaresma
<quaresma.jose@gmail.com> escreveu:
>
> Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> ---
> meta/recipes-graphics/spir/spirv-tools_git.bb | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-graphics/spir/spirv-tools_git.bb b/meta/recipes-graphics/spir/spirv-tools_git.bb
> index 8e8388e8d4..89ebd72d31 100644
> --- a/meta/recipes-graphics/spir/spirv-tools_git.bb
> +++ b/meta/recipes-graphics/spir/spirv-tools_git.bb
> @@ -28,8 +28,12 @@ EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
>
> do_install_append() {
> install -d ${D}/${includedir}/spirv
> - install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
> + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
> + install -d ${D}/${includedir}/spirv/unified1
> + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}/${includedir}/spirv/unified1
Indenting changes; please follow the recipe style.
> }
>
> FILES_SOLIBSDEV = ""
> FILES_${PN} += "${libdir}/*.so"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.28.0
>
>
>
>
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH v2 4/4] shaderc: add receipe
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
@ 2020-10-14 8:36 ` Jose Quaresma
0 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2020-10-14 8:36 UTC (permalink / raw)
To: Otavio Salvador; +Cc: Patches and discussions about the oe-core layer
Otavio Salvador <otavio.salvador@ossystems.com.br> escreveu no dia
quarta, 14/10/2020 à(s) 01:00:
>
> Em ter., 13 de out. de 2020 às 20:45, Jose Quaresma
> <quaresma.jose@gmail.com> escreveu:
> >
> > A collection of tools, libraries and tests for shader compilation
> >
> > This receipe is needed to build the gstreamer vulkan plugin
> > as it provides the binary glslc.
> >
> > It is based on arch linux shaderc packge including the patches
> > https://github.com/archlinux/svntogit-packages/blob/91f0fa6ee3a220264a448527c1a8cf037caaad8e/trunk/PKGBUILD
> >
> > * 0001-fix-glslang-link-order.patch
> > Upstream-Status: Backport [21c8be385b3fab5edcb934a6d99f69fd389c4e67]
> >
> > * 0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> > Upstream-Status: Pending
> >
> > Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> > ---
> > ...link-order-of-libglslang-and-libHLSL.patch | 47 ++++++++++++
> > ...2019.0-fix-build-against-new-glslang.patch | 71 +++++++++++++++++++
> > .../shaderc/shaderc_2019.0.bb | 37 ++++++++++
> > 3 files changed, 155 insertions(+)
> > create mode 100644 meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
> > create mode 100644 meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> > create mode 100644 meta/recipes-graphics/shaderc/shaderc_2019.0.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
> > new file mode 100644
> > index 0000000000..d11d6e20d4
> > --- /dev/null
> > +++ b/meta/recipes-graphics/shaderc/files/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
> > @@ -0,0 +1,47 @@
> > +From d352129a9df212b384a908fd3cfe5a1739cb003a Mon Sep 17 00:00:00 2001
> > +From: Niklas Haas <git@haasn.xyz>
> > +Date: Tue, 29 May 2018 07:34:00 +0200
> > +Subject: [PATCH 1/2] 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
> > +versions of libglslang/libHLSL, rather than the in-tree versions from
> > +third_party.
> > +
> > +Additionally, libshaderc_util also depends on SPIRV-Tools
>
> Upstream-Status header is here.
I will change it.
>
> > +---
> > + 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
> > +--- 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)
> > +
> > + add_executable(glslc_exe src/main.cc)
> > +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
> > +index ec0e8fb..ded089d 100644
> > +--- a/libshaderc_util/CMakeLists.txt
> > ++++ b/libshaderc_util/CMakeLists.txt
> > +@@ -28,8 +28,8 @@ target_include_directories(shaderc_util
> > +
> > + find_package(Threads)
> > + target_link_libraries(shaderc_util PRIVATE
> > +- glslang OSDependent OGLCompiler HLSL glslang SPIRV
> > +- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
> > ++ glslang OSDependent OGLCompiler glslang HLSL SPIRV
> > ++ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT})
> > +
> > + 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
> > new file mode 100644
> > index 0000000000..5becbeb274
> > --- /dev/null
> > +++ b/meta/recipes-graphics/shaderc/files/0002-shaderc-2019.0-fix-build-against-new-glslang.patch
> > @@ -0,0 +1,71 @@
> > +From f7dfc70c2709b2d77768a73dc883d92d44bb1b29 Mon Sep 17 00:00:00 2001
> > +From: Jose Quaresma <quaresma.jose@gmail.com>
> > +Date: Tue, 13 Oct 2020 15:20:11 +0100
> > +Subject: [PATCH 2/2] 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 header is here as well.
I will change it.
>
> > +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> > +---
> > + 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 <sstream>
> > + #include <vector>
> > +
> > +-#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<bool, std::vector<uint32_t>, size_t> Compiler::Compile(
> > + bases[static_cast<int>(UniformKind::StorageBuffer)]);
> > + shader.setShiftUavBinding(
> > + bases[static_cast<int>(UniformKind::UnorderedAccessView)]);
> > +- shader.setHlslIoMapping(hlsl_iomap_);
> > + shader.setResourceSetBinding(
> > + hlsl_explicit_bindings_[static_cast<int>(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<bool, std::string, std::string> 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
> > new file mode 100644
> > index 0000000000..636bd780d0
> > --- /dev/null
> > +++ b/meta/recipes-graphics/shaderc/shaderc_2019.0.bb
> > @@ -0,0 +1,37 @@
> > +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 \
> > +"
> > +S = "${WORKDIR}/git"
> > +
> > +inherit cmake python3native
> > +
> > +DEPENDS = "spirv-tools glslang"
> > +
> > +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Releas -DSHADERC_SKIP_TESTS=ON"
> > +
> > +do_configure_prepend() {
> > + # de-vendor libs and disable git versioning
> > + sed '/examples/d;/third_party/d' -i ${S}/CMakeLists.txt
> > + sed '/build-version/d' -i ${S}/glslc/CMakeLists.txt
>
> This kind of source editing is hard to know when it becomes old,
> unused, or incompatible. It might be nicer if you could add patches to
> do those changes as if they become incompatible it is quite easy to
> figure it as the patches fail to apply.
>
I will add a pacth for this.
> > + # 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
> > +}
Do you know any better method to do this?
I need the version of the receipe in DEPENDS
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > --
> > 2.28.0
> >
> >
> >
> >
>
>
> --
> Otavio Salvador O.S. Systems
> http://www.ossystems.com.br http://code.ossystems.com.br
> Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
--
best regards,
José Quaresma
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH v2 2/4] spirv-tools: enable native build and install more header files
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
@ 2020-10-14 8:38 ` Jose Quaresma
0 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2020-10-14 8:38 UTC (permalink / raw)
To: Otavio Salvador; +Cc: Patches and discussions about the oe-core layer
Otavio Salvador <otavio.salvador@ossystems.com.br> escreveu no dia
quarta, 14/10/2020 à(s) 01:01:
>
> Em ter., 13 de out. de 2020 às 20:45, Jose Quaresma
> <quaresma.jose@gmail.com> escreveu:
> >
> > Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> > ---
> > meta/recipes-graphics/spir/spirv-tools_git.bb | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-graphics/spir/spirv-tools_git.bb b/meta/recipes-graphics/spir/spirv-tools_git.bb
> > index 8e8388e8d4..89ebd72d31 100644
> > --- a/meta/recipes-graphics/spir/spirv-tools_git.bb
> > +++ b/meta/recipes-graphics/spir/spirv-tools_git.bb
> > @@ -28,8 +28,12 @@ EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
> >
> > do_install_append() {
> > install -d ${D}/${includedir}/spirv
> > - install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
> > + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv
> > + install -d ${D}/${includedir}/spirv/unified1
> > + install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}/${includedir}/spirv/unified1
>
> Indenting changes; please follow the recipe style.
The indenting is because I remove an extra space at the end of line.
I will add an extra patch to fix the indentation before my changes.
>
> > }
> >
> > FILES_SOLIBSDEV = ""
> > FILES_${PN} += "${libdir}/*.so"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > --
> > 2.28.0
> >
> >
> >
> >
>
>
> --
> Otavio Salvador O.S. Systems
> http://www.ossystems.com.br http://code.ossystems.com.br
> Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
--
best regards,
José Quaresma
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-10-14 8:39 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-13 23:44 [PATCH v2 1/4] spirv-tools: import from meta-oe to OE core Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 2/4] spirv-tools: enable native build and install more header files Jose Quaresma
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
2020-10-14 8:38 ` Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 3/4] glslang: add receipe Jose Quaresma
2020-10-13 23:44 ` [PATCH v2 4/4] shaderc: " Jose Quaresma
2020-10-14 0:00 ` [OE-core] " Otavio Salvador
2020-10-14 8:36 ` Jose Quaresma
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox