diff options
author | Jose Quaresma <quaresma.jose@gmail.com> | 2020-10-26 11:39:01 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-30 13:22:48 +0000 |
commit | 5f6470eb2c1e5b5aa578031830f057d63d4ae230 (patch) | |
tree | f5f8fc872fe5b5422bba97b5ba2d211a04664c72 | |
parent | 85aabe1e2677c6979372c784cafdfcf7f2e21ce9 (diff) | |
download | poky-5f6470eb2c1e5b5aa578031830f057d63d4ae230.tar.gz |
spirv-tools: import from meta-oe to OE core
This receipe is needed to build the new shaderc
(From OE-Core rev: 4f76d1e5252385a34b3f975cade1c114b0a9a42a)
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 120 insertions, 0 deletions
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 @@ | |||
1 | From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001 | ||
2 | From: David Neto <dneto@google.com> | ||
3 | Date: Fri, 27 Dec 2019 12:05:58 -0500 | ||
4 | Subject: [PATCH] Avoid pessimizing std::move (#3124) | ||
5 | |||
6 | Should fix a warning | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5] | ||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | test/opt/pass_fixture.h | 9 +++------ | ||
12 | 1 file changed, 3 insertions(+), 6 deletions(-) | ||
13 | |||
14 | diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h | ||
15 | index 53fb206f..64c089d8 100644 | ||
16 | --- a/test/opt/pass_fixture.h | ||
17 | +++ b/test/opt/pass_fixture.h | ||
18 | @@ -60,8 +60,7 @@ class PassTest : public TestT { | ||
19 | // from pass Process() function. | ||
20 | std::tuple<std::vector<uint32_t>, Pass::Status> OptimizeToBinary( | ||
21 | Pass* pass, const std::string& original, bool skip_nop) { | ||
22 | - context_ = | ||
23 | - std::move(BuildModule(env_, consumer_, original, assemble_options_)); | ||
24 | + context_ = BuildModule(env_, consumer_, original, assemble_options_); | ||
25 | EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n" | ||
26 | << original << std::endl; | ||
27 | if (!context()) { | ||
28 | @@ -197,8 +196,7 @@ class PassTest : public TestT { | ||
29 | // messages. | ||
30 | template <typename PassT, typename... Args> | ||
31 | void SinglePassRunAndFail(const std::string& original, Args&&... args) { | ||
32 | - context_ = | ||
33 | - std::move(BuildModule(env_, consumer_, original, assemble_options_)); | ||
34 | + context_ = BuildModule(env_, consumer_, original, assemble_options_); | ||
35 | EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n" | ||
36 | << original << std::endl; | ||
37 | std::ostringstream errs; | ||
38 | @@ -235,8 +233,7 @@ class PassTest : public TestT { | ||
39 | void RunAndCheck(const std::string& original, const std::string& expected) { | ||
40 | assert(manager_->NumPasses()); | ||
41 | |||
42 | - context_ = | ||
43 | - std::move(BuildModule(env_, nullptr, original, assemble_options_)); | ||
44 | + context_ = BuildModule(env_, nullptr, original, assemble_options_); | ||
45 | ASSERT_NE(nullptr, context()); | ||
46 | |||
47 | context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_); | ||
48 | -- | ||
49 | 2.24.1 | ||
50 | |||
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 @@ | |||
1 | From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 20 Dec 2019 07:02:24 -0800 | ||
4 | Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files | ||
5 | |||
6 | Upstream-Status: Submitted [https://github.com/google/effcee/pull/36] | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | CMakeLists.txt | 1 + | ||
10 | effcee/CMakeLists.txt | 4 ++-- | ||
11 | 2 files changed, 3 insertions(+), 2 deletions(-) | ||
12 | |||
13 | --- a/external/effcee/CMakeLists.txt | ||
14 | +++ b/external/effcee/CMakeLists.txt | ||
15 | @@ -27,6 +27,7 @@ endif() | ||
16 | |||
17 | include(cmake/setup_build.cmake) | ||
18 | include(cmake/utils.cmake) | ||
19 | +include(GNUInstallDirs) | ||
20 | |||
21 | add_subdirectory(third_party) | ||
22 | add_subdirectory(effcee) | ||
23 | --- a/external/effcee/effcee/CMakeLists.txt | ||
24 | +++ b/external/effcee/effcee/CMakeLists.txt | ||
25 | @@ -14,8 +14,8 @@ install( | ||
26 | DESTINATION | ||
27 | include/effcee) | ||
28 | install(TARGETS effcee | ||
29 | - LIBRARY DESTINATION lib | ||
30 | - ARCHIVE DESTINATION lib) | ||
31 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
32 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) | ||
33 | |||
34 | if(EFFCEE_BUILD_TESTING) | ||
35 | 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 @@ | |||
1 | SUMMARY = "The SPIR-V Tools project provides an API and commands for \ | ||
2 | processing SPIR-V modules" | ||
3 | DESCRIPTION = "The project includes an assembler, binary module parser, \ | ||
4 | disassembler, validator, and optimizer for SPIR-V." | ||
5 | LICENSE = "Apache-2.0" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
7 | SECTION = "graphics" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | DEST_DIR = "${S}/external" | ||
11 | SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \ | ||
12 | git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \ | ||
13 | git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \ | ||
14 | git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \ | ||
15 | git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \ | ||
16 | file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch \ | ||
17 | file://0001-Avoid-pessimizing-std-move-3124.patch \ | ||
18 | " | ||
19 | SRCREV_spirv-tools = "c413b982c316b14e784f50d941814fc737b55b4a" | ||
20 | SRCREV_spirv-headers = "af64a9e826bf5bb5fcd2434dd71be1e41e922563" | ||
21 | SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d" | ||
22 | SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb" | ||
23 | SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528" | ||
24 | |||
25 | inherit cmake python3native | ||
26 | |||
27 | EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF" | ||
28 | |||
29 | do_install_append() { | ||
30 | install -d ${D}/${includedir}/spirv | ||
31 | install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv | ||
32 | } | ||
33 | |||
34 | FILES_SOLIBSDEV = "" | ||
35 | FILES_${PN} += "${libdir}/*.so" | ||