Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-12Finalize SPIRV-Tools v2022.4v2022.4sdk-1.3.231.1sdk-1.3.231.0sdk-1.3.231canaryDiego Novillo
2022-10-12Update CHANGESDiego Novillo
2022-10-12Roll external/spirv-headers/ 4bd8fc0c8..85a1ed200 (4 commits)Diego Novillo
https://github.com/KhronosGroup/SPIRV-Headers/compare/4bd8fc0c8c26...85a1ed200d50 $ git log 4bd8fc0c8..85a1ed200 --date=short --no-merges --format='%ad %ae %s' 2022-10-05 dkoch Fix extension for RayTracingOpacityMicromapEXT 2022-10-04 kpet Add support for texel buffers to clspv non-semantic instruction set 2022-10-04 hugo registered ID for Shady 2022-08-23 ewerness VK_EXT_opacity_micromap Created with: roll-dep external/spirv-headers
2022-10-12Roll external/re2/ 5723bb895..d2836d1b1 (11 commits)Diego Novillo
https://github.com/google/re2/compare/5723bb895031...d2836d1b1c34 $ git log 5723bb895..d2836d1b1 --date=short --no-merges --format='%ad %ae %s' 2022-10-10 jimquinn custom comparator for prefilter exact strings 2022-10-06 jimquinn reduce string copies in prefilter 2022-09-14 junyer Update Unicode data to 15.0.0. 2022-08-26 junyer Add Clang 15 to the build matrix. 2022-08-24 junyer Document why `RE2` objects are neither copyable nor movable. 2022-08-08 junyer Address some more `-Wunreachable-code` warnings. 2022-08-05 junyer Attempt to address some `-Wunreachable-code` warnings. 2022-08-04 junyer Remove the use of `six` from `unicode.py`. 2022-08-03 junyer Remove guards for SWIG. 2022-06-03 hannahshisfb fix 64 to 32 bit clang conversion warning 2022-05-31 junyer Optimise the layout of the `RE2` class. Created with: roll-dep external/re2
2022-10-12Roll external/googletest/ 548b13dc3..d9bb8412d (78 commits)Diego Novillo
https://github.com/google/googletest/compare/548b13dc3c02...d9bb8412d60b $ git log 548b13dc3..d9bb8412d --date=short --no-merges --format='%ad %ae %s' 2022-10-07 ferenc.gm Suggests a release with fixed CMakeLists.txt 2022-10-07 absl-team Update the POSIX Extended section of the Regular Expression Wikipedia page 2022-10-06 absl-team [fuchsia] Use __builtin_trap to trigger gunit_break_on_failure on non-x86 arch 2022-10-05 absl-team Makes Clang compilations via Ninja on Windows define _DLL only for shared CRT builds, as one would already expect from MSVC builds. (Previously, static Clang/Ninja builds on Windows also implicitly defined _DLL, which was problematic.) 2022-09-30 absl-team Uses a simpler mechanism to disable the copying of GoogleTest test suites, to move code out of the TEST_P macro. 2022-09-28 absl-team Rollback: Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code. 2022-09-28 absl-team Rollback: Uses a simpler mechanism to disable the copying of GoogleTest test suites. 2022-09-28 absl-team Uses a simpler mechanism to disable the copying of GoogleTest test suites. 2022-09-28 absl-team Moves boilerplate disabling copy constructor/assignment from GoogleTest's TEST_P macro into a header file to avoid triggering warnings in user code. 2022-09-27 absl-team Add GoogleTest workaround for MSVC crash with Address Sanitizer (ASAN) on version 17.3.3 2022-09-27 cclauss Branding: macOS 2022-09-27 cclauss Upgrade GitHub Actions Checkout 2022-09-20 maratek Port GoogleTest to QuRT (Hexagon RTOS) 2022-09-18 426690+softwaregravy Update link to Bazel installation guide 2022-09-13 dmauro Fix MSVC C++14 flag for GitHub workflow 2022-09-13 dmauro Rollback 4fa8cfe3f4dee8975ee02d98633a5245ab67c6d7 2022-09-09 absl-team Use UnorderedElementsAre in example about using matchers with maps 2022-09-08 absl-team Remove obsolete MSVC warning pragmas for Invalid<T>() 2022-09-01 absl-team Fixed header guards to match style guide conventions. 2022-08-26 absl-team Consider all TERM values ending in "-256color" to be color supporting. In particular this handles TERM=hterm-256color correctly. 2022-08-22 hardikv Add support of 19-member structs to gmock UnpackStructImpl. 2022-08-19 keithbsmiley bazel: move -std=c++14 to .bazelrc 2022-08-16 dmauro Update README.md to point to the Foundational C++ Support Policy 2022-08-12 dmauro Add --features=external_include_paths to Bazel CI to ignore warnings from dependencies 2022-08-08 dinor gtest_unittest: Call FAIL() in lambda, fix incorrect fatality expectation 2022-08-04 dinor Explicitly instantiate matchee std::string in MatchesRegex 2022-07-31 bmburstein Custom type with Combine(). Fix for #3781 2022-07-28 absl-team Add support of 18-member structs to gmock UnpackStructImpl. 2022-07-25 dinor Add IsEmpty overload for C-style strings 2022-07-21 thegeorg Continuation for #3183 2022-07-20 matdibu gtest-death-test: add 'noreturn' 2022-06-28 dev Set cmake policy CMP0069 2022-07-14 polushin export ThreadLocalValueHolderBase which is required by exported APIs. 2022-07-11 polushin cmake: make PDB output directory match that of a static library. 2022-07-11 polushin cmake: find python in order specified by PATH environment variable. 2022-07-11 dmauro Add envvar BAZEL_CXXOPTS=-std=c++14 to the GitHub Actions CI 2022-07-08 dmauro CMake: raise the default C++ standard to cxx_std_14 2022-07-07 ckennelly Enable heterogeneous lookup for RegisteredTestsMap. 2022-07-01 nikiforov.al cleanup from unique_ptr branch 2022-07-01 dmauro Remove the Bazel provided default cxxopt -std=c++0x and replace it with -std=c++14 when testing with GCC 5. 2022-07-01 57719497+yutotnh fix: some typos in source 2022-07-01 57719497+yutotnh fix: typo in test name 2022-07-01 57719497+yutotnh fix: some typos in comment 2022-06-30 dmauro Remove support for C++11 2022-06-30 dmauro Update version number in CMakeLists.txt Note that this is 1.12.1 as there will be a patch release to fix this 2022-06-29 absl-team Add support of 17-member structs to gmock UnpackStructImpl. 2022-06-27 absl-team Mark internal-only function as having internal linkage. 2022-06-27 93249401+assafpr Update gtest.cc 2022-06-27 93249401+assafpr Update gmock-matchers.h 2022-06-27 93249401+assafpr Update gmock-actions.h 2022-06-27 93249401+assafpr Update gmock-spec-builders_test.cc 2022-06-27 93249401+assafpr Update gtest-death-test.cc 2022-06-27 93249401+assafpr Update gmock-spec-builders.cc 2022-06-27 93249401+assafpr Update advanced.md 2022-06-26 asmodai27 Avoid implicit conversion from int to char 2022-06-26 asmodai27 Avoid implicit conversion from int to char 2022-06-25 julian.arkenau docs: update googletest README for release 1.12.0 2022-06-23 dmauro Update README.md for release 1.12.0 2022-06-22 dmauro Update versions of WORKSPACE dependencies 2022-06-22 93249401+assafpr documentation, change mater branch to main 2022-06-22 93249401+assafpr Update faq.md 2022-06-22 93249401+assafpr Update CONTRIBUTING.md 2022-06-22 93249401+assafpr documentation, change mater branch to main 2022-06-22 93249401+assafpr documentation, change mater branch to main 2022-06-22 93249401+assafpr Update gmock_output_test_golden.txt 2022-06-22 93249401+assafpr change link from master to main in documentation 2022-06-21 dmauro Update GCC floor container used by CI to fix the Bazel cache error 2022-06-16 dmauro Disable warning C4251 around refactored code 2022-06-13 absl-team gmock_cook_book.md: Delete superfluous statement from 2014. 2022-06-11 gpetit Move declaration of kStdOutFileNo and kStdErrFileno 2022-06-09 absl-team Update googletest docs to indicate that RE2 is now used for regexp implementation when building with Bazel and using Abseil. 2022-06-09 absl-team Remove undefined internal function. Fixes #3856 2022-06-01 dmauro Work around a maybe-uninitialized warning under GCC 12 2022-05-31 gpetit Fix for undefined symbol: testing::internal::Random::kMaxRange 2022-05-30 gpetit Simplify ColoredPrintf to rely on ShouldUseColor 2022-05-30 gpetit Fix "unused variable" warning 2022-05-18 akohlmey set -utf-8 flag only for real MSVC compilers. E.g. not Intel's icx.exe 2022-03-26 perez.cs Fix quickstart-cmake documentation Created with: roll-dep external/googletest
2022-10-12Roll external/effcee/ ddf5e2bb9..35912e1b7 (1 commit)Diego Novillo
https://github.com/google/effcee/compare/ddf5e2bb9295...35912e1b7778 $ git log ddf5e2bb9..35912e1b7 --date=short --no-merges --format='%ad %ae %s' 2022-07-06 dneto Update Bazel build rules Created with: roll-dep external/effcee
2022-10-11Update SPIRV-Headers revision (#4962)Kévin Petit
Following #4958 Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: I0aed90dbd5705881a5f68d439f9d191d5d01c993 Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2022-10-06Support Narrow Types in BitCast Folding Rule (#4941)gmitrano-unity
* Support Narrow Types in BitCast Folding Rule This change adds support for narrow types in the BitCastScalarOrVector folding rule. According to Section 2.2.1 of the SPIR-V spec, types that are narrower than 32 bits are automatically either sign extended, or zero extended depending on the type. With that guaranteed, we should be able to use the first 32-bit word of any narrow type for the folding logic without performing any special conversions. In order to reduce code duplication, this change moves the GetU32BitValue and GetU64BitValue functions from IntConstant to ScalarConstant. Without this move, we would have needed an identical version of GetU32BitValue on FloatConstant. * Add Tests for 16-bit BitCast Folding This change adds several new test cases to the IntegerInstructionFoldingTest which trigger the 16-bit BitCast logic. The logic for half types was also added to the integer case since we can't easily validate half float types in C++ code. It's easier to validate them as unsigned integers instead. Pllus this also allows us to verify the SPIR-V constant sign extension logic too. * Add 8-Bit Folding Test Cases This change adds a couple more test cases to the integer instruction folding test suite in order to ensure that the BitCast logic also works correctly with the Int8 shader capability.
2022-10-06spirv-val: Add SPV_ARM_core_builtins validation (#4958)Kévin Petit
Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: If1680a823aea9662d44def1ec6fe6ac334c00574 Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2022-09-30spirv-val: Use ostringstream in id validation tests (#4956)Shahbaz Youssefi
Proved to be marginally faster than appending to string.
2022-09-30spirv-val: Add an option to use friendly names or not (#4951)Shahbaz Youssefi
The always-friendly messages make it harder to debug when the disassembly is later generated without friendly names. Additionally, the friendly-name-mapper is slow. Disabling it improves performance of an ANGLE test that creates numerous shaders by ~5%.
2022-09-29spirv-val: Consistently quote ids in messages (#4950)Shahbaz Youssefi
Half the messages used to output 'id[%name]' and half id[%name]. With this change, all messages consistently output 'id[%name]'. Some typos are also fixed in the process.
2022-09-27build: Fix BUILD.gn build error (#4948)Spencer Fricke
2022-09-23spirv-opt: Remove unused folding rule (#4942)Spencer Fricke
2022-09-23spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924)Spencer Fricke
* Move TaskEXT check to OpEmitMeshTasksEXT * Add MeshNV for Execution Model alias
2022-09-23Fix CreatDebugInlinedAt to not invoke def_use_mgr (#4939)Greg Fischer
2022-09-23spirv-opt: Fix stacked CompositeExtract constant folds (#4932)Spencer Fricke
This was spotted in the Validation Layers where OpSpecConstantOp %x CompositeExtract %y 0 was being folded to a constant, but anything that was using it wasn't recognizing it as a constant, the simple fix was to add a const_mgr->MapInst(new_const_inst); so the next instruction knew it was a const
2022-09-21Remove `spvOpcodeTerminatesExecution` (#4931)Steven Perron
* Remove `spvOpcodeTerminatesExecution` This function is the same as `spvOpcodeIsAbort` except for OpUnreachable. The names are so close in meaning that it is hard to distinguish them. I've removed `spvOpcodeTerminatesExecution` since it is used in only a single place. I've special cased OpUnreachable in that location. At the same time, I fixed up some comments related to the use of the TerminatesExecution and IsAbort functions. Following up on #4930. * Fix comments
2022-09-21Fix builtin validator for unimplemented opcodes. (#4940)Diego Novillo
This prevents spurious build failures when new opcodeds are added in SPIRV-Headers. It moves all the unhandled opcodes to the `default` case.
2022-09-21spirv-val: Make it legal to use arrays of ray queries (#4938)Ricardo Garcia
Private arrays of ray queries are legal to use. Several CTS tests check they work properly but were being rejected by spirv-val.
2022-09-21Cleanup code for 272e4b3d0 (#4934)Greg Fischer
Removed now unused DebugDeclare visibility logic for generating DebugValue. Also eliminated the phi sort introduced in 272e4b3. This should have been removed in the first commit.
2022-09-16spirv-val: Fix comment for checking extended alignments (#4937)David Neto
* getBaseAlignment with roundUp true is called the "extended" by the Vulka spec. * roundUp also affects matrix alignment, not just struct and array
2022-09-16spirv-val: Update VUID from 1.3.228 Vulkan spec (#4936)Spencer Fricke
Co-authored-by: alan-baker <alanbaker@google.com>
2022-09-16spirv-val: Label VUID 07290 (#4927)Spencer Fricke
2022-09-16spirv-val: Label ShaderRecordBufferKHR VUID (#4926)Spencer Fricke
2022-09-16spirv-val: Test file suffix consistency (#4925)Spencer Fricke
2022-09-13Fix missing and incorrect DebugValues (#4929)Greg Fischer
Specificially, fixes DebugValues coming out of eliminate-local-single-store and eliminate-local-multi-store AKA SSA rewrite.
2022-09-12Also consider EmitMeshTasksEXT terminator in spirv-opt. (#4930)Hans-Kristian Arntzen
Not sure why this is repeated for validation and optimizer, but ...
2022-09-09Fix DebugInlinedAt Line operand (#4928)Jeremy Hayes
Line instructions may be OpLine or DebugLine. This commit adds support for DebugLine.
2022-09-07spirv-diff: Allow no SpecId (#4904)Spencer Fricke
2022-09-07spirv-val: consider OpEmitMeshTasksEXT a terminator instruction (#4923)Spencer Fricke
2022-09-07spirv-val: Label Builtin Array Test VUIDs (#4921)Spencer Fricke
2022-09-02Support building on OpenBSD (#4912)Brad Smith
2022-09-02Improve time to build dominators (#4916)Steven Perron
Changed a couple small parts of the algorithm to reduce time to build the dominator trees. There should be no visible changes. Add a depth first search algorithm that does not run a function on backedges. The check if an edge is a back edge is time consuming, and pointless if the function run on it is a nop.
2022-09-02build: cmake: Add support for GNU/Hurd (#4895)Samuel Thibault
2022-09-02spirv-opt: Remove unused fold spec const code (#4906)Spencer Fricke
2022-09-02Implement tool changes for SPV_EXT_mesh_shader. (#4915)tmp-1.3.230Pankaj Mistry
- Added validation rule to support EXT_mesh_shader from SPIRV 1.4 onwards
2022-09-01Instrument: Add OpNames to generated functions and variables (#4873)jeremyg-lunarg
Add name annotations to the generated instrumentation code to make it easier to understand. Example spirv-cross output: vec4 _140; if (0u < inst_bindless_direct_read_4(0u, 0u, 1u, uint(_19))) { _140 = texture(textures[nonuniformEXT(_19)], inUV); } else { inst_bindless_stream_write_4(50u, 1u, uint(_19), 0u); _140 = vec4(0.0); }
2022-09-01Fix ADCE to mark scope and inlined_at of line instructions as live. (#4910)Greg Fischer
2022-08-31Improve algorithm to reorder blocks in a function (#4911)Steven Perron
* Improve algorithm to reorder blocks in a function In dead branch elimination, blocks can end up in a the wrong order, so there is code to reorder the blocks in structured order. The problem is that the algorithm to do that is very poor. It involves many searchs in the function for the correct position to place the block, as well as moving many block in the vector. The solution is to write a specialized function in the function class that will reorder the blocks in structured order. After computing the structured order, reordering the block can be done in linear time, with very little overhead.
2022-08-29spirv-val: Better message for using OpTypeBool in input/output (#4901)Spencer Fricke
2022-08-29spirv-val: Use lookup table for Decoration string (#4903)Spencer Fricke
2022-08-29spirv-val: Add SPV_KHR_ray_tracing storage class (#4868)Spencer Fricke
* Added VUID labels
2022-08-23tests: Make InstrumentPass tests use SinglePassRunAndMatch<> and stateful ↵jeremyg-lunarg
pattern matching (#4897) Using SinglePassRunAndMatch<> instead of SinglePassRunAndCheck<> makes tests more concise and makes it possible to use pattern matching features. Using Effcee stateful pattern matching to make it less repetitive to check for generated functions and global variables. This approach isn't worth it for DebugPrintf functions because the generated code will change depending on how many parameters are passed to every debugPrintfEXT() call.
2022-08-23Disable DebugInfoMgr during the entire CompactIds pass (#4905)Greg Fischer
This is because the DebugInfo manager requires valid SPIR-V which is not always true during this pass. Add comment
2022-08-18spirv-val: SBT Index for OpExecuteCallableKHR (#4900)Spencer Fricke
2022-08-17spirv-val: Remove ImageWrite Texel todo (#4899)Spencer Fricke
2022-08-16Add structs to eliminate dead input components (#4894)Greg Fischer
Will eliminate all trailing members of input struct that are not referenced.
2022-08-16spirv-opt: fix copy-propagate-arrays index opti on structs. (#4891)Nathan Gauër
* spirv-opt: fix copy-propagate-arrays index opti on structs. As per SPIR-V spec: OpAccessChain indices must be OpConstant when indexing into a structure. This optimization tried to remove load cascade. But in some scenario failed: ```c cbuffer MyStruct { uint my_field; }; uint main(uint index) { const uint my_array[1] = { my_field }; return my_array[index] } ``` This is valid as the struct is indexed with a constant index, and then the array is indexed using a dynamic index. The optimization would consider the local array to be useless and generated a load directly into the struct. * spirv-opt: prevent creation of unused instructions Copy-propagate-arrays optimization pass would create unused constants, even if the optimization not completed. This was caused by the way we handled OpAccessChain squashing: we only referenced constants, and had to create them upfront. Fixes #4887 Signed-off-by: Nathan Gauër <brioche@google.com>
2022-08-16Fix ADCE to not eliminate top level DebugInfo instructions (#4889)Greg Fischer
Specifically, DebugSourceContinued, DebugCompilationUnit, and DebugEntryPoint. These instructions are top-level instructions which do not or may not have a user except for the tool and so should not be eliminated.