Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package shaderc for openSUSE:Factory checked in at 2023-06-03 00:05:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/shaderc (Old) and /work/SRC/openSUSE:Factory/.shaderc.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shaderc" Sat Jun 3 00:05:20 2023 rev:22 rq:1089887 version:2023.4 Changes: -------- --- /work/SRC/openSUSE:Factory/shaderc/shaderc.changes 2023-03-30 22:50:50.768439650 +0200 +++ /work/SRC/openSUSE:Factory/.shaderc.new.15902/shaderc.changes 2023-06-03 00:05:21.273326732 +0200 @@ -1,0 +2,7 @@ +Mon May 29 12:51:28 UTC 2023 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 2023.4 + * Add option to preserve bindings + * Add options to control mesh shading limits + +------------------------------------------------------------------- Old: ---- v2023.2.tar.gz New: ---- v2023.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ shaderc.spec ++++++ --- /var/tmp/diff_new_pack.Ta4AuU/_old 2023-06-03 00:05:22.065331409 +0200 +++ /var/tmp/diff_new_pack.Ta4AuU/_new 2023-06-03 00:05:22.069331433 +0200 @@ -19,7 +19,7 @@ # Remember to bump in baselibs.conf %define lname libshaderc_shared1 Name: shaderc -Version: 2023.2 +Version: 2023.4 Release: 0 Summary: A collection of tools, libraries and tests for shader compilation License: Apache-2.0 @@ -31,14 +31,14 @@ Patch1: 0001-Use-system-third-party-libs.patch BuildRequires: c++_compiler BuildRequires: cmake >= 2.8.12 -BuildRequires: glslang-devel >= 12 +BuildRequires: glslang-devel >= 12.2 BuildRequires: glslang-nonstd-devel -BuildRequires: spirv-headers >= 1.6.1~sdk239 -BuildRequires: spirv-tools-devel >= 2023.1 +BuildRequires: spirv-headers >= 1.6.1~sdk250 +BuildRequires: spirv-tools-devel >= 2023.3~rc1 %description A collection of tools, libraries and tests for shader compilation. -At the moment, included are: +Included are: * glslc, a command line compiler for GLSL/HLSL to SPIR-V, and * libshaderc, a library API for doing the same. ++++++ v2023.2.tar.gz -> v2023.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/Android.mk new/shaderc-2023.4/Android.mk --- old/shaderc-2023.2/Android.mk 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/Android.mk 2023-05-24 21:30:26.000000000 +0200 @@ -32,45 +32,38 @@ SHADERC_HEADERS_IN_OUT_DIR=$(foreach H,$(SHADERC_HEADERS),$(NDK_APP_LIBS_OUT)/../include/shaderc/$(H)) define gen_libshaderc_header +$(call generate-file-dir,$(NDK_APP_LIBS_OUT)/../include/shaderc/$(1)) $(NDK_APP_LIBS_OUT)/../include/shaderc/$(1) : \ $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/$(1) - $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/$(1) \ ,$(NDK_APP_LIBS_OUT)/../include/shaderc/$(1)) endef +# Generate headers +$(eval $(foreach H,$(SHADERC_HEADERS),$(call gen_libshaderc_header,$(H)))) +libshaderc_headers: $(SHADERC_HEADERS_IN_OUT_DIR) +.PHONY: libshaderc_headers -define gen_libshaderc -$(1)/combine.ar: $(addprefix $(1)/, $(ALL_LIBS)) - @echo "create libshaderc_combined.a" > $(1)/combine.ar - $(foreach lib,$(ALL_LIBS), - @echo "addlib $(lib)" >> $(1)/combine.ar - ) - @echo "save" >> $(1)/combine.ar - @echo "end" >> $(1)/combine.ar +# Rules for combining library files to form a single libshader_combined.a. +# It always goes into $(TARGET_OUT) +$(call generate-file-dir,$(TARGET_OUT)/combine.ar) +$(TARGET_OUT)/combine.ar: $(TARGET_OUT) $(addprefix $(TARGET_OUT)/, $(ALL_LIBS)) + $(file >$(TARGET_OUT)/combine.ar,create libshaderc_combined.a) + $(foreach lib,$(ALL_LIBS),$(file >>$(TARGET_OUT)/combine.ar,addlib $(lib))) + $(file >>$(TARGET_OUT)/combine.ar,save) + $(file >>$(TARGET_OUT)/combine.ar,end) -$(1)/libshaderc_combined.a: $(addprefix $(1)/, $(ALL_LIBS)) $(1)/combine.ar +$(TARGET_OUT)/libshaderc_combined.a: $(addprefix $(TARGET_OUT)/, $(ALL_LIBS)) $(TARGET_OUT)/combine.ar @echo "[$(TARGET_ARCH_ABI)] Combine: libshaderc_combined.a <= $(ALL_LIBS)" - @cd $(1) && $(TARGET_AR) -M < combine.ar && cd $(ROOT_SHADERC_PATH) - @$(TARGET_STRIP) --strip-debug $(1)/libshaderc_combined.a + @cd $(TARGET_OUT) && $(TARGET_AR) -M < combine.ar && cd $(ROOT_SHADERC_PATH) + @$(TARGET_STRIP) --strip-debug $(TARGET_OUT)/libshaderc_combined.a +$(call generate-file-dir,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a) $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a: \ - $(1)/libshaderc_combined.a - $(call host-mkdir,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)) - $(call host-cp,$(1)/libshaderc_combined.a \ + $(TARGET_OUT)/libshaderc_combined.a + $(call host-cp,$(TARGET_OUT)/libshaderc_combined.a \ ,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a) -ifndef HEADER_TARGET -HEADER_TARGET=1 -$(eval $(foreach H,$(SHADERC_HEADERS),$(call gen_libshaderc_header,$(H)))) -endif - -libshaderc_combined: \ +libshaderc_combined: libshaderc_headers \ $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a - -endef - -libshaderc_combined: $(SHADERC_HEADERS_IN_OUT_DIR) - -$(eval $(call gen_libshaderc,$(TARGET_OUT))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/CHANGES new/shaderc-2023.4/CHANGES --- old/shaderc-2023.2/CHANGES 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/CHANGES 2023-05-24 21:30:26.000000000 +0200 @@ -1,5 +1,20 @@ Revision history for Shaderc +v2023.4 2022-05-24 + - Refresh Glslang, SPIRV-Tools, SPIRV-Headers + - Android.mk: + - Require NDK 21d or later + - Update scripts for generating the shared library, which + should fix Windows + - glslc and APIs: + - Add options to control mesh shading limits + +v2023.3 2022-03-17 + - Shaderc now requires C++17 + - Drop support for VS 2015 + - Add glslc option -fpreserve-bindings + - Refresh Glslang, SPIRV-Tools + v2023.2 2022-01-18 - Update DEPS to pull in SPIRV-Tools bugfix #5049 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/CMakeLists.txt new/shaderc-2023.4/CMakeLists.txt --- old/shaderc-2023.2/CMakeLists.txt 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/CMakeLists.txt 2023-05-24 21:30:26.000000000 +0200 @@ -68,7 +68,7 @@ option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON) -set (CMAKE_CXX_STANDARD 11) +set (CMAKE_CXX_STANDARD 17) include(GNUInstallDirs) include(cmake/setup_build.cmake) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/DEPS new/shaderc-2023.4/DEPS --- old/shaderc-2023.2/DEPS 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/DEPS 2023-05-24 21:30:26.000000000 +0200 @@ -4,12 +4,12 @@ 'google_git': 'https://github.com/google', 'khronos_git': 'https://github.com/KhronosGroup', - 'effcee_revision' : '35912e1b7778ec2ddcff7e7188177761539e59', - 'glslang_revision': '1fb2f1d7896627d62a289439a2c3e750e551a7ab', - 'googletest_revision': 'd9bb8412d60b993365abb53f00b6dad9b2c01b62', - 're2_revision': '954656f47fe8fb505d4818da1e128417a79ea500', - 'spirv_headers_revision': 'd13b52222c39a7e9a401b44646f0ca3a640fbd47', - 'spirv_tools_revision': '63de608daeb7e91fbea6d7477a50debe7cac57ce', + 'effcee_revision' : '66edefd2bb641de8a2f46b476de21f227fc03a28', + 'glslang_revision': '9fbc561947f6b5275289a1985676fb7267273e09', + 'googletest_revision': 'd9c309fdab807b716c2cf4d4a42989b8c34f712a', + 're2_revision': '3a8436ac436124a57a4e22d5c8713a2d42b381d7', + 'spirv_headers_revision': 'bdbfd019be6952fd8fa9bd5606a8798a7530c853', + 'spirv_tools_revision': 'e7c6084fd1d6d6f5ac393e842728d8be309688ca', } deps = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/README.md new/shaderc-2023.4/README.md --- old/shaderc-2023.2/README.md 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/README.md 2023-05-24 21:30:26.000000000 +0200 @@ -42,7 +42,7 @@ [Android NDK](https://developer.android.com/ndk/index.html) since version r12b. (The NDK build uses sources from https://android.googlesource.com/platform/external/shaderc/. Those repos are downstream from GitHub.) -We currently require r18b. +We currently require r21d. For licensing terms, please see the [`LICENSE`](LICENSE) file. If interested in contributing to this project, please see [`CONTRIBUTING.md`](CONTRIBUTING.md). @@ -172,7 +172,7 @@ On Windows, the following tools should be installed and available on your path: -- Visual Studio 2015 or later. Previous versions of Visual Studio may work but +- Visual Studio 2017 or later. Previous versions of Visual Studio may work but are untested and unsupported. - Git - including the associated tools, Bash, `diff`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/downloads.md new/shaderc-2023.4/downloads.md --- old/shaderc-2023.2/downloads.md 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/downloads.md 2023-05-24 21:30:26.000000000 +0200 @@ -7,11 +7,11 @@ ## Release | Windows | Linux | MacOS | | --- | --- | --- | -| [MSVC 2017](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2017_release.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_linux_clang_release.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_macos_clang_release.html) | -| [MSVC 2015](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2015_release.html) | [gcc](https://storage.googleapis.com/shaderc/badges/build_link_linux_gcc_release.html) | | +| [MSVC 2019](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2019_release.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_linux_clang_release.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_macos_clang_release.html) | +| [MSVC 2017](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2017_release.html) | [gcc](https://storage.googleapis.com/shaderc/badges/build_link_linux_gcc_release.html) | | ## Debug | Windows | Linux | MacOS | | --- | --- | --- | -| [MSVC 2017](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2017_debug.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_linux_clang_debug.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_macos_clang_debug.html) | -| | [gcc](https://storage.googleapis.com/shaderc/badges/build_link_linux_gcc_debug.html) | | +| [MSVC 2019](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2019_debug.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_linux_clang_debug.html) | [clang](https://storage.googleapis.com/shaderc/badges/build_link_macos_clang_debug.html) | +| [MSVC 2017](https://storage.googleapis.com/shaderc/badges/build_link_windows_vs2017_debug.html) | [gcc](https://storage.googleapis.com/shaderc/badges/build_link_linux_gcc_debug.html) | | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/glslc/README.asciidoc new/shaderc-2023.4/glslc/README.asciidoc --- old/shaderc-2023.2/glslc/README.asciidoc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/glslc/README.asciidoc 2023-05-24 21:30:26.000000000 +0200 @@ -437,6 +437,13 @@ } ---- +[[option-fpreserve-bindings +==== `-fpreserve-bindings` + +Directs the optimizer to preserve bindings declarations, even when those +bindings are known to be unused. + + === Warning and Error Options ==== `-w` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/glslc/src/main.cc new/shaderc-2023.4/glslc/src/main.cc --- old/shaderc-2023.2/glslc/src/main.cc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/glslc/src/main.cc 2023-05-24 21:30:26.000000000 +0200 @@ -87,6 +87,9 @@ a NaN operand, the other operand is returned. Similarly, the clamp builtin will favour the non-NaN operands, as if clamp were implemented as a composition of max and min. + -fpreserve-bindings + Preserve all binding declarations, even if those bindings + are not used. -fresource-set-binding [stage] <reg0> <set0> <binding0> [<reg1> <set1> <binding1>...] Explicitly sets the descriptor set and binding for @@ -330,6 +333,8 @@ compiler.options().SetInvertY(true); } else if (arg == "-fnan-clamp") { compiler.options().SetNanClamp(true); + } else if (arg.starts_with("-fpreserve-bindings")) { + compiler.options().SetPreserveBindings(true); } else if (((u_kind = shaderc_uniform_kind_image), (arg == "-fimage-binding-base")) || ((u_kind = shaderc_uniform_kind_texture), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/glslc/test/option_flimit.py new/shaderc-2023.4/glslc/test/option_flimit.py --- old/shaderc-2023.2/glslc/test/option_flimit.py 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/glslc/test/option_flimit.py 2023-05-24 21:30:26.000000000 +0200 @@ -31,7 +31,6 @@ return FileShader(shader_source_with_tex_offset(offset), ".vert") - @inside_glslc_testsuite('OptionFLimit') class TestFLimitNoEqual(expect.ErrorMessage): """Tests -flimit without equal.""" @@ -134,3 +133,246 @@ environment = Directory('.', [limits_file, shader]) glslc_args = ['-c', shader.name, '-flimit-file', limits_file.name] expected_error = 'glslc: error: -flimit-file error: invalid resource limit: thisIsBad\n' + +## Mesh shading + +def mesh_shader_with_params(kwargs): + """Returns a mesh shader as a FileShader, with given parameters""" + import sys + + source = """#version 450 +#extension {} : enable + layout(local_size_x={}) in; + layout(local_size_y={}) in; + layout(local_size_z={}) in; + layout(triangles) out; + layout(max_vertices={}) out; + layout(max_primitives={}) out; + layout(triangles) out; + void main() {{ }} + """.format(kwargs['extension'],kwargs['x'],kwargs['y'],kwargs['z'],kwargs['max_vert'],kwargs['max_prim']) + return FileShader(source,".mesh") + +def task_shader_with_params(kwargs): + """Returns a task shader as a FileShader, with given parameters""" + import sys + + source = """#version 450 +#extension {} : enable + layout(local_size_x={}) in; + layout(local_size_y={}) in; + layout(local_size_z={}) in; + void main() {{ }} + """.format(kwargs['extension'],kwargs['x'],kwargs['y'],kwargs['z']) + return FileShader(source,".task") + + +def meshDefaults(nv_or_ext,show=False): + result = dict({ + # See Glslang's glslang/ResourceLimits/ResourceLimits.cpp + 'nv': { 'extension': 'GL_NV_mesh_shader', 'x': 32, 'y': 1, 'z': 1, 'max_vert': 256, 'max_prim': 512 }, + 'ext': { 'extension': 'GL_EXT_mesh_shader', 'x': 128, 'y': 128, 'z': 128, 'max_vert': 256, 'max_prim': 256 } + })[nv_or_ext] + if show: + import sys + print(result,file=sys.stderr) + return result + +## GL_NV_mesh_shader + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_X_ok(expect.ValidObjectFile): + shader = mesh_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeX_NV 32'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_X_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('nv')) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeX_NV 31'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_Y_ok(expect.ValidObjectFile): + shader = mesh_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeY_NV 1'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_Y_bad(expect.ErrorMessageSubstr): + d = meshDefaults('nv') + d['y'] = 3 + shader = mesh_shader_with_params(d) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeY_NV 2'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_Z_ok(expect.ValidObjectFile): + shader = mesh_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeZ_NV 1'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_Z_bad(expect.ErrorMessageSubstr): + d = meshDefaults('nv') + d['z'] = 3 + shader = mesh_shader_with_params(d) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeZ_NV 2'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_MaxVert_ok(expect.ValidObjectFile): + shader = mesh_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputVerticesNV 256'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_MaxVert_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('nv')) + expected_error_substr = "'max_vertices' : too large, must be less than gl_MaxMeshOutputVerticesNV" + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputVerticesNV 255'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_MaxPrim_ok(expect.ValidObjectFile): + shader = mesh_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputPrimitivesNV 512'] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_NV_MaxPrim_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('nv')) + expected_error_substr = "'max_primitives' : too large, must be less than gl_MaxMeshOutputPrimitivesNV" + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputPrimitivesNV 511'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_X_ok(expect.ValidObjectFile): + shader = task_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeX_NV 32'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_X_bad(expect.ErrorMessageSubstr): + shader = task_shader_with_params(meshDefaults('nv')) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeX_NV 31'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_Y_ok(expect.ValidObjectFile): + shader = task_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeY_NV 1'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_Y_bad(expect.ErrorMessageSubstr): + d = meshDefaults('nv') + d['y'] = 3 + shader = task_shader_with_params(d) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeY_NV 2'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_Z_ok(expect.ValidObjectFile): + shader = task_shader_with_params(meshDefaults('nv')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeZ_NV 1'] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_NV_Z_bad(expect.ErrorMessageSubstr): + d = meshDefaults('nv') + d['z'] = 3 + shader = task_shader_with_params(d) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeNV" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeZ_NV 2'] + +# TODO: Test MaxMeshViewCountNV + + +## GL_EXT_mesh_shader +## It requires SPIR-V 1.4 + +s14 = '--target-spv=spv1.4' + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_X_ok(expect.ValidObjectFile1_4): + shader = mesh_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeX_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_X_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeX_EXT 127', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_Y_ok(expect.ValidObjectFile1_4): + shader = mesh_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeY_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_Y_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeY_EXT 127', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_Z_ok(expect.ValidObjectFile1_4): + shader = mesh_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeZ_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_Z_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'local_size' : too large, see gl_MaxMeshWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxMeshWorkGroupSizeZ_EXT 127', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_MaxVert_ok(expect.ValidObjectFile1_4): + shader = mesh_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputVerticesEXT 256', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_MaxVert_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'max_vertices' : too large, must be less than gl_MaxMeshOutputVerticesEXT" + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputVerticesEXT 255', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_MaxPrim_ok(expect.ValidObjectFile1_4): + shader = mesh_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputPrimitivesEXT 256', s14] + +@inside_glslc_testsuite('OptionFLimit_Mesh') +class TestFLimitMeshShader_EXT_MaxPrim_bad(expect.ErrorMessageSubstr): + shader = mesh_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'max_primitives' : too large, must be less than gl_MaxMeshOutputPrimitivesEXT" + glslc_args = ['-c', shader, '-flimit= MaxMeshOutputPrimitivesEXT 255', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_X_ok(expect.ValidObjectFile1_4): + shader = task_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeX_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_X_bad(expect.ErrorMessageSubstr): + shader = task_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeX_EXT 127', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_Y_ok(expect.ValidObjectFile1_4): + shader = task_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeY_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_Y_bad(expect.ErrorMessageSubstr): + import sys + d = meshDefaults('ext',True) + print("TaskShader_EXT_Y_bad {}".format(str(d)),file=sys.stderr) + shader = task_shader_with_params(meshDefaults('ext',True)) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeY_EXT 127', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_Z_ok(expect.ValidObjectFile1_4): + shader = task_shader_with_params(meshDefaults('ext')) + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeZ_EXT 128', s14] + +@inside_glslc_testsuite('OptionFLimit_Task') +class TestFLimitTaskShader_EXT_Z_bad(expect.ErrorMessageSubstr): + shader = task_shader_with_params(meshDefaults('ext')) + expected_error_substr = "'local_size' : too large, see gl_MaxTaskWorkGroupSizeEXT" + glslc_args = ['-c', shader, '-flimit= MaxTaskWorkGroupSizeZ_EXT 127', s14] + +# TODO: Test MaxMeshViewCountEXT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/glslc/test/option_fpreserve_bindings.py new/shaderc-2023.4/glslc/test/option_fpreserve_bindings.py --- old/shaderc-2023.2/glslc/test/option_fpreserve_bindings.py 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/glslc/test/option_fpreserve_bindings.py 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,70 @@ +# Copyright 2023 The Shaderc Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import expect +from glslc_test_framework import inside_glslc_testsuite +from placeholder import FileShader + +# A GLSL shader with unused bindings. +GLSL_SHADER_WITH_UNUSED_BINDINGS = """#version 450 + layout(binding=0) buffer InputA { vec4 x[]; } inputA; + layout(binding=1) buffer InputB { vec4 x[]; } inputB; + layout(binding=2) buffer Output { vec4 x[]; } outputO; + + void main() {} + """ + + +@inside_glslc_testsuite('OptionFPreserveBindings') +class TestFPreserveBindingsInputA(expect.ValidAssemblyFileWithSubstr): + """Tests that the compiler preserves bindings when optimizations are + enabled.""" + + shader = FileShader(GLSL_SHADER_WITH_UNUSED_BINDINGS, '.comp') + glslc_args = ['-S', '-O', shader, '-fpreserve-bindings'] + # Check the first buffer. + expected_assembly_substr = "Binding 0" + + +@inside_glslc_testsuite('OptionFPreserveBindings') +class TestFPreserveBindingsInputB(expect.ValidAssemblyFileWithSubstr): + """Tests that the compiler preserves bindings when optimizations are + enabled.""" + + shader = FileShader(GLSL_SHADER_WITH_UNUSED_BINDINGS, '.comp') + glslc_args = ['-S', '-O', shader, '-fpreserve-bindings'] + # Check the first buffer. + expected_assembly_substr = "Binding 1" + + +@inside_glslc_testsuite('OptionFPreserveBindings') +class TestFPreserveBindingsOutputO(expect.ValidAssemblyFileWithSubstr): + """Tests that the compiler preserves bindings when optimizations are + enabled.""" + + shader = FileShader(GLSL_SHADER_WITH_UNUSED_BINDINGS, '.comp') + glslc_args = ['-S', '-O', shader, '-fpreserve-bindings'] + # Check the first buffer. + expected_assembly_substr = "Binding 2" + + +@inside_glslc_testsuite('OptionFPreserveBindings') +class TestFNoPreserveBindings(expect.ValidAssemblyFileWithoutSubstr): + """Tests that the compiler removes bindings when -fpreserve-bindings is not + set.""" + + shader = FileShader(GLSL_SHADER_WITH_UNUSED_BINDINGS, '.comp') + glslc_args = ['-S', '-O', shader] + # Check that all binding decorations are gone. + unexpected_assembly_substr = "OpDecorate" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/glslc/test/parameter_tests.py new/shaderc-2023.4/glslc/test/parameter_tests.py --- old/shaderc-2023.2/glslc/test/parameter_tests.py 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/glslc/test/parameter_tests.py 2023-05-24 21:30:26.000000000 +0200 @@ -91,6 +91,9 @@ a NaN operand, the other operand is returned. Similarly, the clamp builtin will favour the non-NaN operands, as if clamp were implemented as a composition of max and min. + -fpreserve-bindings + Preserve all binding declarations, even if those bindings + are not used. -fresource-set-binding [stage] <reg0> <set0> <binding0> [<reg1> <set1> <binding1>...] Explicitly sets the descriptor set and binding for @@ -365,4 +368,23 @@ MaxCullDistances 8 MaxCombinedClipAndCullDistances 8 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 +MaxMeshOutputVerticesEXT 256 +MaxMeshOutputPrimitivesEXT 256 +MaxMeshWorkGroupSizeX_EXT 128 +MaxMeshWorkGroupSizeY_EXT 128 +MaxMeshWorkGroupSizeZ_EXT 128 +MaxTaskWorkGroupSizeX_EXT 128 +MaxTaskWorkGroupSizeY_EXT 128 +MaxTaskWorkGroupSizeZ_EXT 128 +MaxMeshViewCountEXT 4 +MaxDualSourceDrawBuffersEXT 1 """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/linux/build-docker.sh new/shaderc-2023.4/kokoro/linux/build-docker.sh --- old/shaderc-2023.2/kokoro/linux/build-docker.sh 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/linux/build-docker.sh 2023-05-24 21:30:26.000000000 +0200 @@ -66,7 +66,7 @@ # Invoke the build. BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT} echo $(date): Starting build... -cmake -GNinja -DCMAKE_INSTALL_PREFIX=$KOKORO_ARTIFACTS_DIR/install -DSHADERC_ENABLE_SPVC=ON -DRE2_BUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=$BUILD_TYPE $ADDITIONAL_CMAKE_FLAGS .. +cmake -GNinja -DCMAKE_INSTALL_PREFIX=$KOKORO_ARTIFACTS_DIR/install -DRE2_BUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=$BUILD_TYPE $ADDITIONAL_CMAKE_FLAGS .. echo $(date): Build glslang... ninja glslangValidator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/macos/build.sh new/shaderc-2023.4/kokoro/macos/build.sh --- old/shaderc-2023.2/kokoro/macos/build.sh 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/macos/build.sh 2023-05-24 21:30:26.000000000 +0200 @@ -40,7 +40,7 @@ # Invoke the build. BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT} echo $(date): Starting build... -cmake -GNinja -DCMAKE_INSTALL_PREFIX=$KOKORO_ARTIFACTS_DIR/install -DSHADERC_ENABLE_SPVC=ON -DRE2_BUILD_TESTING=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=$BUILD_TYPE .. +cmake -GNinja -DCMAKE_INSTALL_PREFIX=$KOKORO_ARTIFACTS_DIR/install -DRE2_BUILD_TESTING=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=$BUILD_TYPE .. echo $(date): Build glslang... ninja glslangValidator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/ndk-build/build-docker.sh new/shaderc-2023.4/kokoro/ndk-build/build-docker.sh --- old/shaderc-2023.2/kokoro/ndk-build/build-docker.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/ndk-build/build-docker.sh 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,66 @@ +#!/bin/bash +# Copyright (c) 2018 Google LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Linux Build Script. + +# Fail on any error. +set -e +# Display commands being run. +set -x + +# This is required to run any git command in the docker since owner will +# have changed between the clone environment, and the docker container. +# Marking the root of the repo as safe for ownership changes. +git config --global --add safe.directory $ROOT_DIR + +. /bin/using.sh # Declare the bash `using` function for configuring toolchains. + +cd $ROOT_DIR + +function clean_dir() { + dir=$1 + if [[ -d "$dir" ]]; then + rm -fr "$dir" + fi + mkdir "$dir" +} + +# Get source for dependencies, as specified in the DEPS file +/usr/bin/python3 utils/git-sync-deps --treeless + +using ndk-r21d + +clean_dir "$ROOT_DIR/build" +cd "$ROOT_DIR/build" + +function do_ndk_build () { + echo $(date): Starting ndk-build $@... + $ANDROID_NDK_HOME/ndk-build \ + -C $ROOT_DIR/android_test \ + NDK_PROJECT_PATH=. \ + NDK_LIBS_OUT=./libs \ + NDK_APP_OUT=./app \ + V=1 \ + SPVTOOLS_LOCAL_PATH=$ROOT_DIR/third_party/spirv-tools \ + SPVHEADERS_LOCAL_PATH=$ROOT_DIR/third_party/spirv-headers \ + -j8 $@ +} + +do_ndk_build + +# Check that libshaderc_combined builds +do_ndk_build libshaderc_combined + +echo $(date): ndk-build completed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/ndk-build/build.sh new/shaderc-2023.4/kokoro/ndk-build/build.sh --- old/shaderc-2023.2/kokoro/ndk-build/build.sh 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/ndk-build/build.sh 2023-05-24 21:30:26.000000000 +0200 @@ -1,6 +1,5 @@ #!/bin/bash - -# Copyright (C) 2017 Google Inc. +# Copyright (c) 2021 Google LLC. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,47 +17,40 @@ # Fail on any error. set -e -# Display commands being run. -set -x - -BUILD_ROOT=$PWD -SRC=$PWD/github/shaderc -# Get NINJA. -wget -q https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip -unzip -q ninja-linux.zip -export PATH="$PWD:$PATH" - -# Get Android NDK. -wget -q https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip -unzip -q android-ndk-r18b-linux-x86_64.zip -export ANDROID_NDK=$PWD/android-ndk-r18b - -# Get shaderc dependencies. -cd $SRC -./utils/git-sync-deps - -cd $SRC -mkdir build -cd $SRC/build +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" +ROOT_DIR="$( cd "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd )" -# Invoke the build. BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT} -function do_ndk_build () { - echo $(date): Starting ndk-build $@... - $ANDROID_NDK/ndk-build \ - -C $SRC/android_test \ - NDK_APP_OUT=`pwd` \ - V=1 \ - SPVTOOLS_LOCAL_PATH=$SRC/third_party/spirv-tools \ - SPVHEADERS_LOCAL_PATH=$SRC/third_party/spirv-headers \ - -j 8 $@ +# chown the given directory to the current user, if it exists. +# Docker creates files with the root user - this can upset the Kokoro artifact copier. +function chown_dir() { + dir=$1 + if [[ -d "$dir" ]]; then + sudo chown -R "$(id -u):$(id -g)" "$dir" + fi } -do_ndk_build - -# Check that libshaderc_combined builds -do_ndk_build libshaderc_combined +set +e +# Allow build failures -echo $(date): ndk-build completed. +# "--privileged" is required to run ptrace in the asan builds. +docker run --rm -i \ + --privileged \ + --volume "${ROOT_DIR}:${ROOT_DIR}" \ + --volume "${KOKORO_ARTIFACTS_DIR}:${KOKORO_ARTIFACTS_DIR}" \ + --workdir "${ROOT_DIR}" \ + --env SCRIPT_DIR=${SCRIPT_DIR} \ + --env ROOT_DIR=${ROOT_DIR} \ + --env KOKORO_ARTIFACTS_DIR="${KOKORO_ARTIFACTS_DIR}" \ + --env BUILD_SHA="${BUILD_SHA}" \ + --entrypoint "${SCRIPT_DIR}/build-docker.sh" \ + "gcr.io/shaderc-build/radial-build:latest" +RESULT=$? + +# This is important. If the permissions are not fixed, kokoro will fail +# to pull build artifacts, and put the build in tool-failure state, which +# blocks the logs. +chown_dir "${ROOT_DIR}/build" +exit $RESULT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/build.bat new/shaderc-2023.4/kokoro/windows/build.bat --- old/shaderc-2023.2/kokoro/windows/build.bat 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/build.bat 2023-05-24 21:30:26.000000000 +0200 @@ -35,12 +35,12 @@ :: ######################################### :: set up msvc build env :: ######################################### -if %VS_VERSION% == 2017 ( +if %VS_VERSION% == 2019 ( + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 + echo "Using VS 2019..." +) else if %VS_VERSION% == 2017 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 echo "Using VS 2017..." -) else if %VS_VERSION% == 2015 ( - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 - echo "Using VS 2015..." ) :: ######################################### @@ -53,7 +53,7 @@ set BUILD_SHA=%KOKORO_GITHUB_COMMIT% ) -set CMAKE_FLAGS=-DCMAKE_INSTALL_PREFIX=%KOKORO_ARTIFACTS_DIR%\install -DSHADERC_ENABLE_SPVC=ON -DRE2_BUILD_TESTING=OFF -GNinja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe +set CMAKE_FLAGS=-DCMAKE_INSTALL_PREFIX=%KOKORO_ARTIFACTS_DIR%\install -DRE2_BUILD_TESTING=OFF -GNinja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe cmake %CMAKE_FLAGS% .. if %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL% diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/build_debug_2019.bat new/shaderc-2023.4/kokoro/windows/build_debug_2019.bat --- old/shaderc-2023.2/kokoro/windows/build_debug_2019.bat 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/build_debug_2019.bat 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,23 @@ +:: Copyright (C) 2023 Google Inc. +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: +:: Windows Build Script. + +@echo on + +:: Find out the directory of the common build script. +set SCRIPT_DIR=%~dp0 + +:: Call with correct parameter +call %SCRIPT_DIR%\build.bat Debug 2019 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/build_release_2015.bat new/shaderc-2023.4/kokoro/windows/build_release_2015.bat --- old/shaderc-2023.2/kokoro/windows/build_release_2015.bat 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/build_release_2015.bat 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -:: Copyright (C) 2017 Google Inc. -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: -:: Windows Build Script. - -@echo on - -:: Find out the directory of the common build script. -set SCRIPT_DIR=%~dp0 - -:: Call with correct parameter -call %SCRIPT_DIR%\build.bat RelWithDebInfo 2015 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/build_release_2019.bat new/shaderc-2023.4/kokoro/windows/build_release_2019.bat --- old/shaderc-2023.2/kokoro/windows/build_release_2019.bat 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/build_release_2019.bat 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,23 @@ +:: Copyright (C) 2023 Google Inc. +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: +:: Windows Build Script. + +@echo on + +:: Find out the directory of the common build script. +set SCRIPT_DIR=%~dp0 + +:: Call with correct parameter +call %SCRIPT_DIR%\build.bat RelWithDebInfo 2019 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/continuous_debug_2019.cfg new/shaderc-2023.4/kokoro/windows/continuous_debug_2019.cfg --- old/shaderc-2023.2/kokoro/windows/continuous_debug_2019.cfg 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/continuous_debug_2019.cfg 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,22 @@ +# Copyright (C) 2023 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Continuous build configuration. +build_file: "shaderc/kokoro/windows/build_debug_2019.bat" + +action { + define_artifacts { + regex: "install.zip" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/continuous_release_2015.cfg new/shaderc-2023.4/kokoro/windows/continuous_release_2015.cfg --- old/shaderc-2023.2/kokoro/windows/continuous_release_2015.cfg 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/continuous_release_2015.cfg 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -# Copyright (C) 2017 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Continuous build configuration. -build_file: "shaderc/kokoro/windows/build_release_2015.bat" - -action { - define_artifacts { - regex: "install.zip" - } -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/continuous_release_2019.cfg new/shaderc-2023.4/kokoro/windows/continuous_release_2019.cfg --- old/shaderc-2023.2/kokoro/windows/continuous_release_2019.cfg 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/continuous_release_2019.cfg 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,22 @@ +# Copyright (C) 2023 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Continuous build configuration. +build_file: "shaderc/kokoro/windows/build_release_2019.bat" + +action { + define_artifacts { + regex: "install.zip" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/presubmit_debug_2019.cfg new/shaderc-2023.4/kokoro/windows/presubmit_debug_2019.cfg --- old/shaderc-2023.2/kokoro/windows/presubmit_debug_2019.cfg 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/presubmit_debug_2019.cfg 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,16 @@ +# Copyright (C) 2023 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Presubmit build configuration. +build_file: "shaderc/kokoro/windows/build_debug_2019.bat" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/presubmit_release_2015.cfg new/shaderc-2023.4/kokoro/windows/presubmit_release_2015.cfg --- old/shaderc-2023.2/kokoro/windows/presubmit_release_2015.cfg 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/presubmit_release_2015.cfg 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -# Copyright (C) 2017 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Presubmit build configuration. -build_file: "shaderc/kokoro/windows/build_release_2015.bat" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/kokoro/windows/presubmit_release_2019.cfg new/shaderc-2023.4/kokoro/windows/presubmit_release_2019.cfg --- old/shaderc-2023.2/kokoro/windows/presubmit_release_2019.cfg 1970-01-01 01:00:00.000000000 +0100 +++ new/shaderc-2023.4/kokoro/windows/presubmit_release_2019.cfg 2023-05-24 21:30:26.000000000 +0200 @@ -0,0 +1,16 @@ +# Copyright (C) 2023 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Presubmit build configuration. +build_file: "shaderc/kokoro/windows/build_release_2019.bat" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc/include/shaderc/shaderc.h new/shaderc-2023.4/libshaderc/include/shaderc/shaderc.h --- old/shaderc-2023.2/libshaderc/include/shaderc/shaderc.h 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc/include/shaderc/shaderc.h 2023-05-24 21:30:26.000000000 +0200 @@ -189,6 +189,25 @@ shaderc_limit_max_cull_distances, shaderc_limit_max_combined_clip_and_cull_distances, shaderc_limit_max_samples, + shaderc_limit_max_mesh_output_vertices_nv, + shaderc_limit_max_mesh_output_primitives_nv, + shaderc_limit_max_mesh_work_group_size_x_nv, + shaderc_limit_max_mesh_work_group_size_y_nv, + shaderc_limit_max_mesh_work_group_size_z_nv, + shaderc_limit_max_task_work_group_size_x_nv, + shaderc_limit_max_task_work_group_size_y_nv, + shaderc_limit_max_task_work_group_size_z_nv, + shaderc_limit_max_mesh_view_count_nv, + shaderc_limit_max_mesh_output_vertices_ext, + shaderc_limit_max_mesh_output_primitives_ext, + shaderc_limit_max_mesh_work_group_size_x_ext, + shaderc_limit_max_mesh_work_group_size_y_ext, + shaderc_limit_max_mesh_work_group_size_z_ext, + shaderc_limit_max_task_work_group_size_x_ext, + shaderc_limit_max_task_work_group_size_y_ext, + shaderc_limit_max_task_work_group_size_z_ext, + shaderc_limit_max_mesh_view_count_ext, + shaderc_limit_max_dual_source_draw_buffers_ext, } shaderc_limit; // Uniform resource kinds. @@ -439,6 +458,11 @@ shaderc_compile_options_t options, shaderc_shader_kind shader_kind, shaderc_uniform_kind kind, uint32_t base); +// Sets whether the compiler should preserve all bindings, even when those +// bindings are not used. +SHADERC_EXPORT void shaderc_compile_options_set_preserve_bindings( + shaderc_compile_options_t options, bool preserve_bindings); + // Sets whether the compiler should automatically assign locations to // uniform variables that don't have explicit locations in the shader source. SHADERC_EXPORT void shaderc_compile_options_set_auto_map_locations( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc/include/shaderc/shaderc.hpp new/shaderc-2023.4/libshaderc/include/shaderc/shaderc.hpp --- old/shaderc-2023.2/libshaderc/include/shaderc/shaderc.hpp 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc/include/shaderc/shaderc.hpp 2023-05-24 21:30:26.000000000 +0200 @@ -311,6 +311,12 @@ kind, base); } + // Sets whether the compiler should preserve all bindings, even when those + // bindings are not used. + void SetPreserveBindings(bool preserve_bindings) { + shaderc_compile_options_set_preserve_bindings(options_, preserve_bindings); + } + // Sets whether the compiler automatically assigns locations to // uniform variables that don't have explicit locations. void SetAutoMapLocations(bool auto_map) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc/src/shaderc.cc new/shaderc-2023.4/libshaderc/src/shaderc.cc --- old/shaderc-2023.2/libshaderc/src/shaderc.cc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc/src/shaderc.cc 2023-05-24 21:30:26.000000000 +0200 @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "shaderc/shaderc.h" + #include <algorithm> #include <cassert> #include <cstdint> @@ -529,6 +531,11 @@ GetUniformKind(kind), base); } +void shaderc_compile_options_set_preserve_bindings( + shaderc_compile_options_t options, bool preserve_bindings) { + options->compiler.SetPreserveBindings(preserve_bindings); +} + void shaderc_compile_options_set_auto_map_locations( shaderc_compile_options_t options, bool auto_map) { options->compiler.SetAutoMapLocations(auto_map); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/compiler.h new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/compiler.h --- old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/compiler.h 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/compiler.h 2023-05-24 21:30:26.000000000 +0200 @@ -206,6 +206,7 @@ auto_combined_image_sampler_(false), auto_binding_base_(), auto_map_locations_(false), + preserve_bindings_(false), hlsl_iomap_(false), hlsl_offsets_(false), hlsl_legalization_enabled_(true), @@ -307,6 +308,12 @@ auto_binding_base_[static_cast<int>(stage)][static_cast<int>(kind)] = base; } + // Sets whether the compiler should preserve all bindings, even when those + // bindings are not used. + void SetPreserveBindings(bool preserve_bindings) { + preserve_bindings_ = preserve_bindings; + } + // Sets whether the compiler automatically assigns locations to // uniform variables that don't have explicit locations. void SetAutoMapLocations(bool auto_map) { auto_map_locations_ = auto_map; } @@ -518,6 +525,9 @@ // have explicit locations. bool auto_map_locations_; + // True if the compiler should preserve all bindings, even when unused. + bool preserve_bindings_; + // True if the compiler should use HLSL IO mapping rules when compiling HLSL. bool hlsl_iomap_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/resources.inc new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/resources.inc --- old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/resources.inc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/resources.inc 2023-05-24 21:30:26.000000000 +0200 @@ -105,3 +105,39 @@ RESOURCE(MaxCullDistances,maxCullDistances,max_cull_distances) RESOURCE(MaxCombinedClipAndCullDistances,maxCombinedClipAndCullDistances,max_combined_clip_and_cull_distances) RESOURCE(MaxSamples,maxSamples,max_samples) +RESOURCE(MaxMeshOutputVerticesNV, maxMeshOutputVerticesNV, + max_mesh_output_vertices_nv) +RESOURCE(MaxMeshOutputPrimitivesNV, maxMeshOutputPrimitivesNV, + max_mesh_output_primitives_nv) +RESOURCE(MaxMeshWorkGroupSizeX_NV, maxMeshWorkGroupSizeX_NV, + max_mesh_work_group_size_x_nv) +RESOURCE(MaxMeshWorkGroupSizeY_NV, maxMeshWorkGroupSizeY_NV, + max_mesh_work_group_size_y_nv) +RESOURCE(MaxMeshWorkGroupSizeZ_NV, maxMeshWorkGroupSizeZ_NV, + max_mesh_work_group_size_z_nv) +RESOURCE(MaxTaskWorkGroupSizeX_NV, maxTaskWorkGroupSizeX_NV, + max_task_work_group_size_x_nv) +RESOURCE(MaxTaskWorkGroupSizeY_NV, maxTaskWorkGroupSizeY_NV, + max_task_work_group_size_y_nv) +RESOURCE(MaxTaskWorkGroupSizeZ_NV, maxTaskWorkGroupSizeZ_NV, + max_task_work_group_size_z_nv) +RESOURCE(MaxMeshViewCountNV, maxMeshViewCountNV, max_mesh_view_count_nv) +RESOURCE(MaxMeshOutputVerticesEXT, maxMeshOutputVerticesEXT, + max_mesh_output_vertices_ext) +RESOURCE(MaxMeshOutputPrimitivesEXT, maxMeshOutputPrimitivesEXT, + max_mesh_output_primitives_ext) +RESOURCE(MaxMeshWorkGroupSizeX_EXT, maxMeshWorkGroupSizeX_EXT, + max_mesh_work_group_size_x_ext) +RESOURCE(MaxMeshWorkGroupSizeY_EXT, maxMeshWorkGroupSizeY_EXT, + max_mesh_work_group_size_y_ext) +RESOURCE(MaxMeshWorkGroupSizeZ_EXT, maxMeshWorkGroupSizeZ_EXT, + max_mesh_work_group_size_z_ext) +RESOURCE(MaxTaskWorkGroupSizeX_EXT, maxTaskWorkGroupSizeX_EXT, + max_task_work_group_size_x_ext) +RESOURCE(MaxTaskWorkGroupSizeY_EXT, maxTaskWorkGroupSizeY_EXT, + max_task_work_group_size_y_ext) +RESOURCE(MaxTaskWorkGroupSizeZ_EXT, maxTaskWorkGroupSizeZ_EXT, + max_task_work_group_size_z_ext) +RESOURCE(MaxMeshViewCountEXT, maxMeshViewCountEXT, max_mesh_view_count_ext) +RESOURCE(MaxDualSourceDrawBuffersEXT, maxDualSourceDrawBuffersEXT, + max_dual_source_draw_buffers_ext) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h --- old/shaderc-2023.2/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h 2023-05-24 21:30:26.000000000 +0200 @@ -60,6 +60,7 @@ bool SpirvToolsOptimize(Compiler::TargetEnv env, Compiler::TargetEnvVersion version, const std::vector<PassId>& enabled_passes, + spvtools::OptimizerOptions& optimizer_options, std::vector<uint32_t>* binary, std::string* errors); } // namespace shaderc_util diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc_util/src/compiler.cc new/shaderc-2023.4/libshaderc_util/src/compiler.cc --- old/shaderc-2023.2/libshaderc_util/src/compiler.cc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc_util/src/compiler.cc 2023-05-24 21:30:26.000000000 +0200 @@ -29,6 +29,7 @@ #include "libshaderc_util/spirv_tools_wrapper.h" #include "libshaderc_util/string_piece.h" #include "libshaderc_util/version_profile.h" +#include "spirv-tools/libspirv.hpp" namespace { using shaderc_util::string_piece; @@ -348,9 +349,12 @@ enabled_opt_passes_.end()); if (!opt_passes.empty()) { + spvtools::OptimizerOptions opt_options; + opt_options.set_preserve_bindings(preserve_bindings_); + std::string opt_errors; - if (!SpirvToolsOptimize(target_env_, target_env_version_, - opt_passes, &spirv, &opt_errors)) { + if (!SpirvToolsOptimize(target_env_, target_env_version_, opt_passes, + opt_options, &spirv, &opt_errors)) { *error_stream << "shaderc: internal error: compilation succeeded but " "failed to optimize: " << opt_errors << "\n"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/libshaderc_util/src/spirv_tools_wrapper.cc new/shaderc-2023.4/libshaderc_util/src/spirv_tools_wrapper.cc --- old/shaderc-2023.2/libshaderc_util/src/spirv_tools_wrapper.cc 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/libshaderc_util/src/spirv_tools_wrapper.cc 2023-05-24 21:30:26.000000000 +0200 @@ -17,6 +17,7 @@ #include <algorithm> #include <sstream> +#include "spirv-tools/libspirv.hpp" #include "spirv-tools/optimizer.hpp" namespace shaderc_util { @@ -108,6 +109,7 @@ bool SpirvToolsOptimize(Compiler::TargetEnv env, Compiler::TargetEnvVersion version, const std::vector<PassId>& enabled_passes, + spvtools::OptimizerOptions& optimizer_options, std::vector<uint32_t>* binary, std::string* errors) { errors->clear(); if (enabled_passes.empty()) return true; @@ -125,9 +127,9 @@ // This uses relaxed rules for pre-legalized HLSL. val_opts.SetBeforeHlslLegalization(true); - spvtools::OptimizerOptions opt_opts; - opt_opts.set_validator_options(val_opts); - opt_opts.set_run_validator(true); + // Set additional optimizer options. + optimizer_options.set_validator_options(val_opts); + optimizer_options.set_run_validator(true); spvtools::Optimizer optimizer(GetSpirvToolsTargetEnv(env, version)); @@ -159,7 +161,8 @@ } } - if (!optimizer.Run(binary->data(), binary->size(), binary, opt_opts)) { + if (!optimizer.Run(binary->data(), binary->size(), binary, + optimizer_options)) { *errors = oss.str(); return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2023.2/utils/roll-deps new/shaderc-2023.4/utils/roll-deps --- old/shaderc-2023.2/utils/roll-deps 2023-01-18 21:58:09.000000000 +0100 +++ new/shaderc-2023.4/utils/roll-deps 2023-05-24 21:30:26.000000000 +0200 @@ -21,7 +21,7 @@ effcee_dir="third_party/effcee/" effcee_trunk="origin/main" glslang_dir="third_party/glslang/" -glslang_trunk="origin/master" +glslang_trunk="origin/main" googletest_dir="third_party/googletest/" googletest_trunk="origin/master" re2_dir="third_party/re2/"