Hello community, here is the log from the commit of package shaderc for openSUSE:Factory checked in at 2020-09-15 16:26:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/shaderc (Old) and /work/SRC/openSUSE:Factory/.shaderc.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shaderc" Tue Sep 15 16:26:28 2020 rev:7 rq:833795 version:2020.3 Changes: -------- --- /work/SRC/openSUSE:Factory/shaderc/shaderc.changes 2020-08-17 16:41:45.877823963 +0200 +++ /work/SRC/openSUSE:Factory/.shaderc.new.4249/shaderc.changes 2020-09-15 16:26:40.166503688 +0200 @@ -1,0 +2,7 @@ +Fri Sep 4 12:08:28 UTC 2020 - Jan Engelhardt <[email protected]> + +- Update to release 2020.3: + * spvc: added support for Dawn using deprecated Options constructor + * spvc: added support for the additional fixed sample mask in MSL + +------------------------------------------------------------------- Old: ---- v2020.2.tar.gz New: ---- v2020.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ shaderc.spec ++++++ --- /var/tmp/diff_new_pack.H92yGW/_old 2020-09-15 16:26:41.238504714 +0200 +++ /var/tmp/diff_new_pack.H92yGW/_new 2020-09-15 16:26:41.242504718 +0200 @@ -18,7 +18,7 @@ Name: shaderc %define lname libshaderc_shared1 -Version: 2020.2 +Version: 2020.3 Release: 0 Summary: A collection of tools, libraries and tests for shader compilation License: Apache-2.0 ++++++ v2020.2.tar.gz -> v2020.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/.gitignore new/shaderc-2020.3/.gitignore --- old/shaderc-2020.2/.gitignore 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/.gitignore 2020-09-02 21:52:17.000000000 +0200 @@ -1,5 +1,6 @@ build/ build-*/ +out/ *.pyc *.swp compile_commands.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/CHANGES new/shaderc-2020.3/CHANGES --- old/shaderc-2020.2/CHANGES 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/CHANGES 2020-09-02 21:52:17.000000000 +0200 @@ -1,5 +1,13 @@ Revision history for Shaderc +v2020.3 2020-09-02 + - General: + - Last release with spvc + - Cleaned up issues discovered by Infer + - spvc: + - Added support for Dawn using deprecated Options constructor + - Adding support for the additional fixed sample mask in MSL + v2020.2 2020-07-23 - General: - Remove VS2013 support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/DEPS new/shaderc-2020.3/DEPS --- old/shaderc-2020.2/DEPS 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/DEPS 2020-09-02 21:52:17.000000000 +0200 @@ -5,12 +5,12 @@ 'khronos_git': 'https://github.com/KhronosGroup', 'effcee_revision' : '2ec8f8738118cc483b67c04a759fee53496c5659', - 'glslang_revision': '3ee5f2f1d3316e228916788b300d786bb574d337', - 'googletest_revision': 'a781fe29bcf73003559a3583167fe3d647518464', + 'glslang_revision': '517f39eee46f27c83527117d831c4d7e2f7c9fe3', + 'googletest_revision': 'df6b75949b1efab7606ba60c0f0a0125ac95c5af', 're2_revision': 'ca11026a032ce2a3de4b3c389ee53d2bdc8794d6', - 'spirv_headers_revision': '979924c8bc839e4cb1b69d03d48398551f369ce7', - 'spirv_tools_revision': '969f0286479b89267b6c89f6d5223285c265e6ae', - 'spirv_cross_revision': '6575e451f5bffded6e308988362224dd076b0f2b', + 'spirv_headers_revision': '3fdabd0da2932c276b25b9b4a988ba134eba1aa6', + 'spirv_tools_revision': '8a0ebd40f86d1f18ad42ea96c6ac53915076c3c7', + 'spirv_cross_revision': '685f86471e9d26b3eb7676695a2e2cefb4551ae9', } deps = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc/src/shaderc_cpp_test.cc new/shaderc-2020.3/libshaderc/src/shaderc_cpp_test.cc --- old/shaderc-2020.2/libshaderc/src/shaderc_cpp_test.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc/src/shaderc_cpp_test.cc 2020-09-02 21:52:17.000000000 +0200 @@ -363,7 +363,7 @@ const AssemblyCompilationResult result = compiler_.CompileGlslToSpvAssembly( kMinimalShader, shaderc_glsl_vertex_shader, "shader", options_); EXPECT_TRUE(CompilationResultIsSuccess(result)); - // This should work with both the glslang native disassembly format and the + // This should work with both the glslang disassembly format and the // SPIR-V Tools assembly format. EXPECT_THAT(CompilerOutputAsString(result), HasSubstr("Capability Shader")); EXPECT_THAT(CompilerOutputAsString(result), HasSubstr("MemoryModel")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc/src/shaderc_test.cc new/shaderc-2020.3/libshaderc/src/shaderc_test.cc --- old/shaderc-2020.2/libshaderc/src/shaderc_test.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc/src/shaderc_test.cc 2020-09-02 21:52:17.000000000 +0200 @@ -498,7 +498,7 @@ TEST_F(CompileStringWithOptionsTest, DisassemblyOption) { ASSERT_NE(nullptr, compiler_.get_compiler_handle()); - // This should work with both the glslang native assembly format and the + // This should work with both the glslang assembly format and the // SPIR-V tools assembly format. const std::string disassembly_text = CompilationOutput(kMinimalShader, shaderc_glsl_vertex_shader, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/include/spvc/spvc.h new/shaderc-2020.3/libshaderc_spvc/include/spvc/spvc.h --- old/shaderc-2020.2/libshaderc_spvc/include/spvc/spvc.h 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/include/spvc/spvc.h 2020-09-02 21:52:17.000000000 +0200 @@ -443,6 +443,11 @@ shaderc_spvc_compile_options_set_msl_buffer_size_buffer_index( shaderc_spvc_compile_options_t options, uint32_t index); +// Set the additional fixed sample mask for MSL +SHADERC_EXPORT shaderc_spvc_status +shaderc_spvc_compile_options_set_msl_additional_fixed_sample_mask( + shaderc_spvc_compile_options_t options, uint32_t mask); + // Set HLSL shader model. Default is 30. SHADERC_EXPORT shaderc_spvc_status shaderc_spvc_compile_options_set_hlsl_shader_model( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/include/spvc/spvc.hpp new/shaderc-2020.3/libshaderc_spvc/include/spvc/spvc.hpp --- old/shaderc-2020.2/libshaderc_spvc/include/spvc/spvc.hpp 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/include/spvc/spvc.hpp 2020-09-02 21:52:17.000000000 +0200 @@ -78,6 +78,9 @@ uint32_t binary_length; status = shaderc_spvc_result_get_binary_length(result_.get(), &binary_length); + if (status != shaderc_spvc_status_success) { + return status; + } if (!binary_output || !binary_length) { *data = std::vector<uint32_t>(); } else { @@ -277,6 +280,12 @@ options_.get(), index); } + // Set the additional fixed sample mask for MSL + shaderc_spvc_status SetMSLAdditionalFixedSampleMask(uint32_t mask) { + return shaderc_spvc_compile_options_set_msl_additional_fixed_sample_mask( + options_.get(), mask); + } + // Which HLSL shader model should be used. Default is 30. shaderc_spvc_status SetHLSLShaderModel(uint32_t model) { return shaderc_spvc_compile_options_set_hlsl_shader_model(options_.get(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/src/spvc.cc new/shaderc-2020.3/libshaderc_spvc/src/spvc.cc --- old/shaderc-2020.2/libshaderc_spvc/src/spvc.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/src/spvc.cc 2020-09-02 21:52:17.000000000 +0200 @@ -606,6 +606,15 @@ return shaderc_spvc_status_success; } +shaderc_spvc_status +shaderc_spvc_compile_options_set_msl_additional_fixed_sample_mask( + shaderc_spvc_compile_options_t options, uint32_t mask) { + CHECK_OPTIONS(nullptr, options); + + options->msl.additional_fixed_sample_mask = mask; + return shaderc_spvc_status_success; +} + shaderc_spvc_status shaderc_spvc_compile_options_set_hlsl_shader_model( shaderc_spvc_compile_options_t options, uint32_t model) { CHECK_OPTIONS(nullptr, options); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/src/spvc_cpp_test.cc new/shaderc-2020.3/libshaderc_spvc/src/spvc_cpp_test.cc --- old/shaderc-2020.2/libshaderc_spvc/src/spvc_cpp_test.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/src/spvc_cpp_test.cc 2020-09-02 21:52:17.000000000 +0200 @@ -25,6 +25,10 @@ class CompileTest : public testing::Test { public: + CompileTest() + : options_(shaderc_spvc_spv_env_vulkan_1_1, + shaderc_spvc_spv_env_vulkan_1_1) {} + Context context_; CompileOptions options_; CompilationResult result_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/src/spvc_private.cc new/shaderc-2020.3/libshaderc_spvc/src/spvc_private.cc --- old/shaderc-2020.2/libshaderc_spvc/src/spvc_private.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/src/spvc_private.cc 2020-09-02 21:52:17.000000000 +0200 @@ -29,6 +29,21 @@ #define CATCH_IF_EXCEPTIONS_ENABLED(X) catch (X) #endif +namespace { +bool is_vulkan_env(spv_target_env env) { + switch (env) { + case SPV_ENV_VULKAN_1_0: + case SPV_ENV_VULKAN_1_1: + case SPV_ENV_VULKAN_1_1_SPIRV_1_4: + case SPV_ENV_VULKAN_1_2: + return true; + default: + return false; + } +} + +} // namespace + namespace spvc_private { spv_target_env get_spv_target_env(shaderc_target_env env, @@ -115,29 +130,35 @@ const uint32_t* source, size_t source_len, shaderc_spvc_compile_options_t options, std::vector<uint32_t>* target) { + bool registered_pass = false; if (!target) { shaderc_spvc::ErrorLog(context) << "null provided for translation destination."; return shaderc_spvc_status_transformation_error; } - if (source_env == target_env) { - target->resize(source_len); - memcpy(target->data(), source, source_len * sizeof(uint32_t)); - return shaderc_spvc_status_success; - } - spvtools::Optimizer opt(source_env); + opt.SetValidateAfterAll(options->validate); opt.SetMessageConsumer(std::bind( consume_spirv_tools_message, context, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)); - if (source_env == SPV_ENV_WEBGPU_0 && target_env == SPV_ENV_VULKAN_1_1) { + if (source_env == SPV_ENV_WEBGPU_0 && is_vulkan_env(target_env)) { + registered_pass = true; opt.RegisterWebGPUToVulkanPasses(); - } else if (source_env == SPV_ENV_VULKAN_1_1 && - target_env == SPV_ENV_WEBGPU_0) { + } else if (is_vulkan_env(source_env) && target_env == SPV_ENV_WEBGPU_0) { + registered_pass = true; opt.RegisterVulkanToWebGPUPasses(); - } else { + } else if (source_env == SPV_ENV_UNIVERSAL_1_0 && + target_env == SPV_ENV_UNIVERSAL_1_0) { + // Assuming that the default constructor in Dawn was used, thus the intent + // was to perform WebGPU->Vulkan conversion. + // + // TODO: Remove this case once deprecated options constructor with defaults + // is removed. + registered_pass = true; + opt.RegisterWebGPUToVulkanPasses(); + } else if (source_env != target_env) { shaderc_spvc::ErrorLog(context) << "No defined transformation between source and target execution " "environments."; @@ -145,10 +166,18 @@ } if (options->robust_buffer_access_pass) { + registered_pass = true; opt.RegisterPass(spvtools::CreateGraphicsRobustAccessPass()); } - if (!opt.Run(source, source_len, target)) { + if (!registered_pass) { + target->resize(source_len); + memcpy(target->data(), source, source_len * sizeof(uint32_t)); + return shaderc_spvc_status_success; + } + + if (!opt.Run(source, source_len, target, spvtools::ValidatorOptions(), + options->validate)) { shaderc_spvc::ErrorLog(context) << "Transformations between source and " "target execution environments failed."; return shaderc_spvc_status_transformation_error; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_spvc/src/spvc_test.cc new/shaderc-2020.3/libshaderc_spvc/src/spvc_test.cc --- old/shaderc-2020.2/libshaderc_spvc/src/spvc_test.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_spvc/src/spvc_test.cc 2020-09-02 21:52:17.000000000 +0200 @@ -28,7 +28,7 @@ void SetUp() override { context_ = shaderc_spvc_context_create(); options_ = shaderc_spvc_compile_options_create( - shaderc_spvc_spv_env_vulkan_1_0, shaderc_spvc_spv_env_vulkan_1_0); + shaderc_spvc_spv_env_vulkan_1_1, shaderc_spvc_spv_env_vulkan_1_1); result_ = shaderc_spvc_result_create(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/libshaderc_util/include/libshaderc_util/file_finder.h new/shaderc-2020.3/libshaderc_util/include/libshaderc_util/file_finder.h --- old/shaderc-2020.2/libshaderc_util/include/libshaderc_util/file_finder.h 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/libshaderc_util/include/libshaderc_util/file_finder.h 2020-09-02 21:52:17.000000000 +0200 @@ -27,7 +27,7 @@ // non-empty. The search is attempted on filename prefixed by each element of // search_path() in turn. The first hit is returned, or an empty string if // there are no hits. Search attempts treat their argument the way - // std::fopen() treats its filename argument, blind to whether the path is + // std::fopen() treats its filename argument, ignoring whether the path is // absolute or relative. // // If a search_path() element is non-empty and not ending in a slash, then a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/spvc/src/main.cc new/shaderc-2020.3/spvc/src/main.cc --- old/shaderc-2020.2/spvc/src/main.cc 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/spvc/src/main.cc 2020-09-02 21:52:17.000000000 +0200 @@ -89,6 +89,7 @@ --msl-domain-lower-left --msl-argument-buffers --msl-discrete-descriptor-set=<number> + --msl-additional-fixed-sample-mask=<number> --emit-line-directives --hlsl-enable-compat --shader-model=<model> @@ -111,14 +112,15 @@ out->resize(ftell(file) / sizeof((*out)[0])); rewind(file); + bool status = true; if (fread(out->data(), sizeof((*out)[0]), out->size(), file) != out->size()) { std::cerr << "Failed to read SPIR-V file: " << path << std::endl; out->clear(); - return false; + status = false; } fclose(file); - return true; + return status; } bool StringPieceToEnvEnum(const string_piece& str, shaderc_spvc_spv_env* env) { @@ -294,6 +296,17 @@ return 1; } msl_discrete_descriptor.push_back(descriptor_num); + } else if (arg.starts_with("--msl-additional-fixed-sample-mask=")) { + string_piece sample_mask_str; + GetOptionArgument(argc, argv, &i, + "--msl-additional-fixed-sample-mask=", &sample_mask_str); + uint32_t sample_mask_num; + if (!shaderc_util::ParseUint32(sample_mask_str.str(), &sample_mask_num)) { + std::cerr << "spvc: error: invalid value '" << sample_mask_str + << "' in --msl-additional-fixed-sample-mask=" << std::endl; + return 1; + } + options.SetMSLAdditionalFixedSampleMask(sample_mask_num); } else if (arg == "--emit-line-directives") { options.SetEmitLineDirectives(true); } else if (arg.starts_with("--shader-model=")) { @@ -325,7 +338,7 @@ options.SetMSLDiscreteDescriptorSets(msl_discrete_descriptor); shaderc_spvc::CompilationResult result; - shaderc_spvc_status status = shaderc_spvc_status_configuration_error; + shaderc_spvc_status status; if (output_language == "glsl") { status = context.InitializeForGlsl((const uint32_t*)input.data(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/spvc/test/known_failures new/shaderc-2020.3/spvc/test/known_failures --- old/shaderc-2020.2/spvc/test/known_failures 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/spvc/test/known_failures 2020-09-02 21:52:17.000000000 +0200 @@ -10,20 +10,18 @@ shaders-hlsl/comp/num-workgroups-alone.comp,True shaders-hlsl/comp/num-workgroups-with-builtins.comp,False shaders-hlsl/comp/num-workgroups-with-builtins.comp,True -shaders-hlsl/frag/combined-texture-sampler-shadow.frag,False shaders-hlsl/frag/image-query-uav.nonwritable-uav-texture.frag,False shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag,False shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag,True shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag,False shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag,True -shaders-hlsl/vert/read-from-row-major-array.vert,False -shaders-hlsl/vert/read-from-row-major-array.vert,True shaders-msl-no-opt/asm/comp/copy-logical-2.spv14.asm.comp,False shaders-msl-no-opt/asm/comp/copy-logical.spv14.asm.comp,False shaders-msl-no-opt/asm/comp/device-array-load-temporary.force-native-array.asm.comp,False shaders-msl-no-opt/asm/comp/device-constant-array-load-store.force-native-array.asm.comp,False shaders-msl-no-opt/asm/frag/phi.zero-initialize.asm.frag,False shaders-msl-no-opt/asm/temporary.zero-initialize.asm.frag,False +shaders-msl-no-opt/asm/tesc/tess-fixed-input-array-builtin-array.invalid.multi-patch.asm.tesc,False shaders-msl-no-opt/comp/basic.dynamic-buffer.msl2.invalid.comp,False shaders-msl-no-opt/comp/int64.invalid.msl22.comp,False shaders-msl-no-opt/frag/force-active-resources.msl2.argument..force-active.discrete.frag,False @@ -37,6 +35,8 @@ shaders-msl/asm/frag/disable-renamed-output.frag-output.asm.frag,True shaders-msl/asm/frag/min-lod.msl22.asm.frag,False shaders-msl/asm/frag/min-lod.msl22.asm.frag,True +shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc,False +shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc,True shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert,False shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert,True shaders-msl/comp/basic.dispatchbase.comp,False @@ -48,37 +48,63 @@ shaders-msl/comp/composite-array-initialization.force-native-array.comp,False shaders-msl/comp/composite-array-initialization.force-native-array.comp,True shaders-msl/comp/copy-array-of-arrays.force-native-array.comp,False +shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc,False +shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc,True +shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc,False +shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc,True shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert,False shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert,True +shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert,False +shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert,True shaders-msl/frag/barycentric-nv-nopersp.msl22.frag,False shaders-msl/frag/barycentric-nv-nopersp.msl22.frag,True shaders-msl/frag/barycentric-nv.msl22.frag,False shaders-msl/frag/barycentric-nv.msl22.frag,True shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag,False shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag,True -shaders-msl/frag/constant-array.frag,False -shaders-msl/frag/constant-array.frag,True shaders-msl/frag/disable-frag-output.frag-output.frag,False shaders-msl/frag/disable-frag-output.frag-output.frag,True shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag,False shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag,True shaders-msl/frag/image-query-lod.msl22.frag,False shaders-msl/frag/image-query-lod.msl22.frag,True -shaders-msl/frag/separate-image-sampler-argument.frag,False +shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag,True +shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag,True +shaders-msl/frag/sample-mask.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask.fixed-sample-mask.frag,True +shaders-msl/frag/shader-arithmetic-8bit.frag,True shaders-msl/frag/subgroup-builtins.msl22.frag,False shaders-msl/frag/subgroup-builtins.msl22.frag,True shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag,False shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag,True shaders-msl/frag/vecsize-mismatch.shader-inputs.frag,False shaders-msl/frag/vecsize-mismatch.shader-inputs.frag,True -shaders-msl/tese/water_tess.tese,False -shaders-msl/tese/water_tess.tese,True +shaders-msl/tesc/basic.multi-patch.tesc,False +shaders-msl/tesc/basic.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array.multi-patch.tesc,True +shaders-msl/tesc/matrix-output.multi-patch.tesc,False +shaders-msl/tesc/matrix-output.multi-patch.tesc,True +shaders-msl/tesc/struct-output.multi-patch.tesc,False +shaders-msl/tesc/struct-output.multi-patch.tesc,True +shaders-msl/tesc/water_tess.multi-patch.tesc,False +shaders-msl/tesc/water_tess.multi-patch.tesc,True +shaders-msl/vert/basic.for-tess.vert,False +shaders-msl/vert/basic.for-tess.vert,True shaders-msl/vert/clip-distance-block.no-user-varying.vert,False shaders-msl/vert/clip-distance-block.no-user-varying.vert,True shaders-msl/vert/float-math.invariant-float-math.vert,False shaders-msl/vert/float-math.invariant-float-math.vert,True -shaders-msl/vert/read-from-row-major-array.vert,False -shaders-msl/vert/read-from-row-major-array.vert,True +shaders-msl/vert/leaf-function.for-tess.vert,False +shaders-msl/vert/leaf-function.for-tess.vert,True +shaders-msl/vert/no_stage_out.for-tess.vert,False +shaders-msl/vert/no_stage_out.for-tess.vert,True shaders-msl/vert/return-array.force-native-array.vert,False shaders-msl/vert/signedness-mismatch.shader-inputs.vert,False shaders-msl/vert/signedness-mismatch.shader-inputs.vert,True @@ -88,6 +114,7 @@ shaders-no-opt/asm/frag/phi.zero-initialize.asm.frag,False shaders-no-opt/asm/temporary.zero-initialize.asm.frag,False shaders-no-opt/frag/variables.zero-initialize.frag,False +shaders-no-opt/vert/io-blocks.force-flattened-io.vert,False shaders-reflection/asm/aliased-entry-point-names.asm.multi,False shaders-reflection/asm/comp/pointer-to-array-of-physical-pointer.asm.comp,False shaders-reflection/asm/op-source-glsl-ssbo-1.asm.comp,False @@ -124,15 +151,3 @@ shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag,False shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag,False shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag,True -shaders/frag/constant-array.frag,False -shaders/frag/constant-array.frag,True -shaders/tese/water_tess.tese,False -shaders/tese/water_tess.tese,True -shaders/vert/read-from-row-major-array.vert,False -shaders/vert/read-from-row-major-array.vert,True -shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag,False -shaders/vulkan/frag/combined-texture-sampler.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture-array.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture-array.vk.frag,True -shaders/vulkan/frag/separate-sampler-texture.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture.vk.frag,True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/spvc/test/known_spvc_failures new/shaderc-2020.3/spvc/test/known_spvc_failures --- old/shaderc-2020.2/spvc/test/known_spvc_failures 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/spvc/test/known_spvc_failures 2020-09-02 21:52:17.000000000 +0200 @@ -1,4 +1,5 @@ shaders-hlsl-no-opt/asm/frag/phi.zero-initialize.asm.frag,False +shaders-hlsl-no-opt/asm/frag/struct-packing-last-element-array-matrix-rule.invalid.asm.frag,False shaders-hlsl-no-opt/asm/frag/switch-block-case-fallthrough.asm.invalid.frag,False shaders-hlsl-no-opt/asm/temporary.zero-initialize.asm.frag,False shaders-hlsl-no-opt/frag/constant-buffer-array.invalid.sm51.frag,False @@ -15,14 +16,11 @@ shaders-hlsl/comp/num-workgroups-alone.comp,True shaders-hlsl/comp/num-workgroups-with-builtins.comp,False shaders-hlsl/comp/num-workgroups-with-builtins.comp,True -shaders-hlsl/frag/combined-texture-sampler-shadow.frag,False shaders-hlsl/frag/image-query-uav.nonwritable-uav-texture.frag,False shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag,False shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag,True shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag,False shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag,True -shaders-hlsl/vert/read-from-row-major-array.vert,False -shaders-hlsl/vert/read-from-row-major-array.vert,True shaders-msl-no-opt/asm/comp/composite-construct-buffer-struct.asm.comp,False shaders-msl-no-opt/asm/comp/copy-logical-2.spv14.asm.comp,False shaders-msl-no-opt/asm/comp/copy-logical.spv14.asm.comp,False @@ -44,6 +42,7 @@ shaders-msl-no-opt/asm/packing/scalar-float3x2-col-major.invalid.asm.frag,False shaders-msl-no-opt/asm/packing/scalar-float3x3-col-major.invalid.asm.frag,False shaders-msl-no-opt/asm/temporary.zero-initialize.asm.frag,False +shaders-msl-no-opt/asm/tesc/tess-fixed-input-array-builtin-array.invalid.multi-patch.asm.tesc,False shaders-msl-no-opt/comp/basic.dynamic-buffer.msl2.invalid.comp,False shaders-msl-no-opt/comp/int64.invalid.msl22.comp,False shaders-msl-no-opt/frag/16bit-constants.invalid.frag,False @@ -71,6 +70,8 @@ shaders-msl/asm/frag/disable-renamed-output.frag-output.asm.frag,True shaders-msl/asm/frag/min-lod.msl22.asm.frag,False shaders-msl/asm/frag/min-lod.msl22.asm.frag,True +shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc,False +shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc,True shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert,False shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert,True shaders-msl/comp/basic.dispatchbase.comp,False @@ -82,37 +83,63 @@ shaders-msl/comp/composite-array-initialization.force-native-array.comp,False shaders-msl/comp/composite-array-initialization.force-native-array.comp,True shaders-msl/comp/copy-array-of-arrays.force-native-array.comp,False +shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc,False +shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc,True +shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc,False +shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc,True shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert,False shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert,True +shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert,False +shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert,True shaders-msl/frag/barycentric-nv-nopersp.msl22.frag,False shaders-msl/frag/barycentric-nv-nopersp.msl22.frag,True shaders-msl/frag/barycentric-nv.msl22.frag,False shaders-msl/frag/barycentric-nv.msl22.frag,True shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag,False shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag,True -shaders-msl/frag/constant-array.frag,False -shaders-msl/frag/constant-array.frag,True shaders-msl/frag/disable-frag-output.frag-output.frag,False shaders-msl/frag/disable-frag-output.frag-output.frag,True shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag,False shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag,True shaders-msl/frag/image-query-lod.msl22.frag,False shaders-msl/frag/image-query-lod.msl22.frag,True -shaders-msl/frag/separate-image-sampler-argument.frag,False +shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag,True +shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag,True +shaders-msl/frag/sample-mask.fixed-sample-mask.frag,False +shaders-msl/frag/sample-mask.fixed-sample-mask.frag,True +shaders-msl/frag/shader-arithmetic-8bit.frag,True shaders-msl/frag/subgroup-builtins.msl22.frag,False shaders-msl/frag/subgroup-builtins.msl22.frag,True shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag,False shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag,True shaders-msl/frag/vecsize-mismatch.shader-inputs.frag,False shaders-msl/frag/vecsize-mismatch.shader-inputs.frag,True -shaders-msl/tese/water_tess.tese,False -shaders-msl/tese/water_tess.tese,True +shaders-msl/tesc/basic.multi-patch.tesc,False +shaders-msl/tesc/basic.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc,True +shaders-msl/tesc/load-control-point-array.multi-patch.tesc,False +shaders-msl/tesc/load-control-point-array.multi-patch.tesc,True +shaders-msl/tesc/matrix-output.multi-patch.tesc,False +shaders-msl/tesc/matrix-output.multi-patch.tesc,True +shaders-msl/tesc/struct-output.multi-patch.tesc,False +shaders-msl/tesc/struct-output.multi-patch.tesc,True +shaders-msl/tesc/water_tess.multi-patch.tesc,False +shaders-msl/tesc/water_tess.multi-patch.tesc,True +shaders-msl/vert/basic.for-tess.vert,False +shaders-msl/vert/basic.for-tess.vert,True shaders-msl/vert/clip-distance-block.no-user-varying.vert,False shaders-msl/vert/clip-distance-block.no-user-varying.vert,True shaders-msl/vert/float-math.invariant-float-math.vert,False shaders-msl/vert/float-math.invariant-float-math.vert,True -shaders-msl/vert/read-from-row-major-array.vert,False -shaders-msl/vert/read-from-row-major-array.vert,True +shaders-msl/vert/leaf-function.for-tess.vert,False +shaders-msl/vert/leaf-function.for-tess.vert,True +shaders-msl/vert/no_stage_out.for-tess.vert,False +shaders-msl/vert/no_stage_out.for-tess.vert,True shaders-msl/vert/return-array.force-native-array.vert,False shaders-msl/vert/signedness-mismatch.shader-inputs.vert,False shaders-msl/vert/signedness-mismatch.shader-inputs.vert,True @@ -134,6 +161,7 @@ shaders-no-opt/frag/fp16.invalid.desktop.frag,False shaders-no-opt/frag/multi-dimensional.desktop.invalid.flatten_dim.frag,False shaders-no-opt/frag/variables.zero-initialize.frag,False +shaders-no-opt/vert/io-blocks.force-flattened-io.vert,False shaders-reflection/asm/aliased-entry-point-names.asm.multi,False shaders-reflection/asm/comp/pointer-to-array-of-physical-pointer.asm.comp,False shaders-reflection/asm/op-source-glsl-ssbo-1.asm.comp,False @@ -170,15 +198,3 @@ shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag,False shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag,False shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag,True -shaders/frag/constant-array.frag,False -shaders/frag/constant-array.frag,True -shaders/tese/water_tess.tese,False -shaders/tese/water_tess.tese,True -shaders/vert/read-from-row-major-array.vert,False -shaders/vert/read-from-row-major-array.vert,True -shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag,False -shaders/vulkan/frag/combined-texture-sampler.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture-array.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture-array.vk.frag,True -shaders/vulkan/frag/separate-sampler-texture.vk.frag,False -shaders/vulkan/frag/separate-sampler-texture.vk.frag,True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/shaderc-2020.2/spvc/test/unconfirmed_invalids new/shaderc-2020.3/spvc/test/unconfirmed_invalids --- old/shaderc-2020.2/spvc/test/unconfirmed_invalids 2020-07-23 23:43:08.000000000 +0200 +++ new/shaderc-2020.3/spvc/test/unconfirmed_invalids 2020-09-02 21:52:17.000000000 +0200 @@ -1,3 +1,4 @@ +shaders-hlsl-no-opt/asm/frag/struct-packing-last-element-array-matrix-rule.invalid.asm.frag,False shaders-hlsl-no-opt/asm/frag/switch-block-case-fallthrough.asm.invalid.frag,False shaders-hlsl-no-opt/frag/constant-buffer-array.invalid.sm51.frag,False shaders-hlsl-no-opt/frag/fp16.invalid.desktop.frag,False @@ -6,6 +7,13 @@ shaders-msl-no-opt/asm/packing/load-packed-no-forwarding-5.asm.comp,False shaders-msl-no-opt/asm/packing/load-packed-no-forwarding.asm.comp,False shaders-msl-no-opt/asm/packing/packed-vector-extract-insert.asm.comp,False +shaders-msl-no-opt/asm/packing/scalar-array-float2.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-array-float3-one-element.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-array-float3.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-float2x2-col-major.invalid.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-float2x3-col-major.invalid.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-float3x2-col-major.invalid.asm.frag,False +shaders-msl-no-opt/asm/packing/scalar-float3x3-col-major.invalid.asm.frag,False shaders-msl-no-opt/frag/16bit-constants.invalid.frag,False shaders-msl-no-opt/frag/fp16.desktop.invalid.frag,False shaders-msl-no-opt/frag/min-max-clamp.invalid.asm.frag,False @@ -29,10 +37,3 @@ shaders-no-opt/frag/16bit-constants.invalid.frag,False shaders-no-opt/frag/fp16.invalid.desktop.frag,False shaders-no-opt/frag/multi-dimensional.desktop.invalid.flatten_dim.frag,False -shaders-msl-no-opt/asm/packing/scalar-array-float2.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-array-float3-one-element.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-array-float3.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-float2x2-col-major.invalid.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-float2x3-col-major.invalid.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-float3x2-col-major.invalid.asm.frag,False -shaders-msl-no-opt/asm/packing/scalar-float3x3-col-major.invalid.asm.frag,False
