#1 Update to 2023.3 and tidy up the spec; Fixes: RHBZ#1997985
Merged a year ago by dcavalca. Opened a year ago by dcavalca.
rpms/ dcavalca/shaderc rawhide  into  rawhide

file modified
+1
@@ -12,3 +12,4 @@ 

  /shaderc-1701a27.tar.gz

  /shaderc-551f106.tar.gz

  /shaderc-d0b0222.tar.gz

+ /shaderc-2023.3.tar.gz

file removed
-223
@@ -1,223 +0,0 @@ 

- Revision history for Shaderc

- 

- v2020.1 2020-06-09

-  This is the last version that officially supports VS2013.

- 

-  - General:

-    - Added warning signs about unsupported downloads (#1041)

-    - Added .NET bindings to README.md (#1060)

-    - Only add -fPIC if supported by the compiler. (#1061)

- 

-  - glslc, libshaderc:

-    - Removed Singleton pattern around access to glslang (#1059)

- 

-  - spvc:

-    - Added concept of comparison sampler to API (#1036)

-    - Added support for options.hlsl.nonwritable_uav_texture_as_srv (#1048)

-    - Support forcing storage buffers to be always declared as UAV. (#1076)

- 

- v2020.0 2020-03-06

-  - General:

-    - Getting spirv.hpp from SPIRV-Headers instead of not glslang (#992)

-    - Added clarification about status of artifacts in downloads.md (#1012)

- 

-  - glslc, libshaderc:

-    - Added support for new Glslang profile enum, EProfileCount (#973)

-    - Updated user documentation for -S in glslc (#978)

-    - Add documentation for Vulkan 1.2 and SPIR-V 1.5 (#980)

-    - Removed NV_EXTENSIONS conditionals (#1003)

-    - Added support for generating WebGPU SPIR-V to libshaderc (#1021)

-    - Rolled in all DEPS for provisional SPIR-V extensions for raytracing

- 

-  - spvc:

-    - Normalized API behaviour (#967)

-    - Added source_set target for libshaderc_spvc (#976)

-    - Added in support for spvc logging to the terminal (#981)

-    - Internal refactoring to reduce boiler plate in API implementations (#984)

-    - Added newline to logging messages to make them readable (#985)

-    - Added reflection support for Dawn:

-      - storage textures (#1001)

-      - storage texture format (#1005)

-      - texture dimension for storage textures (#1008)

-      - is storage texture declared as multisampled texture (#1011)

-    - Converted compile options to require explicit environments (#1019)

-    - Added knob to control force_zero_initialized_variables in SPIRV-Cross (#1028)

- 

- v2019.1 2020-01-22

-  - glslc, libshaderc:

-    - Add -fnan-clamp: Generate code for max and min builtins so that,

-      given a NaN operand, will return the other operand. Similarly, the

-      clamp builtin favours non-NaN operands, as if clamp was implemented

-      as the composition of max and min.

-    - Add -finvert-y

-    - Using SetBeforeHlslLegalization for more relaxed validation rules

-    - Added support for SPIR-V 1.5

-    - Add --emit-line-directive option

-    - Added support for Vulkan 1.2

-  - spvc:

-    - Add many options:

- 	--flatten-multidimensional-arrays

- 	--es

- 	--no-es

- 	--glsl-emit-push-constant-as-ubo

- 	--msl-swizzle-texture-samples

- 	--msl-platform=ios|macos

- 	--msl-pad-fragment-output

- 	--msl-capture-output

- 	--msl-domain-lower-left

- 	--msl-argument-buffers

- 	--msl-discrete-descriptor-set=<number>

- 	--hlsl-enable-compat

-    - Reintroduce shaderc_spvc_compile_options_set_shader_model

-    - Added option to inject robust buffer access code

-    - Added support for emitting ToVulkan shaders

-    - Added spirv-opt based IR generation as alternative to built in spirv_cross IR gen

-    - Added API for specifying source and target execution environments

-    - Added option & reflection API methods neede by Dawn

-    - Substantial internal refactoring and code cleanup

-    - Large number of breaking changes to the API

-       -  Replaced shaderc_spvc_compile_options_set_shader_model with

-          shaderc_spvc_compile_options_set_hlsl_shader_model

-       - Compiler initialization and shader generation moved into seperate calls

-       - Seperated return codes from shaderc ones

-       - Many small API changes

-    - Improvements to testing

-       - Refactoring and clean up of run_spirv_cross_tests.py

-       - Seperation of expectations into known failures, known invalids, and cases

-         that need investigation

-       - Tweaks and fixes to substantially increase passing cases

-       - Added support for running tests using spvc IR generation

-    - Infrastructure

-    - Update DEPS with cross-verified commits from associated repos.

-    - Add utils/roll-deps

-  - Infrastructure:

-    - Removed Appveyor artifacts link

-    - Improvements and clean up of DEPS rolling scripts

-    - Enabled warnings about implicit fallthrough

-    - Enabled improper semicolon warnings

-    - Restricted -fPIC to platforms that support it

-    - Converted remaining scripts to use Python 3

-    - Replaced nosetest with unittest

-    - Removed assumptions aabout location of spirv-tools, effcee, and RE2

-    - Migrated BUILD.gn spirv_cross dependency to local repo

-  - Fixes:

-    - Fix duplicate install paths when using VisualStudio

-    - Fixed BUILD.gn for Chromium, Dawn & Fuchsia

-    - Explicitly enabled HLSL support in glslang

-    - Added installing necessary headers in Android.mk

-    - Removed unsupported Unicode characters

-    - Fixed detection of spirv-headers directory

-    #666: Update Docker file to use Python3

- 

- v2019.0 2019-06-04

-  - Add optional spvc, libshaderc_spvc as wrapper around SPIRV-Cross:

-    - Rejects bad modules by running the SPIR-V validator first

-    - Skips exception-heavy SPIRV-Cross SPIR-V parser

-  - Support NV extensions for shader stages

-  - Require SPIRV-Tools and SPIRV-Headers with SPIR-V 1.4 support

-  Build support:

-  - Use KhronosGroup/glslang instead of google/glslang

-  - Stop running tests on VS 2013 (googletest no longer supports VS2013)

-  - Require Python3 for building

-  - Support Chromium's GN build system

-  - Kokoro build fixes

-  - Cmake build fixes: Only build subdirs if those targets are not yet defined

-  - Use Android.mk from Glslang

-  - Dockerfile gets re2 and effcee sources

-  - Fixes for newer googletest

-  - Add address sanitizer presubmit bot

-  - Generate config files for pkg-config

-  Spvc:

-  - Add option to specify source environment.  Spvc will transform from source

-    to target environment if they are different.  This only works for WebGPU0

-    and Vulkan 1.1.

-  Fixes:

-   #499: In HLSL compilation, relax layout and logical pointer validation rules

-    prior to running the legalization recipe.

- 

- v2018.0 2018-10-01

-  - Support -fhlsl_functionality1 (also -fhlsl-functionality1)

-  - Support NVIDIA Turing extensions. Requires updated Glslang and SPIRV-Tools.

-  - Use SPIR-V optimization and HLSL legalization recipes from SPIRV-Tools.

-    - Pass target environment into SPIRV-Tools code, e.g. from --target-env vulkan1.1

-  - Add SONAME=1 property to shared library

-  - Support GN build for Chromium

-  Fixes:

-   #469: Add virtual dtor to classes with virtual functions.

-   #457: Fix writing SPIR-V binaries to standard output on Windows.

- 

- v2017.2 2018-02-27

-  - Add a shared library version of libshaderc

-  - Support GLSL 4.6 and ESSL 3.2

-  - Fail compilation if a resource does not have a binding.

-  - Add options for automatically setting bindings for (uniform) resources that

-    don't have bindings set in shader source.

-  - Add options for automatically setting locations for pipline inputs and outputs.

-  - Add option for using HLSL IO mappings as expressed in source.

-  - Add options for setting resource binding base numbers.

-  - Add option to use HLSL resource register numbers for bindings.

-  - HLSL compilation now defaults to HLSL packing rules.

-    (This change is inherited from Glslang commit 7cca140.)

-  - HLSL compilation runs SPIR-V "legalization" transforms to reduce

-    manipulation of opaque handles (e.g. images), to satisfy Vulkan rules.

-  - Adapt to Glslang generator version numbers:

-    - To 2: a fix for code generation for atomicCounterDecrement.

-    - To 3: change memory barrier semantics masks

-    - To 4: generate more access chains for swizzles

-  - CMake install rules uses GNUInstallDirs.  For example, install to lib64

-    when that is the norm for the target system.

- 

- v2017.1 2017-03-10

-  - Add option to automatically assign bindings to uniform variables

-    that don't have an explicit 'binding' layout in the shader source.

-  - Enable NVIDIA extensions by default in GLSL compilation

-  - README mentions language bindings provided by 3rd parties.

-  - README describes the known-good branch on GitHub

-  - Fixed examples in shaderc.h; added C API use to examples/online-compile

-  - Fixes issues:

-    #289: Don't output an object file when compilation fails.

-    #296: Enable use of the CMake in Android Studio.

- 

- v2016.2 2016-12-13

-  - Describe Shaderc's level of stability.

-  - Support HLSL compilation, exposing functionality in Glslang.

-    - Supported in C, C++ API

-    - glslc accepts "-x hlsl", and assumes .hlsl files are HLSL.

-    - glslc accepts "-fentry-point=<name>" to set entry point name,

-      overriding default value "main".

-  - Support setting shader resource limits in C, C++ APIs, and in

-    glslc

-    - glslc adds -flimit=<setting>

-    - glslc adds --show-limits to display defaults and valid resource

-      limit syntax.

-    - glslc adds "-flimit-file <file>" support to read Glslang resource

-      configuration files, i.e. the output of "glslangValidator -c".

-  - Enable AMD extensions by default in GLSL compilation

-  - Fixes issues:

-    #281: Work around Android build issue with abspath on Windows

-    #283: Increase default maxDrawBuffers to 4, to match Vulkan/GLES3.0

- 

- v2016.1 2016-10-12

-  - C API for assembling now takes an options object

-  - Support compilation options to optimize for size.

-  - Maintain compatibility with recent SPIRV-Tools and Glslang versions.

-  - Update examples.

-  - Build cleanups.

-  - Fixes issues:

-    #238: Fix invocation of python scripts during build

- 

- v2016.0 2016-07-07

- 

-  - Adds v<year>.<index> versioning, with "-dev" suffix to indicate work in

-    progress. The intent is to summarize and report functionalities more easily

-    for incorporating into downstream projects.

- 

-  - Summary of functionalities (See the README.md for more details):

-    - Provides libraries and command line tools for generating SPIR-V modules

-    - Supports GLSL source code or SPIR-V assembly as input

-    - Supports SPIR-V binary or assembly text as output

-    - Command line options follow GCC/Clang conventions

-    - Supports various semantics (OpenGL, OpenGL Compatible and Vulkan)

-    - Supports #include

-    - Supports user-defined macros

-    - Supports dependency information dumping

file modified
+20 -26
@@ -1,33 +1,27 @@ 

- # Force out of source build

- %undefine __cmake_in_source_build

- 

- # Release 2023.1

- %global commit          d0b02222f33e1e5e1f521e4e4e1cbfa7fe2cf540

- %global shortcommit     %(c=%{commit}; echo ${c:0:7})

- %global snapshotdate    20230116

- 

  # Glslang revision from packaged version

  %global glslang_version ca8d07d0bc1c6390b83915700439fa7719de6a2a

  

  Name:           shaderc

- Version:        2023.1

+ Version:        2023.3

  Release:        %autorelease

- Summary:        A collection of tools, libraries, and tests for Vulkan shader compilation

+ Summary:        Collection of tools, libraries, and tests for Vulkan shader compilation

  

  License:        Apache-2.0

  URL:            https://github.com/google/shaderc

- Source0:        %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz

+ Source:         %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

  # Patch to unbundle 3rd party code

- Patch1:         0001-Drop-third-party-code-in-CMakeLists.txt.patch

- Patch2:         glslang_linker_flags.patch

+ Patch:          0001-Drop-third-party-code-in-CMakeLists.txt.patch

+ Patch:          glslang_linker_flags.patch

  

- BuildRequires:  cmake3

+ BuildRequires:  cmake

  BuildRequires:  gcc-c++

  BuildRequires:  ninja-build

- BuildRequires:  python3-devel

+ BuildRequires:  sed

+ BuildRequires:  spirv-tools

+ 

  BuildRequires:  glslang-devel

+ BuildRequires:  python3-devel

  BuildRequires:  spirv-headers-devel

- BuildRequires:  spirv-tools

  BuildRequires:  spirv-tools-devel

  

  %description
@@ -71,9 +65,9 @@ 

  Static libraries for libshaderc.

  

  %prep

- %autosetup -p1 -n %{name}-%{commit}

+ %autosetup -p1

  

- rm -rf third_party

+ rm -r third_party

  

  # Stolen from Gentoo

  # Create build-version.inc since we want to use our packaged
@@ -91,18 +85,18 @@ 

  %build

  # 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

- %cmake3_build

+ %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \

+        -DCMAKE_SKIP_RPATH=True \

+        -DSHADERC_SKIP_TESTS=True \

+        -DPYTHON_EXE=%{python3} \

+        -GNinja

+ %cmake_build

  

  %install

- %cmake3_install

+ %cmake_install

  

  %check

- %ctest3

+ %ctest

  

  %files -n glslc

  %doc glslc/README.asciidoc

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (shaderc-d0b0222.tar.gz) = e9d91ca0ffdd66df457ad8f288f34bd0b3aa5b76e66320f0c38cb867db4cc0bc4419fe82b99826df116dd8398d6da39867dcac9c32c68596b09782faad120eab

+ SHA512 (shaderc-2023.3.tar.gz) = c6422383318b5d4d341e5b4215489ba03590aeff65fd03fb0b57aab8689c9002444f520a4017485645291777ee442979d22db52d843e66d4d672da2810b20e36

no initial comment

Pull-Request has been merged by dcavalca

a year ago