- Nov 09, 2021
-
-
Jakub Kuderski authored
- Mention that `depot_tools` are required and link to that repo. - Make `roll_deps.sh` exit on error. The script passes `shellcheck` with this change. - Reword instruction in the README.
-
Jakub Kuderski authored
Update DEPS ahead of the next Vulkan SDK release. * Roll external/effcee/ 2ec8f8738..ddf5e2bb9 (1 commit) https://github.com/google/effcee/compare/2ec8f8738118...ddf5e2bb9295 $ git log 2ec8f8738..ddf5e2bb9 --date=short --no-merges --format='%ad %ae %s' 2021-08-31 dneto Remove .travis.yml Created with: roll-dep external/effcee * Roll external/googletest/ 955c7f837..bf0701daa (32 commits) https://github.com/google/googletest/compare/955c7f837efa...bf0701daa9f5 $ git log 955c7f837..bf0701daa --date=short --no-merges --format='%ad %ae %s' 2021-11-03 absl-team Googletest export 2021-10-28 dmauro Googletest export 2021-10-27 dmauro Googletest export 2021-10-26 absl-team Googletest export 2021-10-26 absl-team Googletest export 2021-10-25 dmauro Googletest export 2021-10-25 dmauro Googletest export 2021-10-30 dartme18 Re #3637 Show Disabled Tests in testing output 2021-10-11 absl-team Googletest export 2021-10-11 absl-team Googletest export 2021-10-11 absl-team Googletest export 2021-10-08 yesudeep Fix linker errors on FreeBSD. 2021-09-30 absl-team Googletest export 2021-09-28 absl-team Googletest export 2021-09-24 cclauss Fix remaining typos discovered by codespell 2021-09-20 absl-team Googletest export 2021-09-20 absl-team Internal change 2021-09-17 julian.amann Remove bazelbuild/rules_cc dependency 2021-09-16 cclauss Fix typos discovered by codespell 2021-09-16 cclauss Fix typos discovered by codespell 2021-09-16 cclauss Fix typo discovered by codespell 2021-09-15 absl-team Googletest export 2021-09-15 dmauro Googletest export 2021-09-15 absl-team Googletest export 2021-09-14 dmauro Googletest export 2021-09-14 dmauro Googletest export 2021-09-14 absl-team Googletest export 2021-09-15 761129+derekmauro Revert grammatically incorrect change 2021-09-10 absl-team Googletest export 2021-08-10 akashkumarsingh11032001 add a missing 'a' 2021-08-10 akashkumarsingh11032001 Create CONTRIBUTING.md 2020-12-29 julien.jemine Using auto instead of container::const_iterator Created with: roll-dep external/googletest * Roll external/spirv-headers/ 19e835041..29817199b (3 commits) https://github.com/KhronosGroup/SPIRV-Headers/compare/19e8350415ed...29817199b706 $ git log 19e835041..29817199b --date=short --no-merges --format='%ad %ae %s' 2021-07-24 kpet Add SpecConstantSubgroupMaxSize to the clspv reflection non-semantic instruction set 2021-05-24 pmistry Implement header definitions for SPV_NV_bindless_texture 2021-10-12 ben.ashbaugh reserve SPIR-V enum block for Intel extensions Created with: roll-dep external/spirv-headers
-
Jakub Kuderski authored
-
- Nov 05, 2021
-
-
alan-baker authored
Fixes #4469 * Checks that decorations only usable with structure members are not used by OpDecorate or OpDecorateId * Checks that decorations not allowed on structure members are not used with OpMemberDecorate * Checks decoration targets for most core decorations * Performs some Vulkan specific validation on deorations
-
Jaebaek Seo authored
The scalar replacement of a resource array/struct variable must create OpDecorate for elements if OpMemberDecorate instructions decorate the elements.
-
- Nov 03, 2021
-
-
David Neto authored
-
David Neto authored
The JS-Tools/npm-publish flow requires a `token` attribute, even in dry-run mode. There is no token, so remove the step for now.
-
- Nov 02, 2021
-
-
David Neto authored
-
- Nov 01, 2021
-
-
Pelle Johnsen authored
* Add wasm build * Run wasm ci on push * Add copyright notice to wasm files * [wasm] Update Emscripten * [wasm] Change global lambda to regular function * [wasm] Show detected core count during build * [wasm] Set JS version from CHANGES, GITHUB_RUN_ID Also remove custom docker emscripten build with brotli, as not used * [wasm] Change github actions to use npm-publish * [wasm] Us docker-compose up for CI * [wasm] pass GITHUB_RUN_ID to docker * [wasm] Change GITHUB_RUN_ID to GITHUB_RUN_NUMBER * [wasm] Fix GITHUB_RUN_NUMBER in docker-compose.yml
-
Steven Perron authored
If the ids overflow when creating an integer constant in the ir_builder, there will be a nullptr dereference. This is happening from inside merge return. We need to propagate the error up, and make sure it is handled appropriately.
-
- Oct 29, 2021
-
-
Alastair Donaldson authored
In #3404 a logical && was replaced with a bitwise & to ensure that both side-effecting arguments were evaluated. However, this leads to warnings from some compilers (leading to the OSS-Fuzz build breaking, in particular). This change reworks the relevant code so that both arguments to the logical && are evaluated into temporaries.
-
Ralf Habacker authored
Fixes #4582
-
timlyeee authored
* Make cxx exceptions controllable Found a possible link error if we compile spirv-tools by using VS2019 and link with VS2017 for another project, unresolved symbols as _CxxFrameHandler4 and __GSHandlerCheck_EH4 will be thrown. As Visual Studio updated its c++ exceptions libs. https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/ So we are making cxx exceptions controllable via a CMake option `ENABLE_EXCEPTIONS_ON_MSVC`.
-
sfricke-samsung authored
-
Steven Perron authored
Consider the new test case. The conditional branch in the continue block is never marked as live. However, `IsDead` will say it is not dead, so it does not get deleted. Because it was never marked as live, `%false` was not mark as live either, but it gets deleted. This results in invalid code. To fix this properly, we had to reconsider how branches are handle. We make the following changes: 1) Terminator instructions that are not branch or OpUnreachable must be kept, so they are marked as live when initializing the worklist. 2) Branches and OpUnreachable instructions are marked as live if a) the block does not have a merge instruction and another instruction in the block is marked as live, or b) the merge instruction in the same block is marked as live. 3) Any instruction that is not marked as live is removed. 4) If a terminator is to be removed, an OpUnreachable is added. This happens when the entire block is dead, and the block will be removed. The OpUnreachable is generated to make sure the block still has a terminator, and is valid. Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/4509.
-
Steven Perron authored
The generator ID is located in the upper 16 bits. The lower bits are reserved for a version number. Co-authored-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
- Oct 28, 2021
-
-
alan-baker authored
Fixes #4537 * Only validate the layout of workgroup variables if the WorkgroupMemoryExplicitLayoutKHR capability is declared
-
David Neto authored
When checking the OpBranchConditional for selection headers, we intend to register both the true and false targets. Short circuiting was getting in the way. Co-authored-by:
Steven Perron <stevenperron@google.com>
-
Steven Perron authored
Spirv-opt has not had to handle module with function declarations. This lead many passes to assume that every function has a body. This is not always true. This commit will modify a number of passes to handle function declarations. Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/4443
-
Steven Perron authored
If we do not delete the decoration before all ReplaceAllUses, the decorations will be transferred to the new id. This can cause problems. Fixes #4442.
-
Steven Perron authored
When the variable value is INT_MIN, we cannot fold the negate into the divide, so we have to turn off that folding rule. Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/4487.
-
- Oct 26, 2021
-
-
Jaebaek Seo authored
This commit adds a spirv-opt pass to replace accesses to descriptor array based on variable indices with constant elements. Before: ``` %descriptor = OpVariable %_ptr_array_Image Uniform ... %ac = OpAccessChain %_ptr_Image %descriptor %variable_index (some image instructions using %ac) ``` After: ``` %descriptor = OpVariable %_ptr_array_Image Uniform ... OpSwitch %variable_index 0 %case0 1 %case1 ... ... %case0 = OpLabel %ac = OpAccessChain %_ptr_Image %descriptor %uint_0 ... %case1 = OpLabel %ac = OpAccessChain %_ptr_Image %descriptor %uint_1 ... (use OpPhi for value with concrete type) ```
-
Steven Perron authored
Having IsLocalVar work only sometimes is something that could easily lead to an error. This change refactors the code so that the function can be called at any point. The current implementation was used because we did not want to do multiple searches to see if a function was an entry point or if it had a call. This was maintained by added a cache that will store of a given function is an entry point with no calls.
-
Alastair Donaldson authored
Fixes #4431.
-
- Oct 25, 2021
-
-
alan-baker authored
Fixes https://crbug.com/40216 * Handle entry points with no execution modes when checking implicit derivative execution model checks
-
- Oct 21, 2021
-
-
David Neto authored
When setting default value for spec constants, for numeric bit types smaller than 32 bits, follow the SPIR-V rules for narrow literals: - signed integers are sign-extended - otherwise, upper bits are zero. Followup to #4588
-
- Oct 20, 2021
-
-
Dave Airlie authored
* test: add a test to show 8/16-bit * opt/spec_constants: fix bit pattern width checks. The input bit patterns are always at least 32-bits, so let the test pass for 8/16-bit values as well. This shouldn't have any effect on the 64-bit patterns I assume this was introduced for.
-
Alastair Donaldson authored
The OSS-Fuzz i386 build has been failing due to errors about 64-to-32-bit conversions, relating to random generation code. This changre fixes the problem by explicitly using a 64-bit random generator, and by adding a cast to size_t to avoid an implicit conversion.
-
Greg Fischer authored
Do this if Constant or DefUse managers are invalid. Using the ConstantManager attempts to regenerate the DefUseManager which is not valid during inlining.
-
- Oct 19, 2021
-
-
David Neto authored
Bot failures are unrelated.
-
- Oct 18, 2021
-
-
David Neto authored
I checked this against the Kokoro output.
-
JiaoluAMD authored
This is follow-up to the commit https://github.com/KhronosGroup/SPIRV-Tools/commit/bd3a271ce3fcc8b9ed8e6eb2e94392d1b220adc9
-
- Oct 15, 2021
-
-
alan-baker authored
Fixes #4561 * When checking for offsets, don't accept 0xffffffff
-
- Oct 14, 2021
-
-
alan-baker authored
* Account for strided components in arrays Fixes #4567 * If the element type of an array takes less than a location in size, calculate the location usage in a strided manner * formatting
-
David Neto authored
- Remove Appveyor CI - Write new "Getting the source" subsection, consolidating material from a couple of places. Emphasize using the utils/git-sync-deps script for getting a known-good combination of sources. - Built artifacts: - top of tree artifacts are from Kokoro CI bots - mention Vulkan SDK and Android NDK as alternatives Fixes: #4577
-
Greg Fischer authored
Otherwise KillInst() tries to generate it when the module is inconsistent.
-
David Neto authored
According to spec this opcode is a constant instruction - that's it can appear outside of function bodies. Co-authored-by:
DmitryBushev <dmitry.bushev@intel.com>
-
Alastair Donaldson authored
Fixes #4552.
-
- Oct 13, 2021
-
-
Ryan Harrison authored
-
alan-baker authored
* Add pass-through validation for Offsets image operand * it is counted as an offset parameter though * Update DEPS
-