From acfdb4303bb9b75308cf6efa9e60fb5b4f3ffdee Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Mon, 26 Aug 2019 08:33:33 -0500 Subject: [PATCH 1/6] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 7a8a1d609cf96f59dbd6aebd037edaa65a7cfb08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Tue, 2 Oct 2018 18:08:23 +0200 Subject: [PATCH 2/6] Initial import (#1632243) --- .gitignore | 1 + 0001-Add-SONAME-version-to-the-library.patch | 28 ++++ ...p-third-party-code-in-CMakeLists.txt.patch | 36 +++++ ...link-order-of-libglslang-and-libHLSL.patch | 44 ++++++ shaderc.spec | 143 ++++++++++++++++++ sources | 1 + 6 files changed, 253 insertions(+) create mode 100644 .gitignore create mode 100644 0001-Add-SONAME-version-to-the-library.patch create mode 100644 0001-Drop-third-party-code-in-CMakeLists.txt.patch create mode 100644 0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch create mode 100644 shaderc.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2beea85 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/shaderc-7a23a01.tar.gz diff --git a/0001-Add-SONAME-version-to-the-library.patch b/0001-Add-SONAME-version-to-the-library.patch new file mode 100644 index 0000000..7b5185a --- /dev/null +++ b/0001-Add-SONAME-version-to-the-library.patch @@ -0,0 +1,28 @@ +From ae4cdbf6d82676222ab3af481a1e164e529f6c16 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Mon, 24 Sep 2018 13:28:05 +0200 +Subject: [PATCH] Add SONAME version to the library +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Robert-André Mauchin +--- + libshaderc/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt +index 14da8ce..0eb3698 100644 +--- a/libshaderc/CMakeLists.txt ++++ b/libshaderc/CMakeLists.txt +@@ -21,6 +21,7 @@ target_compile_definitions(shaderc_shared + PRIVATE SHADERC_IMPLEMENTATION + PUBLIC SHADERC_SHAREDLIB + ) ++set_target_properties(shaderc_shared PROPERTIES SOVERSION 1) + + if(SHADERC_ENABLE_INSTALL) + install( +-- +2.17.1 + diff --git a/0001-Drop-third-party-code-in-CMakeLists.txt.patch b/0001-Drop-third-party-code-in-CMakeLists.txt.patch new file mode 100644 index 0000000..8425d34 --- /dev/null +++ b/0001-Drop-third-party-code-in-CMakeLists.txt.patch @@ -0,0 +1,36 @@ +From f3e0470ccf96a48f6e5701aa64aa831d51769d8e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Sun, 30 Sep 2018 20:53:08 +0200 +Subject: [PATCH] Drop third party code in CMakeLists.txt +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Robert-André Mauchin +--- + CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9bd0df..bd2c9f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,15 +52,9 @@ endif(MSVC) + + # Configure subdirectories. + # We depend on these for later projects, so they should come first. +-add_subdirectory(third_party) + + add_subdirectory(libshaderc_util) + add_subdirectory(libshaderc) + add_subdirectory(glslc) + add_subdirectory(examples) + +-add_custom_target(build-version +- ${PYTHON_EXE} +- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} +- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") +-- +2.19.0 + diff --git a/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch b/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch new file mode 100644 index 0000000..ad7de1f --- /dev/null +++ b/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch @@ -0,0 +1,44 @@ +From 21c8be385b3fab5edcb934a6d99f69fd389c4e67 Mon Sep 17 00:00:00 2001 +From: Niklas Haas +Date: Tue, 29 May 2018 07:34:00 +0200 +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 +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 873540a..6d0c465 100644 +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -34,8 +34,8 @@ endif(SHADERC_ENABLE_INSTALL) + + 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 diff --git a/shaderc.spec b/shaderc.spec new file mode 100644 index 0000000..e792fd1 --- /dev/null +++ b/shaderc.spec @@ -0,0 +1,143 @@ +# Release 2017.2 +%global commit 7a23a01742b88329fb2260eda007172135ba25d4 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global snapshotdate 20180924 +%global gitversion beginning-449-g7a23a01 + +# Need to keep this in sync with spirv-tools +%global spirv_commit f508896d6487d09f5c9a2a3835595446fec0791a + +Name: shaderc +Version: 2017.2 +Release: 1%{?dist} +Summary: A collection of tools, libraries, and tests for Vulkan shader compilation + +License: ASL 2.0 +URL: https://github.com/google/shaderc +Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz + +# https://github.com/google/shaderc/pull/463 +Patch0: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/463.patch#/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch +# https://github.com/google/shaderc/pull/493 +Patch1: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/493.patch#/0001-Add-SONAME-version-to-the-library.patch +# Patch to unbundle 3rd party code +Patch2: 0001-Drop-third-party-code-in-CMakeLists.txt.patch + +BuildRequires: cmake3 +BuildRequires: gcc-c++ +BuildRequires: ninja-build +BuildRequires: python3-devel +BuildRequires: glslang-devel +BuildRequires: spirv-headers-devel +BuildRequires: spirv-tools +BuildRequires: spirv-tools-devel + +%description +A collection of tools, libraries and tests for shader compilation. + +Shaderc aims to to provide: + - a command line compiler with GCC- and Clang-like usage, for better + integration with build systems + - an API where functionality can be added without breaking existing clients + - an API supporting standard concurrency patterns across multiple + operating systems + - increased functionality such as file #include support + + +%package -n glslc +Summary: A command line compiler for GLSL/HLSL to SPIR-V + +%description -n glslc +A command line compiler for GLSL/HLSL to SPIR-V. + + +%package -n libshaderc +Summary: A library for compiling shader strings into SPIR-V + +%description -n libshaderc +A library for compiling shader strings into SPIR-V. + + +%package -n libshaderc-devel +Summary: Development files for libshaderc +Requires: libshaderc%{?_isa} = %{version}-%{release} + +%description -n libshaderc-devel +A library for compiling shader strings into SPIR-V. + +Development files for libshaderc. + + +%package -n libshaderc-static +Summary: A library for compiling shader strings into SPIR-V (static libraries) + +%description -n libshaderc-static +A library for compiling shader strings into SPIR-V. + +Static libraries for libshaderc. + + +%prep +%autosetup -p1 -n %{name}-%{commit} + +rm -rf third_party + +# Stolen from Gentoo +# Create build-version.inc since we want to use our packaged +# SPIRV-Tools and glslang +echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' CHANGES) %{gitversion}\" \ + > glslc/src/build-version.inc +echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' /usr/share/doc/spirv-tools/CHANGES) %{spirv_commit}\" \ + >> glslc/src/build-version.inc +echo \"glslang \'\'\" >> glslc/src/build-version.inc + + +%build +mkdir %_target_platform +cd %_target_platform +# We disable the tests because they don't work with our unbundling of 3rd party. +# See https://github.com/google/shaderc/issues/470 +%cmake3 -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_SKIP_RPATH=True \ + -DSHADERC_SKIP_TESTS=True \ + -DPYTHON_EXE=%{__python3} \ + -GNinja .. +%ninja_build + + +%install +%ninja_install -C %_target_platform + + +%check +ctest -V + + +%files -n glslc +%doc glslc/README.asciidoc +%license LICENSE +%{_bindir}/glslc + + +%files -n libshaderc +%doc AUTHORS CHANGES CONTRIBUTORS README.md +%license LICENSE +%{_libdir}/libshaderc_shared.so.1* + + +%files -n libshaderc-devel +%{_includedir}/%{name}/ +%{_libdir}/libshaderc_shared.so + + +%files -n libshaderc-static +%license LICENSE +%{_libdir}/libshaderc.a +%{_libdir}/libshaderc_combined.a +%{_libdir}/libshaderc_util.a + + +%changelog +* Mon Sep 24 2018 Robert-André Mauchin - 2017.2-1 +- Initial build + diff --git a/sources b/sources new file mode 100644 index 0000000..b27358c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (shaderc-7a23a01.tar.gz) = 558447bc29b0c7610fda0f6c2a6b66f3c8fc7f2f5e336ad190ae959caa8c7aa1e09d3c2efe0e197cb2cbe1fa97e0c68623ce423c658b29fcbd1f1e1ea4c85f18 From 0d493aa337be6fc15e2573d106f65e9332bf013d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Wed, 3 Oct 2018 18:10:23 +0200 Subject: [PATCH 3/6] Release 2018.0 --- .gitignore | 1 + 0001-Add-SONAME-version-to-the-library.patch | 28 - ...t-Add-support-for-SPV_NV_mesh_shader.patch | 521 ++++++++++++++++++ shaderc.spec | 22 +- sources | 2 +- 5 files changed, 536 insertions(+), 38 deletions(-) delete mode 100644 0001-Add-SONAME-version-to-the-library.patch create mode 100644 0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch diff --git a/.gitignore b/.gitignore index 2beea85..1221df9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /shaderc-7a23a01.tar.gz +/shaderc-7d8582b.tar.gz diff --git a/0001-Add-SONAME-version-to-the-library.patch b/0001-Add-SONAME-version-to-the-library.patch deleted file mode 100644 index 7b5185a..0000000 --- a/0001-Add-SONAME-version-to-the-library.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ae4cdbf6d82676222ab3af481a1e164e529f6c16 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= -Date: Mon, 24 Sep 2018 13:28:05 +0200 -Subject: [PATCH] Add SONAME version to the library -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Robert-André Mauchin ---- - libshaderc/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt -index 14da8ce..0eb3698 100644 ---- a/libshaderc/CMakeLists.txt -+++ b/libshaderc/CMakeLists.txt -@@ -21,6 +21,7 @@ target_compile_definitions(shaderc_shared - PRIVATE SHADERC_IMPLEMENTATION - PUBLIC SHADERC_SHAREDLIB - ) -+set_target_properties(shaderc_shared PROPERTIES SOVERSION 1) - - if(SHADERC_ENABLE_INSTALL) - install( --- -2.17.1 - diff --git a/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch b/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch new file mode 100644 index 0000000..083858b --- /dev/null +++ b/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch @@ -0,0 +1,521 @@ +From 7867887019541322b08cc31257c447d20e79a40c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Wed, 3 Oct 2018 16:37:42 +0200 +Subject: [PATCH] Revert "Add-support-for-SPV_NV_mesh_shader" + +This reverts commit e8ffa069fa40f79824cb1499eaa78cb56af84d0a. +--- + CMakeLists.txt | 8 -- + glslc/src/shader_stage.cc | 23 +----- + glslc/src/stage_test.cc | 25 ------ + libshaderc/include/shaderc/shaderc.h | 27 ------- + libshaderc/src/common_shaders_for_test.h | 38 ---------- + libshaderc/src/shaderc.cc | 57 -------------- + libshaderc/src/shaderc_private.h | 18 ----- + libshaderc/src/shaderc_private_test.cc | 18 ----- + libshaderc/src/shaderc_test.cc | 76 ------------------- + .../include/libshaderc_util/compiler.h | 34 +-------- + libshaderc_util/src/resources.cc | 10 --- + 11 files changed, 5 insertions(+), 329 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b982eab..422d9c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,19 +19,11 @@ else() + message(STATUS "Configuring Shaderc to avoid building tests.") + endif() + +-set (CMAKE_CXX_STANDARD 11) +- +-option(SHADERC_ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON) + + include(GNUInstallDirs) + include(cmake/setup_build.cmake) + include(cmake/utils.cmake) + +- +-if(SHADERC_ENABLE_NV_EXTENSIONS) +- add_definitions(-DNV_EXTENSIONS) +-endif(SHADERC_ENABLE_NV_EXTENSIONS) +- + add_custom_target(check-copyright ALL + ${PYTHON_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py + --check +diff --git a/glslc/src/shader_stage.cc b/glslc/src/shader_stage.cc +index 3e4716d..142195a 100644 +--- a/glslc/src/shader_stage.cc ++++ b/glslc/src/shader_stage.cc +@@ -43,18 +43,7 @@ shaderc_shader_kind MapStageNameToForcedKind(const string_piece& stage_name) { + {"geometry", shaderc_glsl_geometry_shader}, + {"geom", shaderc_glsl_geometry_shader}, + {"compute", shaderc_glsl_compute_shader}, +- {"comp", shaderc_glsl_compute_shader}, +-#ifdef NV_EXTENSIONS +- {"rgen", shaderc_glsl_raygen_shader }, +- {"rahit", shaderc_glsl_anyhit_shader }, +- {"rchit", shaderc_glsl_closesthit_shader }, +- {"rmiss", shaderc_glsl_miss_shader }, +- {"rint", shaderc_glsl_intersection_shader }, +- {"rcall", shaderc_glsl_callable_shader }, +- {"task", shaderc_glsl_task_shader }, +- {"mesh", shaderc_glsl_mesh_shader }, +-#endif +- }; ++ {"comp", shaderc_glsl_compute_shader}}; + for (const auto& entry : string_to_kind) { + if (stage_name == entry.id) return entry.stage; + } +@@ -79,16 +68,6 @@ shaderc_shader_kind DeduceDefaultShaderKindFromFileName( + {"geom", shaderc_glsl_default_geometry_shader}, + {"comp", shaderc_glsl_default_compute_shader}, + {"spvasm", shaderc_spirv_assembly}, +-#ifdef NV_EXTENSIONS +- {"rgen", shaderc_glsl_default_raygen_shader }, +- {"rahit", shaderc_glsl_default_anyhit_shader }, +- {"rchit", shaderc_glsl_default_closesthit_shader }, +- {"rmiss", shaderc_glsl_default_miss_shader }, +- {"rint", shaderc_glsl_default_intersection_shader }, +- {"rcall", shaderc_glsl_default_callable_shader }, +- {"task", shaderc_glsl_default_task_shader }, +- {"mesh", shaderc_glsl_default_mesh_shader }, +-#endif + }; + + const string_piece extension = glslc::GetFileExtension(file_name); +diff --git a/glslc/src/stage_test.cc b/glslc/src/stage_test.cc +index 80eef92..2ee0271 100644 +--- a/glslc/src/stage_test.cc ++++ b/glslc/src/stage_test.cc +@@ -49,31 +49,6 @@ TEST(DeduceDefaultShaderKindFromFileName, ValidStage) { + EXPECT_EQ(shaderc_glsl_default_compute_shader, + glslc::DeduceDefaultShaderKindFromFileName("a.comp")); + +-#ifdef NV_EXTENSIONS +- EXPECT_EQ(shaderc_glsl_default_raygen_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rgen")); +- +- EXPECT_EQ(shaderc_glsl_default_anyhit_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rahit")); +- +- EXPECT_EQ(shaderc_glsl_default_closesthit_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rchit")); +- +- EXPECT_EQ(shaderc_glsl_default_miss_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rmiss")); +- +- EXPECT_EQ(shaderc_glsl_default_intersection_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rint")); +- +- EXPECT_EQ(shaderc_glsl_default_callable_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.rcall")); +- +- EXPECT_EQ(shaderc_glsl_default_task_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.task")); +- +- EXPECT_EQ(shaderc_glsl_default_mesh_shader, +- glslc::DeduceDefaultShaderKindFromFileName("a.mesh")); +-#endif + } + + TEST(DeduceDefaultShaderKindFromFileName, InvalidStage) { +diff --git a/libshaderc/include/shaderc/shaderc.h b/libshaderc/include/shaderc/shaderc.h +index 6addebf..093bb12 100644 +--- a/libshaderc/include/shaderc/shaderc.h ++++ b/libshaderc/include/shaderc/shaderc.h +@@ -64,7 +64,6 @@ typedef enum { + shaderc_glsl_geometry_shader = shaderc_geometry_shader, + shaderc_glsl_tess_control_shader = shaderc_tess_control_shader, + shaderc_glsl_tess_evaluation_shader = shaderc_tess_evaluation_shader, +- + // Deduce the shader kind from #pragma annotation in the source code. Compiler + // will emit error if #pragma annotation is not found. + shaderc_glsl_infer_from_source, +@@ -78,32 +77,6 @@ typedef enum { + shaderc_glsl_default_tess_control_shader, + shaderc_glsl_default_tess_evaluation_shader, + shaderc_spirv_assembly, +-#ifdef NV_EXTENSIONS +- shaderc_raygen_shader, +- shaderc_anyhit_shader, +- shaderc_closesthit_shader, +- shaderc_miss_shader, +- shaderc_intersection_shader, +- shaderc_callable_shader, +- shaderc_glsl_raygen_shader = shaderc_raygen_shader, +- shaderc_glsl_anyhit_shader = shaderc_anyhit_shader, +- shaderc_glsl_closesthit_shader = shaderc_closesthit_shader, +- shaderc_glsl_miss_shader = shaderc_miss_shader, +- shaderc_glsl_intersection_shader = shaderc_intersection_shader, +- shaderc_glsl_callable_shader = shaderc_callable_shader, +- shaderc_glsl_default_raygen_shader, +- shaderc_glsl_default_anyhit_shader, +- shaderc_glsl_default_closesthit_shader, +- shaderc_glsl_default_miss_shader, +- shaderc_glsl_default_intersection_shader, +- shaderc_glsl_default_callable_shader, +- shaderc_task_shader, +- shaderc_mesh_shader, +- shaderc_glsl_task_shader = shaderc_task_shader, +- shaderc_glsl_mesh_shader = shaderc_mesh_shader, +- shaderc_glsl_default_task_shader, +- shaderc_glsl_default_mesh_shader, +-#endif + } shaderc_shader_kind; + + typedef enum { +diff --git a/libshaderc/src/common_shaders_for_test.h b/libshaderc/src/common_shaders_for_test.h +index e1e52be..d4e15c1 100644 +--- a/libshaderc/src/common_shaders_for_test.h ++++ b/libshaderc/src/common_shaders_for_test.h +@@ -259,44 +259,6 @@ const char kGlslShaderComputeSubgroupBarrier[] = + #extension GL_KHR_shader_subgroup_basic : enable + void main() { subgroupBarrier(); })"; + +-#ifdef NV_EXTENSIONS +-// A GLSL task shader using a regular barrier. +-const char kGlslShaderTaskBarrier[] = +- R"(#version 450 +- #extension GL_NV_mesh_shader : enable +- layout(local_size_x = 32) in; +- void main() { barrier(); })"; +- +-// A GLSL task shader using the Subgroups feature. +-const char kGlslShaderTaskSubgroupBarrier[] = +- R"(#version 450 +- #extension GL_NV_mesh_shader : enable +- #extension GL_KHR_shader_subgroup_basic : enable +- layout(local_size_x = 32) in; +- void main() { subgroupBarrier(); })"; +- +-// A GLSL mesh shader using a regular barrier. +-const char kGlslShaderMeshBarrier[] = +- R"(#version 450 +- #extension GL_NV_mesh_shader : enable +- layout(local_size_x = 32) in; +- layout(max_vertices=81) out; +- layout(max_primitives=32) out; +- layout(triangles) out; +- void main() { barrier(); })"; +- +-// A GLSL mesh shader using the Subgroups feature. +-const char kGlslShaderMeshSubgroupBarrier[] = +- R"(#version 450 +- #extension GL_NV_mesh_shader : enable +- #extension GL_KHR_shader_subgroup_basic : enable +- layout(local_size_x = 32) in; +- layout(max_vertices=81) out; +- layout(max_primitives=32) out; +- layout(triangles) out; +- void main() { subgroupBarrier(); })"; +-#endif +- + const char kGlslMultipleFnShader[] = + R"(#version 450 + layout(location=0) flat in int inVal; +diff --git a/libshaderc/src/shaderc.cc b/libshaderc/src/shaderc.cc +index 5f5db16..17a6562 100644 +--- a/libshaderc/src/shaderc.cc ++++ b/libshaderc/src/shaderc.cc +@@ -56,26 +56,6 @@ EShLanguage GetForcedStage(shaderc_shader_kind kind) { + return EShLangTessControl; + case shaderc_glsl_tess_evaluation_shader: + return EShLangTessEvaluation; +- +-#ifdef NV_EXTENSIONS +- case shaderc_glsl_raygen_shader: +- return EShLangRayGenNV; +- case shaderc_glsl_anyhit_shader: +- return EShLangAnyHitNV; +- case shaderc_glsl_closesthit_shader: +- return EShLangClosestHitNV; +- case shaderc_glsl_miss_shader: +- return EShLangMissNV; +- case shaderc_glsl_intersection_shader: +- return EShLangIntersectNV; +- case shaderc_glsl_callable_shader: +- return EShLangCallableNV; +- case shaderc_glsl_task_shader: +- return EShLangTaskNV; +- case shaderc_glsl_mesh_shader: +- return EShLangMeshNV; +-#endif +- + case shaderc_glsl_infer_from_source: + case shaderc_glsl_default_vertex_shader: + case shaderc_glsl_default_fragment_shader: +@@ -83,16 +63,6 @@ EShLanguage GetForcedStage(shaderc_shader_kind kind) { + case shaderc_glsl_default_geometry_shader: + case shaderc_glsl_default_tess_control_shader: + case shaderc_glsl_default_tess_evaluation_shader: +-#ifdef NV_EXTENSIONS +- case shaderc_glsl_default_raygen_shader: +- case shaderc_glsl_default_anyhit_shader: +- case shaderc_glsl_default_closesthit_shader: +- case shaderc_glsl_default_miss_shader: +- case shaderc_glsl_default_intersection_shader: +- case shaderc_glsl_default_callable_shader: +- case shaderc_glsl_default_task_shader: +- case shaderc_glsl_default_mesh_shader: +-#endif + case shaderc_spirv_assembly: + return EShLangCount; + } +@@ -150,16 +120,6 @@ class StageDeducer { + case shaderc_glsl_tess_control_shader: + case shaderc_glsl_tess_evaluation_shader: + case shaderc_glsl_infer_from_source: +-#ifdef NV_EXTENSIONS +- case shaderc_glsl_raygen_shader: +- case shaderc_glsl_anyhit_shader: +- case shaderc_glsl_closesthit_shader: +- case shaderc_glsl_miss_shader: +- case shaderc_glsl_intersection_shader: +- case shaderc_glsl_callable_shader: +- case shaderc_glsl_task_shader: +- case shaderc_glsl_mesh_shader: +-#endif + return EShLangCount; + case shaderc_glsl_default_vertex_shader: + return EShLangVertex; +@@ -173,23 +133,6 @@ class StageDeducer { + return EShLangTessControl; + case shaderc_glsl_default_tess_evaluation_shader: + return EShLangTessEvaluation; +-#ifdef NV_EXTENSIONS +- case shaderc_glsl_default_raygen_shader: +- return EShLangRayGenNV; +- case shaderc_glsl_default_anyhit_shader: +- return EShLangAnyHitNV; +- case shaderc_glsl_default_closesthit_shader: +- return EShLangClosestHitNV; +- case shaderc_glsl_default_miss_shader: +- return EShLangMissNV; +- case shaderc_glsl_default_intersection_shader: +- return EShLangIntersectNV; +- case shaderc_glsl_default_callable_shader: +- return EShLangCallableNV; +- case shaderc_glsl_default_task_shader: +- return EShLangTaskNV; +- case shaderc_glsl_default_mesh_shader: +-#endif + case shaderc_spirv_assembly: + return EShLangCount; + } +diff --git a/libshaderc/src/shaderc_private.h b/libshaderc/src/shaderc_private.h +index 30dc863..47de8f5 100644 +--- a/libshaderc/src/shaderc_private.h ++++ b/libshaderc/src/shaderc_private.h +@@ -111,24 +111,6 @@ inline shaderc_util::Compiler::Stage shaderc_convert_specific_stage( + return shaderc_util::Compiler::Stage::Geometry; + case shaderc_compute_shader: + return shaderc_util::Compiler::Stage::Compute; +-#if NV_EXTENSIONS +- case shaderc_raygen_shader: +- return shaderc_util::Compiler::Stage::RayGenNV; +- case shaderc_intersection_shader: +- return shaderc_util::Compiler::Stage::IntersectNV; +- case shaderc_anyhit_shader: +- return shaderc_util::Compiler::Stage::AnyHitNV; +- case shaderc_closesthit_shader: +- return shaderc_util::Compiler::Stage::ClosestHitNV; +- case shaderc_miss_shader: +- return shaderc_util::Compiler::Stage::MissNV; +- case shaderc_callable_shader: +- return shaderc_util::Compiler::Stage::CallableNV; +- case shaderc_task_shader: +- return shaderc_util::Compiler::Stage::TaskNV; +- case shaderc_mesh_shader: +- return shaderc_util::Compiler::Stage::MeshNV; +-#endif + default: + // We don't care about the other kinds. + break; +diff --git a/libshaderc/src/shaderc_private_test.cc b/libshaderc/src/shaderc_private_test.cc +index 3b64551..2d6ebf8 100644 +--- a/libshaderc/src/shaderc_private_test.cc ++++ b/libshaderc/src/shaderc_private_test.cc +@@ -30,23 +30,5 @@ TEST(ConvertSpecificStage, Exhaustive) { + shaderc_convert_specific_stage(shaderc_geometry_shader)); + EXPECT_EQ(shaderc_util::Compiler::Stage::Compute, + shaderc_convert_specific_stage(shaderc_compute_shader)); +-#ifdef NV_EXTENSIONS +- EXPECT_EQ(shaderc_util::Compiler::Stage::RayGenNV, +- shaderc_convert_specific_stage(shaderc_raygen_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::AnyHitNV, +- shaderc_convert_specific_stage(shaderc_anyhit_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::ClosestHitNV, +- shaderc_convert_specific_stage(shaderc_closesthit_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::IntersectNV, +- shaderc_convert_specific_stage(shaderc_intersection_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::MissNV, +- shaderc_convert_specific_stage(shaderc_miss_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::CallableNV, +- shaderc_convert_specific_stage(shaderc_callable_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::TaskNV, +- shaderc_convert_specific_stage(shaderc_task_shader)); +- EXPECT_EQ(shaderc_util::Compiler::Stage::MeshNV, +- shaderc_convert_specific_stage(shaderc_mesh_shader)); +-#endif + } + } // anonymous namespace +diff --git a/libshaderc/src/shaderc_test.cc b/libshaderc/src/shaderc_test.cc +index e68ebcb..93acc09 100644 +--- a/libshaderc/src/shaderc_test.cc ++++ b/libshaderc/src/shaderc_test.cc +@@ -1198,82 +1198,6 @@ TEST_F(CompileStringWithOptionsTest, + shaderc_glsl_compute_shader, options_.get())); + } + +-#ifdef NV_EXTENSIONS +-// task shader +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_0TaskShaderToVulkan1_0Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_0); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskBarrier, +- shaderc_glsl_task_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_0TaskShaderToVulkan1_1Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_1); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskBarrier, +- shaderc_glsl_task_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_1TaskShaderToVulkan1_0Fails) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_0); +- EXPECT_FALSE(CompilesToValidSpv(compiler_, kGlslShaderTaskSubgroupBarrier, +- shaderc_glsl_task_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_1TaskShaderToVulkan1_1Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_1); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskSubgroupBarrier, +- shaderc_glsl_task_shader, options_.get())); +-} +- +-// mesh shader +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_0MeshShaderToVulkan1_0Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_0); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshBarrier, +- shaderc_glsl_mesh_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_0MeshShaderToVulkan1_1Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_1); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshBarrier, +- shaderc_glsl_mesh_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_1MeshShaderToVulkan1_0Fails) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_0); +- EXPECT_FALSE(CompilesToValidSpv(compiler_, kGlslShaderMeshSubgroupBarrier, +- shaderc_glsl_mesh_shader, options_.get())); +-} +- +-TEST_F(CompileStringWithOptionsTest, +- TargetEnvRespectedWhenCompilingVulkan1_1MeshShaderToVulkan1_1Succeeds) { +- shaderc_compile_options_set_target_env(options_.get(), +- shaderc_target_env_vulkan, +- shaderc_env_version_vulkan_1_1); +- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshSubgroupBarrier, +- shaderc_glsl_mesh_shader, options_.get())); +-} +-#endif +- + TEST_F(CompileStringWithOptionsTest, + DISABLED_TargetEnvIgnoredWhenPreprocessing) { + // This test is disabled since some versions of glslang may refuse to compile +diff --git a/libshaderc_util/include/libshaderc_util/compiler.h b/libshaderc_util/include/libshaderc_util/compiler.h +index f36a97f..bbbab86 100644 +--- a/libshaderc_util/include/libshaderc_util/compiler.h ++++ b/libshaderc_util/include/libshaderc_util/compiler.h +@@ -171,40 +171,14 @@ class Compiler { + Geometry, + Fragment, + Compute, +-#ifdef NV_EXTENSIONS +- RayGenNV, +- IntersectNV, +- AnyHitNV, +- ClosestHitNV, +- MissNV, +- CallableNV, +- TaskNV, +- MeshNV, +-#endif +- StageEnd, + }; +- enum { kNumStages = int(Stage::StageEnd) }; ++ enum { kNumStages = int(Stage::Compute) + 1 }; + + // Returns a std::array of all the Stage values. + const std::array& stages() const { +- static std::array values{{ +- Stage::Vertex, +- Stage::TessEval, +- Stage::TessControl, +- Stage::Geometry, +- Stage::Fragment, +- Stage::Compute, +-#ifdef NV_EXTENSIONS +- Stage::RayGenNV, +- Stage::IntersectNV, +- Stage::AnyHitNV, +- Stage::ClosestHitNV, +- Stage::MissNV, +- Stage::CallableNV, +- Stage::TaskNV, +- Stage::MeshNV, +-#endif +- }}; ++ static std::array values{ ++ {Stage::Vertex, Stage::TessEval, Stage::TessControl, Stage::Geometry, ++ Stage::Fragment, Stage::Compute}}; + return values; + } + +diff --git a/libshaderc_util/src/resources.cc b/libshaderc_util/src/resources.cc +index 458a63f..1617b0a 100644 +--- a/libshaderc_util/src/resources.cc ++++ b/libshaderc_util/src/resources.cc +@@ -116,16 +116,6 @@ const TBuiltInResource kDefaultTBuiltInResource = { + /*.maxCullDistances = */ 8, // ARB_cull_distance. + /*.maxCombinedClipAndCullDistances = */ 8, // ARB_cull_distance. + /*.maxSamples = */ 4, +- /* .maxMeshOutputVerticesNV = */ 256, +- /* .maxMeshOutputPrimitivesNV = */ 512, +- /* .maxMeshWorkGroupSizeX_NV = */ 32, +- /* .maxMeshWorkGroupSizeY_NV = */ 1, +- /* .maxMeshWorkGroupSizeZ_NV = */ 1, +- /* .maxTaskWorkGroupSizeX_NV = */ 32, +- /* .maxTaskWorkGroupSizeY_NV = */ 1, +- /* .maxTaskWorkGroupSizeZ_NV = */ 1, +- /* .maxMeshViewCountNV = */ 4, +- + // This is the glslang TLimits structure. + // It defines whether or not the following features are enabled. + // We want them to all be enabled. +-- +2.19.0 + diff --git a/shaderc.spec b/shaderc.spec index e792fd1..ef8a21f 100644 --- a/shaderc.spec +++ b/shaderc.spec @@ -1,14 +1,14 @@ -# Release 2017.2 -%global commit 7a23a01742b88329fb2260eda007172135ba25d4 +# Release 2018.0 +%global commit 7d8582bb10c94889f0fc603cb10728faa58b93e1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global snapshotdate 20180924 -%global gitversion beginning-449-g7a23a01 +%global snapshotdate 20181003 +%global gitversion v2018.0 # Need to keep this in sync with spirv-tools -%global spirv_commit f508896d6487d09f5c9a2a3835595446fec0791a +%global spirv_commit 26a698c34788bb69123a1f3789970a16cf4d9641 Name: shaderc -Version: 2017.2 +Version: 2018.0 Release: 1%{?dist} Summary: A collection of tools, libraries, and tests for Vulkan shader compilation @@ -18,10 +18,11 @@ Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz # https://github.com/google/shaderc/pull/463 Patch0: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/463.patch#/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch -# https://github.com/google/shaderc/pull/493 -Patch1: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/493.patch#/0001-Add-SONAME-version-to-the-library.patch # Patch to unbundle 3rd party code -Patch2: 0001-Drop-third-party-code-in-CMakeLists.txt.patch +Patch1: 0001-Drop-third-party-code-in-CMakeLists.txt.patch +# SPV_NV_mesh_shader is only available in theGIT master of glslang +# Delaying inclusion until neyt glslang release +Patch2: 0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch BuildRequires: cmake3 BuildRequires: gcc-c++ @@ -138,6 +139,9 @@ ctest -V %changelog +* Wed Oct 03 2018 Robert-André Mauchin - 2018.0-1 +- Release 2018.0 + * Mon Sep 24 2018 Robert-André Mauchin - 2017.2-1 - Initial build diff --git a/sources b/sources index b27358c..4a56ba0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (shaderc-7a23a01.tar.gz) = 558447bc29b0c7610fda0f6c2a6b66f3c8fc7f2f5e336ad190ae959caa8c7aa1e09d3c2efe0e197cb2cbe1fa97e0c68623ce423c658b29fcbd1f1e1ea4c85f18 +SHA512 (shaderc-7d8582b.tar.gz) = 20c77170265bb5dba61a47df7c369fdbece1d7a457f78f04c0a1ee4c728802b673857da8f91456de35627832781d2064ba2daf2b6859a4f1b14bfd53fc6e8588 From 3d0bcb706ee27af7d2c1f99558afa42e26c984bc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 15:17:10 +0000 Subject: [PATCH 4/6] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- shaderc.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shaderc.spec b/shaderc.spec index ef8a21f..81ce50c 100644 --- a/shaderc.spec +++ b/shaderc.spec @@ -9,7 +9,7 @@ Name: shaderc Version: 2018.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A collection of tools, libraries, and tests for Vulkan shader compilation License: ASL 2.0 @@ -139,6 +139,9 @@ ctest -V %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 2018.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Wed Oct 03 2018 Robert-André Mauchin - 2018.0-1 - Release 2018.0 From 481bb4a7a90316425d016bfd7a70ab1854f22bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Mon, 10 Jun 2019 17:51:37 +0200 Subject: [PATCH 5/6] Release 2019.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert-André Mauchin --- .gitignore | 1 + ...p-third-party-code-in-CMakeLists.txt.patch | 36 +- ...t-Add-support-for-SPV_NV_mesh_shader.patch | 521 ------------------ shaderc.spec | 36 +- sources | 2 +- 5 files changed, 34 insertions(+), 562 deletions(-) delete mode 100644 0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch diff --git a/.gitignore b/.gitignore index 1221df9..0d7072c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /shaderc-7a23a01.tar.gz /shaderc-7d8582b.tar.gz +/shaderc-34c412f.tar.gz diff --git a/0001-Drop-third-party-code-in-CMakeLists.txt.patch b/0001-Drop-third-party-code-in-CMakeLists.txt.patch index 8425d34..32ea680 100644 --- a/0001-Drop-third-party-code-in-CMakeLists.txt.patch +++ b/0001-Drop-third-party-code-in-CMakeLists.txt.patch @@ -1,36 +1,24 @@ -From f3e0470ccf96a48f6e5701aa64aa831d51769d8e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= -Date: Sun, 30 Sep 2018 20:53:08 +0200 -Subject: [PATCH] Drop third party code in CMakeLists.txt -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Robert-André Mauchin ---- - CMakeLists.txt | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b9bd0df..bd2c9f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -52,15 +52,9 @@ endif(MSVC) +diff -up shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt.unbundle shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt +--- shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt.unbundle 2019-06-10 00:30:41.954316517 +0200 ++++ shaderc-34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4/CMakeLists.txt 2019-06-10 01:10:11.672758769 +0200 +@@ -70,7 +70,6 @@ endif(MSVC) # Configure subdirectories. # We depend on these for later projects, so they should come first. -add_subdirectory(third_party) - add_subdirectory(libshaderc_util) - add_subdirectory(libshaderc) + if(SHADERC_ENABLE_SPVC) + add_subdirectory(libshaderc_spvc) +@@ -81,12 +80,6 @@ add_subdirectory(libshaderc) add_subdirectory(glslc) add_subdirectory(examples) -add_custom_target(build-version -- ${PYTHON_EXE} +- ${PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py - ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} - COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") --- -2.19.0 - +- + function(define_pkg_config_file NAME LIBS) + add_custom_target(${NAME}-pkg-config ALL + COMMAND ${CMAKE_COMMAND} diff --git a/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch b/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch deleted file mode 100644 index 083858b..0000000 --- a/0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch +++ /dev/null @@ -1,521 +0,0 @@ -From 7867887019541322b08cc31257c447d20e79a40c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= -Date: Wed, 3 Oct 2018 16:37:42 +0200 -Subject: [PATCH] Revert "Add-support-for-SPV_NV_mesh_shader" - -This reverts commit e8ffa069fa40f79824cb1499eaa78cb56af84d0a. ---- - CMakeLists.txt | 8 -- - glslc/src/shader_stage.cc | 23 +----- - glslc/src/stage_test.cc | 25 ------ - libshaderc/include/shaderc/shaderc.h | 27 ------- - libshaderc/src/common_shaders_for_test.h | 38 ---------- - libshaderc/src/shaderc.cc | 57 -------------- - libshaderc/src/shaderc_private.h | 18 ----- - libshaderc/src/shaderc_private_test.cc | 18 ----- - libshaderc/src/shaderc_test.cc | 76 ------------------- - .../include/libshaderc_util/compiler.h | 34 +-------- - libshaderc_util/src/resources.cc | 10 --- - 11 files changed, 5 insertions(+), 329 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b982eab..422d9c2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -19,19 +19,11 @@ else() - message(STATUS "Configuring Shaderc to avoid building tests.") - endif() - --set (CMAKE_CXX_STANDARD 11) -- --option(SHADERC_ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON) - - include(GNUInstallDirs) - include(cmake/setup_build.cmake) - include(cmake/utils.cmake) - -- --if(SHADERC_ENABLE_NV_EXTENSIONS) -- add_definitions(-DNV_EXTENSIONS) --endif(SHADERC_ENABLE_NV_EXTENSIONS) -- - add_custom_target(check-copyright ALL - ${PYTHON_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py - --check -diff --git a/glslc/src/shader_stage.cc b/glslc/src/shader_stage.cc -index 3e4716d..142195a 100644 ---- a/glslc/src/shader_stage.cc -+++ b/glslc/src/shader_stage.cc -@@ -43,18 +43,7 @@ shaderc_shader_kind MapStageNameToForcedKind(const string_piece& stage_name) { - {"geometry", shaderc_glsl_geometry_shader}, - {"geom", shaderc_glsl_geometry_shader}, - {"compute", shaderc_glsl_compute_shader}, -- {"comp", shaderc_glsl_compute_shader}, --#ifdef NV_EXTENSIONS -- {"rgen", shaderc_glsl_raygen_shader }, -- {"rahit", shaderc_glsl_anyhit_shader }, -- {"rchit", shaderc_glsl_closesthit_shader }, -- {"rmiss", shaderc_glsl_miss_shader }, -- {"rint", shaderc_glsl_intersection_shader }, -- {"rcall", shaderc_glsl_callable_shader }, -- {"task", shaderc_glsl_task_shader }, -- {"mesh", shaderc_glsl_mesh_shader }, --#endif -- }; -+ {"comp", shaderc_glsl_compute_shader}}; - for (const auto& entry : string_to_kind) { - if (stage_name == entry.id) return entry.stage; - } -@@ -79,16 +68,6 @@ shaderc_shader_kind DeduceDefaultShaderKindFromFileName( - {"geom", shaderc_glsl_default_geometry_shader}, - {"comp", shaderc_glsl_default_compute_shader}, - {"spvasm", shaderc_spirv_assembly}, --#ifdef NV_EXTENSIONS -- {"rgen", shaderc_glsl_default_raygen_shader }, -- {"rahit", shaderc_glsl_default_anyhit_shader }, -- {"rchit", shaderc_glsl_default_closesthit_shader }, -- {"rmiss", shaderc_glsl_default_miss_shader }, -- {"rint", shaderc_glsl_default_intersection_shader }, -- {"rcall", shaderc_glsl_default_callable_shader }, -- {"task", shaderc_glsl_default_task_shader }, -- {"mesh", shaderc_glsl_default_mesh_shader }, --#endif - }; - - const string_piece extension = glslc::GetFileExtension(file_name); -diff --git a/glslc/src/stage_test.cc b/glslc/src/stage_test.cc -index 80eef92..2ee0271 100644 ---- a/glslc/src/stage_test.cc -+++ b/glslc/src/stage_test.cc -@@ -49,31 +49,6 @@ TEST(DeduceDefaultShaderKindFromFileName, ValidStage) { - EXPECT_EQ(shaderc_glsl_default_compute_shader, - glslc::DeduceDefaultShaderKindFromFileName("a.comp")); - --#ifdef NV_EXTENSIONS -- EXPECT_EQ(shaderc_glsl_default_raygen_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rgen")); -- -- EXPECT_EQ(shaderc_glsl_default_anyhit_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rahit")); -- -- EXPECT_EQ(shaderc_glsl_default_closesthit_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rchit")); -- -- EXPECT_EQ(shaderc_glsl_default_miss_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rmiss")); -- -- EXPECT_EQ(shaderc_glsl_default_intersection_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rint")); -- -- EXPECT_EQ(shaderc_glsl_default_callable_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.rcall")); -- -- EXPECT_EQ(shaderc_glsl_default_task_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.task")); -- -- EXPECT_EQ(shaderc_glsl_default_mesh_shader, -- glslc::DeduceDefaultShaderKindFromFileName("a.mesh")); --#endif - } - - TEST(DeduceDefaultShaderKindFromFileName, InvalidStage) { -diff --git a/libshaderc/include/shaderc/shaderc.h b/libshaderc/include/shaderc/shaderc.h -index 6addebf..093bb12 100644 ---- a/libshaderc/include/shaderc/shaderc.h -+++ b/libshaderc/include/shaderc/shaderc.h -@@ -64,7 +64,6 @@ typedef enum { - shaderc_glsl_geometry_shader = shaderc_geometry_shader, - shaderc_glsl_tess_control_shader = shaderc_tess_control_shader, - shaderc_glsl_tess_evaluation_shader = shaderc_tess_evaluation_shader, -- - // Deduce the shader kind from #pragma annotation in the source code. Compiler - // will emit error if #pragma annotation is not found. - shaderc_glsl_infer_from_source, -@@ -78,32 +77,6 @@ typedef enum { - shaderc_glsl_default_tess_control_shader, - shaderc_glsl_default_tess_evaluation_shader, - shaderc_spirv_assembly, --#ifdef NV_EXTENSIONS -- shaderc_raygen_shader, -- shaderc_anyhit_shader, -- shaderc_closesthit_shader, -- shaderc_miss_shader, -- shaderc_intersection_shader, -- shaderc_callable_shader, -- shaderc_glsl_raygen_shader = shaderc_raygen_shader, -- shaderc_glsl_anyhit_shader = shaderc_anyhit_shader, -- shaderc_glsl_closesthit_shader = shaderc_closesthit_shader, -- shaderc_glsl_miss_shader = shaderc_miss_shader, -- shaderc_glsl_intersection_shader = shaderc_intersection_shader, -- shaderc_glsl_callable_shader = shaderc_callable_shader, -- shaderc_glsl_default_raygen_shader, -- shaderc_glsl_default_anyhit_shader, -- shaderc_glsl_default_closesthit_shader, -- shaderc_glsl_default_miss_shader, -- shaderc_glsl_default_intersection_shader, -- shaderc_glsl_default_callable_shader, -- shaderc_task_shader, -- shaderc_mesh_shader, -- shaderc_glsl_task_shader = shaderc_task_shader, -- shaderc_glsl_mesh_shader = shaderc_mesh_shader, -- shaderc_glsl_default_task_shader, -- shaderc_glsl_default_mesh_shader, --#endif - } shaderc_shader_kind; - - typedef enum { -diff --git a/libshaderc/src/common_shaders_for_test.h b/libshaderc/src/common_shaders_for_test.h -index e1e52be..d4e15c1 100644 ---- a/libshaderc/src/common_shaders_for_test.h -+++ b/libshaderc/src/common_shaders_for_test.h -@@ -259,44 +259,6 @@ const char kGlslShaderComputeSubgroupBarrier[] = - #extension GL_KHR_shader_subgroup_basic : enable - void main() { subgroupBarrier(); })"; - --#ifdef NV_EXTENSIONS --// A GLSL task shader using a regular barrier. --const char kGlslShaderTaskBarrier[] = -- R"(#version 450 -- #extension GL_NV_mesh_shader : enable -- layout(local_size_x = 32) in; -- void main() { barrier(); })"; -- --// A GLSL task shader using the Subgroups feature. --const char kGlslShaderTaskSubgroupBarrier[] = -- R"(#version 450 -- #extension GL_NV_mesh_shader : enable -- #extension GL_KHR_shader_subgroup_basic : enable -- layout(local_size_x = 32) in; -- void main() { subgroupBarrier(); })"; -- --// A GLSL mesh shader using a regular barrier. --const char kGlslShaderMeshBarrier[] = -- R"(#version 450 -- #extension GL_NV_mesh_shader : enable -- layout(local_size_x = 32) in; -- layout(max_vertices=81) out; -- layout(max_primitives=32) out; -- layout(triangles) out; -- void main() { barrier(); })"; -- --// A GLSL mesh shader using the Subgroups feature. --const char kGlslShaderMeshSubgroupBarrier[] = -- R"(#version 450 -- #extension GL_NV_mesh_shader : enable -- #extension GL_KHR_shader_subgroup_basic : enable -- layout(local_size_x = 32) in; -- layout(max_vertices=81) out; -- layout(max_primitives=32) out; -- layout(triangles) out; -- void main() { subgroupBarrier(); })"; --#endif -- - const char kGlslMultipleFnShader[] = - R"(#version 450 - layout(location=0) flat in int inVal; -diff --git a/libshaderc/src/shaderc.cc b/libshaderc/src/shaderc.cc -index 5f5db16..17a6562 100644 ---- a/libshaderc/src/shaderc.cc -+++ b/libshaderc/src/shaderc.cc -@@ -56,26 +56,6 @@ EShLanguage GetForcedStage(shaderc_shader_kind kind) { - return EShLangTessControl; - case shaderc_glsl_tess_evaluation_shader: - return EShLangTessEvaluation; -- --#ifdef NV_EXTENSIONS -- case shaderc_glsl_raygen_shader: -- return EShLangRayGenNV; -- case shaderc_glsl_anyhit_shader: -- return EShLangAnyHitNV; -- case shaderc_glsl_closesthit_shader: -- return EShLangClosestHitNV; -- case shaderc_glsl_miss_shader: -- return EShLangMissNV; -- case shaderc_glsl_intersection_shader: -- return EShLangIntersectNV; -- case shaderc_glsl_callable_shader: -- return EShLangCallableNV; -- case shaderc_glsl_task_shader: -- return EShLangTaskNV; -- case shaderc_glsl_mesh_shader: -- return EShLangMeshNV; --#endif -- - case shaderc_glsl_infer_from_source: - case shaderc_glsl_default_vertex_shader: - case shaderc_glsl_default_fragment_shader: -@@ -83,16 +63,6 @@ EShLanguage GetForcedStage(shaderc_shader_kind kind) { - case shaderc_glsl_default_geometry_shader: - case shaderc_glsl_default_tess_control_shader: - case shaderc_glsl_default_tess_evaluation_shader: --#ifdef NV_EXTENSIONS -- case shaderc_glsl_default_raygen_shader: -- case shaderc_glsl_default_anyhit_shader: -- case shaderc_glsl_default_closesthit_shader: -- case shaderc_glsl_default_miss_shader: -- case shaderc_glsl_default_intersection_shader: -- case shaderc_glsl_default_callable_shader: -- case shaderc_glsl_default_task_shader: -- case shaderc_glsl_default_mesh_shader: --#endif - case shaderc_spirv_assembly: - return EShLangCount; - } -@@ -150,16 +120,6 @@ class StageDeducer { - case shaderc_glsl_tess_control_shader: - case shaderc_glsl_tess_evaluation_shader: - case shaderc_glsl_infer_from_source: --#ifdef NV_EXTENSIONS -- case shaderc_glsl_raygen_shader: -- case shaderc_glsl_anyhit_shader: -- case shaderc_glsl_closesthit_shader: -- case shaderc_glsl_miss_shader: -- case shaderc_glsl_intersection_shader: -- case shaderc_glsl_callable_shader: -- case shaderc_glsl_task_shader: -- case shaderc_glsl_mesh_shader: --#endif - return EShLangCount; - case shaderc_glsl_default_vertex_shader: - return EShLangVertex; -@@ -173,23 +133,6 @@ class StageDeducer { - return EShLangTessControl; - case shaderc_glsl_default_tess_evaluation_shader: - return EShLangTessEvaluation; --#ifdef NV_EXTENSIONS -- case shaderc_glsl_default_raygen_shader: -- return EShLangRayGenNV; -- case shaderc_glsl_default_anyhit_shader: -- return EShLangAnyHitNV; -- case shaderc_glsl_default_closesthit_shader: -- return EShLangClosestHitNV; -- case shaderc_glsl_default_miss_shader: -- return EShLangMissNV; -- case shaderc_glsl_default_intersection_shader: -- return EShLangIntersectNV; -- case shaderc_glsl_default_callable_shader: -- return EShLangCallableNV; -- case shaderc_glsl_default_task_shader: -- return EShLangTaskNV; -- case shaderc_glsl_default_mesh_shader: --#endif - case shaderc_spirv_assembly: - return EShLangCount; - } -diff --git a/libshaderc/src/shaderc_private.h b/libshaderc/src/shaderc_private.h -index 30dc863..47de8f5 100644 ---- a/libshaderc/src/shaderc_private.h -+++ b/libshaderc/src/shaderc_private.h -@@ -111,24 +111,6 @@ inline shaderc_util::Compiler::Stage shaderc_convert_specific_stage( - return shaderc_util::Compiler::Stage::Geometry; - case shaderc_compute_shader: - return shaderc_util::Compiler::Stage::Compute; --#if NV_EXTENSIONS -- case shaderc_raygen_shader: -- return shaderc_util::Compiler::Stage::RayGenNV; -- case shaderc_intersection_shader: -- return shaderc_util::Compiler::Stage::IntersectNV; -- case shaderc_anyhit_shader: -- return shaderc_util::Compiler::Stage::AnyHitNV; -- case shaderc_closesthit_shader: -- return shaderc_util::Compiler::Stage::ClosestHitNV; -- case shaderc_miss_shader: -- return shaderc_util::Compiler::Stage::MissNV; -- case shaderc_callable_shader: -- return shaderc_util::Compiler::Stage::CallableNV; -- case shaderc_task_shader: -- return shaderc_util::Compiler::Stage::TaskNV; -- case shaderc_mesh_shader: -- return shaderc_util::Compiler::Stage::MeshNV; --#endif - default: - // We don't care about the other kinds. - break; -diff --git a/libshaderc/src/shaderc_private_test.cc b/libshaderc/src/shaderc_private_test.cc -index 3b64551..2d6ebf8 100644 ---- a/libshaderc/src/shaderc_private_test.cc -+++ b/libshaderc/src/shaderc_private_test.cc -@@ -30,23 +30,5 @@ TEST(ConvertSpecificStage, Exhaustive) { - shaderc_convert_specific_stage(shaderc_geometry_shader)); - EXPECT_EQ(shaderc_util::Compiler::Stage::Compute, - shaderc_convert_specific_stage(shaderc_compute_shader)); --#ifdef NV_EXTENSIONS -- EXPECT_EQ(shaderc_util::Compiler::Stage::RayGenNV, -- shaderc_convert_specific_stage(shaderc_raygen_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::AnyHitNV, -- shaderc_convert_specific_stage(shaderc_anyhit_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::ClosestHitNV, -- shaderc_convert_specific_stage(shaderc_closesthit_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::IntersectNV, -- shaderc_convert_specific_stage(shaderc_intersection_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::MissNV, -- shaderc_convert_specific_stage(shaderc_miss_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::CallableNV, -- shaderc_convert_specific_stage(shaderc_callable_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::TaskNV, -- shaderc_convert_specific_stage(shaderc_task_shader)); -- EXPECT_EQ(shaderc_util::Compiler::Stage::MeshNV, -- shaderc_convert_specific_stage(shaderc_mesh_shader)); --#endif - } - } // anonymous namespace -diff --git a/libshaderc/src/shaderc_test.cc b/libshaderc/src/shaderc_test.cc -index e68ebcb..93acc09 100644 ---- a/libshaderc/src/shaderc_test.cc -+++ b/libshaderc/src/shaderc_test.cc -@@ -1198,82 +1198,6 @@ TEST_F(CompileStringWithOptionsTest, - shaderc_glsl_compute_shader, options_.get())); - } - --#ifdef NV_EXTENSIONS --// task shader --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_0TaskShaderToVulkan1_0Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_0); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskBarrier, -- shaderc_glsl_task_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_0TaskShaderToVulkan1_1Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_1); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskBarrier, -- shaderc_glsl_task_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_1TaskShaderToVulkan1_0Fails) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_0); -- EXPECT_FALSE(CompilesToValidSpv(compiler_, kGlslShaderTaskSubgroupBarrier, -- shaderc_glsl_task_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_1TaskShaderToVulkan1_1Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_1); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderTaskSubgroupBarrier, -- shaderc_glsl_task_shader, options_.get())); --} -- --// mesh shader --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_0MeshShaderToVulkan1_0Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_0); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshBarrier, -- shaderc_glsl_mesh_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_0MeshShaderToVulkan1_1Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_1); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshBarrier, -- shaderc_glsl_mesh_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_1MeshShaderToVulkan1_0Fails) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_0); -- EXPECT_FALSE(CompilesToValidSpv(compiler_, kGlslShaderMeshSubgroupBarrier, -- shaderc_glsl_mesh_shader, options_.get())); --} -- --TEST_F(CompileStringWithOptionsTest, -- TargetEnvRespectedWhenCompilingVulkan1_1MeshShaderToVulkan1_1Succeeds) { -- shaderc_compile_options_set_target_env(options_.get(), -- shaderc_target_env_vulkan, -- shaderc_env_version_vulkan_1_1); -- EXPECT_TRUE(CompilesToValidSpv(compiler_, kGlslShaderMeshSubgroupBarrier, -- shaderc_glsl_mesh_shader, options_.get())); --} --#endif -- - TEST_F(CompileStringWithOptionsTest, - DISABLED_TargetEnvIgnoredWhenPreprocessing) { - // This test is disabled since some versions of glslang may refuse to compile -diff --git a/libshaderc_util/include/libshaderc_util/compiler.h b/libshaderc_util/include/libshaderc_util/compiler.h -index f36a97f..bbbab86 100644 ---- a/libshaderc_util/include/libshaderc_util/compiler.h -+++ b/libshaderc_util/include/libshaderc_util/compiler.h -@@ -171,40 +171,14 @@ class Compiler { - Geometry, - Fragment, - Compute, --#ifdef NV_EXTENSIONS -- RayGenNV, -- IntersectNV, -- AnyHitNV, -- ClosestHitNV, -- MissNV, -- CallableNV, -- TaskNV, -- MeshNV, --#endif -- StageEnd, - }; -- enum { kNumStages = int(Stage::StageEnd) }; -+ enum { kNumStages = int(Stage::Compute) + 1 }; - - // Returns a std::array of all the Stage values. - const std::array& stages() const { -- static std::array values{{ -- Stage::Vertex, -- Stage::TessEval, -- Stage::TessControl, -- Stage::Geometry, -- Stage::Fragment, -- Stage::Compute, --#ifdef NV_EXTENSIONS -- Stage::RayGenNV, -- Stage::IntersectNV, -- Stage::AnyHitNV, -- Stage::ClosestHitNV, -- Stage::MissNV, -- Stage::CallableNV, -- Stage::TaskNV, -- Stage::MeshNV, --#endif -- }}; -+ static std::array values{ -+ {Stage::Vertex, Stage::TessEval, Stage::TessControl, Stage::Geometry, -+ Stage::Fragment, Stage::Compute}}; - return values; - } - -diff --git a/libshaderc_util/src/resources.cc b/libshaderc_util/src/resources.cc -index 458a63f..1617b0a 100644 ---- a/libshaderc_util/src/resources.cc -+++ b/libshaderc_util/src/resources.cc -@@ -116,16 +116,6 @@ const TBuiltInResource kDefaultTBuiltInResource = { - /*.maxCullDistances = */ 8, // ARB_cull_distance. - /*.maxCombinedClipAndCullDistances = */ 8, // ARB_cull_distance. - /*.maxSamples = */ 4, -- /* .maxMeshOutputVerticesNV = */ 256, -- /* .maxMeshOutputPrimitivesNV = */ 512, -- /* .maxMeshWorkGroupSizeX_NV = */ 32, -- /* .maxMeshWorkGroupSizeY_NV = */ 1, -- /* .maxMeshWorkGroupSizeZ_NV = */ 1, -- /* .maxTaskWorkGroupSizeX_NV = */ 32, -- /* .maxTaskWorkGroupSizeY_NV = */ 1, -- /* .maxTaskWorkGroupSizeZ_NV = */ 1, -- /* .maxMeshViewCountNV = */ 4, -- - // This is the glslang TLimits structure. - // It defines whether or not the following features are enabled. - // We want them to all be enabled. --- -2.19.0 - diff --git a/shaderc.spec b/shaderc.spec index 81ce50c..f6e3797 100644 --- a/shaderc.spec +++ b/shaderc.spec @@ -1,15 +1,16 @@ -# Release 2018.0 -%global commit 7d8582bb10c94889f0fc603cb10728faa58b93e1 +# Release 2019.0 +%global commit 34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global snapshotdate 20181003 -%global gitversion v2018.0 +%global snapshotdate 20190609 +%global gitversion v2019.0 # Need to keep this in sync with spirv-tools -%global spirv_commit 26a698c34788bb69123a1f3789970a16cf4d9641 +%global spirv_commit 2297d4a3dfcbfd2a8b4312fab055ae26e3289fd3 +%global spirv_version v2019.1 Name: shaderc -Version: 2018.0 -Release: 2%{?dist} +Version: 2019.0 +Release: 1%{?dist} Summary: A collection of tools, libraries, and tests for Vulkan shader compilation License: ASL 2.0 @@ -20,9 +21,6 @@ Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Patch0: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/463.patch#/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch # Patch to unbundle 3rd party code Patch1: 0001-Drop-third-party-code-in-CMakeLists.txt.patch -# SPV_NV_mesh_shader is only available in theGIT master of glslang -# Delaying inclusion until neyt glslang release -Patch2: 0001-Revert-Add-support-for-SPV_NV_mesh_shader.patch BuildRequires: cmake3 BuildRequires: gcc-c++ @@ -34,13 +32,13 @@ BuildRequires: spirv-tools BuildRequires: spirv-tools-devel %description -A collection of tools, libraries and tests for shader compilation. +A collection of tools, libraries and tests for shader compilation. Shaderc aims to to provide: - - a command line compiler with GCC- and Clang-like usage, for better + - a command line compiler with GCC- and Clang-like usage, for better integration with build systems - an API where functionality can be added without breaking existing clients - - an API supporting standard concurrency patterns across multiple + - an API supporting standard concurrency patterns across multiple operating systems - increased functionality such as file #include support @@ -84,11 +82,11 @@ Static libraries for libshaderc. rm -rf third_party # Stolen from Gentoo -# Create build-version.inc since we want to use our packaged +# Create build-version.inc since we want to use our packaged # SPIRV-Tools and glslang echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' CHANGES) %{gitversion}\" \ > glslc/src/build-version.inc -echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' /usr/share/doc/spirv-tools/CHANGES) %{spirv_commit}\" \ +echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' /usr/share/doc/spirv-tools/CHANGES) %{spirv_version}\" \ >> glslc/src/build-version.inc echo \"glslang \'\'\" >> glslc/src/build-version.inc @@ -129,16 +127,22 @@ ctest -V %files -n libshaderc-devel %{_includedir}/%{name}/ %{_libdir}/libshaderc_shared.so +%{_libdir}/pkgconfig/shaderc.pc %files -n libshaderc-static %license LICENSE %{_libdir}/libshaderc.a %{_libdir}/libshaderc_combined.a -%{_libdir}/libshaderc_util.a +%{_libdir}/pkgconfig/shaderc_static.pc +%{_libdir}/pkgconfig/shaderc_combined.pc + %changelog +* Mon Jun 10 00:18:18 CEST 2019 Robert-André Mauchin - 2019.0-1 +- Release 2019.0 + * Sat Feb 02 2019 Fedora Release Engineering - 2018.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 4a56ba0..1728654 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (shaderc-7d8582b.tar.gz) = 20c77170265bb5dba61a47df7c369fdbece1d7a457f78f04c0a1ee4c728802b673857da8f91456de35627832781d2064ba2daf2b6859a4f1b14bfd53fc6e8588 +SHA512 (shaderc-34c412f.tar.gz) = bbc17c350e094230c53b22f80eef95d9dfac3716d3653764862fffe210f3d0fbaa60f204c9aa93e91390f60b4a8a5f153d940ba1e450eff89ff53b587f295ce7 From 159b6a4f9ee91a1feb2bee84d798d3fdf601c62f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jul 2019 23:10:28 +0000 Subject: [PATCH 6/6] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- shaderc.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shaderc.spec b/shaderc.spec index f6e3797..3898430 100644 --- a/shaderc.spec +++ b/shaderc.spec @@ -10,7 +10,7 @@ Name: shaderc Version: 2019.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A collection of tools, libraries, and tests for Vulkan shader compilation License: ASL 2.0 @@ -140,6 +140,9 @@ ctest -V %changelog +* Fri Jul 26 2019 Fedora Release Engineering - 2019.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Mon Jun 10 00:18:18 CEST 2019 Robert-André Mauchin - 2019.0-1 - Release 2019.0