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-11-11Use Python3 for presubmit (#4986)HEADmasterShahbaz Youssefi
2022-11-10Instrument: Change output buffer offset definitions (#4961)Jeremy Gebben
Add a flags field at the first offset within this buffer. Define flags to allow buffer OOB checking to be enabled or disabled at run time. This is to support VK_EXT_pipeline_robustnes.
2022-11-10spirv-val: Multiple interface var with same SC (#4969)Spencer Fricke
* spirv-val: Multiple interface var with same SC * spirv-val: Use C style headers
2022-11-10Fix macos kokoro builds (#4985)alan-baker
2022-11-08Add pass to eliminate dead output components (#4982)Greg Fischer
This pass eliminates components of output variables that are not stored to. Currently this just eliminates trailing components of arrays and structs, all of which are dead. WARNING: This pass is not designed to be a standalone pass as it can cause interface incompatibiliies with the following shader in the pipeline. See the comment in optimizer.hpp for best usage. This pass is currently available only through the API; it is not available in the CLI. This commit also fixes a bug in CreateDecoration() which is part of the system of generating SPIR-V from the Type manager.
2022-11-08spirv-opt: Add const folding for CompositeInsert (#4943)Spencer Fricke
* spirv-opt: Add const folding pass for CompositeInsert * spirv-opt: Fix anas stack-use-after-scope
2022-11-07spirv-val: Add VUID label for 07703 (#4980)Spencer Fricke
2022-11-05Switch SPIRV-Tools to use spirv.hpp11 internally (#4981)alan-baker
Fixes #4960 * Switches to using enum classes with an underlying type to avoid undefined behaviour
2022-11-02Add passes to eliminate dead output stores (#4970)Greg Fischer
This adds two passes to accomplish this: one pass to analyze a shader to determine the input slots that are live. The second pass is run on the preceding shader to eliminate any stores to output slots that are not consumed by the following shader. These passes support vert, tesc, tese, geom, and frag shaders. These passes are currently only available through the API. These passes together with dead code elimination, and elimination of dead input and output components and variables (WIP), will allow users to do dead code elimination across shader boundaries.
2022-10-28Prevent eliminating case constructs in block merging (#4976)alan-baker
Fixes #4918 * Prevent block merging from producing an invalid case construct by merging a switch target/default with another construct's merge or continue block * This is to satisfy the structural dominance requirement between the switch header and the case constructs
2022-10-28Only validate full layout in Vulkan environments (#4972)alan-baker
Fixes #4671 Fixes https://crbug.com/oss-fuzz/43265 * Only validate full layout in a vulkan environment * Universal validation still checks that the right decorations are present, but the values are only considered for vulkan * One exception is that invalid overlaps are only checked for vulkan * This is a pragmatic choice as SPIR-V doesn't define the size of types so the amount of universal checking would be quite limited * Removed redundant check for GLSLShared and GLSLPacked decorations * Should never have been validated as part of universal validation * make conditionals independent
2022-10-27spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975)Spencer Fricke
2022-10-27Revert "test" (#4974)Nathan Gauër
This reverts commit da215f10c991675b9c1ecb7eef2378e23b2d1276.
2022-10-26testNathan Gauër
2022-10-24Prevent null pointer from being dereferenced (#4971)alan-baker
Fixes https://crbug.com/oss-fuzz/48553 * Assign a reflexive dominator if no other dominator can be found using forward traversals * This prevents a null dereference of a pointer in the sorting of the output
2022-10-24spirv-val: Add OpPtrAccessChain Base checks (#4965)Spencer Fricke
2022-10-20spirv-val: Improve PR 4831 error message (#4968)Spencer Fricke
2022-10-17spirv-val: Add remaining Component decoration validation (#4966)Spencer Fricke
2022-10-12Start SPIRV-Tools v2022.5Diego Novillo
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