Timo Aaltonen pushed to branch debian-unstable at X Strike Force / vulkan / 
spirv-tools


Commits:
b53d3a6b by Diego Novillo at 2022-10-12T12:17:13-04:00
Start SPIRV-Tools v2022.5

- - - - -
ecd5b9c1 by Spencer Fricke at 2022-10-17T16:54:39-04:00
spirv-val: Add remaining Component decoration validation (#4966)


- - - - -
eb113f0f by Spencer Fricke at 2022-10-20T10:51:43-04:00
spirv-val: Improve PR 4831 error message (#4968)


- - - - -
0ebf8305 by Spencer Fricke at 2022-10-24T12:45:08-04:00
spirv-val: Add OpPtrAccessChain Base checks (#4965)


- - - - -
7326b967 by alan-baker at 2022-10-24T15:16:33-04:00
Prevent null pointer from being dereferenced (#4971)

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
- - - - -
da215f10 by Nathan Gauër at 2022-10-26T16:42:29+00:00
test

- - - - -
b49a2caa by Nathan Gauër at 2022-10-27T14:17:31+02:00
Revert "test" (#4974)

This reverts commit da215f10c991675b9c1ecb7eef2378e23b2d1276.
- - - - -
9f3a4afa by Spencer Fricke at 2022-10-27T10:10:27-04:00
spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975)


- - - - -
4563d909 by alan-baker at 2022-10-28T11:52:28-04:00
Only validate full layout in Vulkan environments (#4972)

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

- - - - -
a52de681 by alan-baker at 2022-10-28T14:13:20-04:00
Prevent eliminating case constructs in block merging (#4976)

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

- - - - -
c8e1588c by Greg Fischer at 2022-11-02T11:23:25-06:00
Add passes to eliminate dead output stores (#4970)

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.
- - - - -
d35a78db by alan-baker at 2022-11-04T17:27:10-04:00
Switch SPIRV-Tools to use spirv.hpp11 internally (#4981)

Fixes #4960

* Switches to using enum classes with an underlying type to avoid
  undefined behaviour

- - - - -
a5e766b2 by Spencer Fricke at 2022-11-06T19:05:25-05:00
spirv-val: Add VUID label for 07703 (#4980)


- - - - -
54d4e77f by Spencer Fricke at 2022-11-08T10:50:42-05:00
spirv-opt: Add const folding for CompositeInsert (#4943)

* spirv-opt: Add const folding pass for CompositeInsert

* spirv-opt: Fix anas stack-use-after-scope
- - - - -
525bc380 by Greg Fischer at 2022-11-08T10:45:32-07:00
Add pass to eliminate dead output components (#4982)

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.
- - - - -
aae7d413 by alan-baker at 2022-11-09T17:37:23-05:00
Fix macos kokoro builds (#4985)


- - - - -
996d4c02 by Spencer Fricke at 2022-11-10T12:32:58-05:00
spirv-val: Multiple interface var with same SC (#4969)

* spirv-val: Multiple interface var with same SC

* spirv-val: Use C style headers
- - - - -
68e8327f by Jeremy Gebben at 2022-11-10T12:35:18-05:00
Instrument: Change output buffer offset definitions (#4961)

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.
- - - - -
a8647f59 by Shahbaz Youssefi at 2022-11-11T09:18:00-05:00
Use Python3 for presubmit (#4986)


- - - - -
8ea3ae6b by Greg Fischer at 2022-11-14T11:44:26-07:00
Split EliminateDeadInputComponents into safe and unsafe versions. (#4984)

Safe version will only optimize vertex shaders. All other shaders will
succeed without change.

Change --eliminate-dead-input-components to use new safe version.

Unsafe version (allowing non-vertex shaders) currently only available
through API. Should only be used in combination with other optimizations
to keep interfaces consistent. See optimizer.hpp for more details.
- - - - -
1a7f71af by Nathan Gauër at 2022-11-17T19:02:50+01:00
clean: constexpr-ify and unify anon namespace use (#4991)

Constexpr guaranteed no runtime init in addition to const semantics.
Moving all opt/ to constexpr.
Moving all compile-unit statics to anonymous namespaces to uniformize
the method used (anonymous namespace vs static has the same behavior
here AFAIK).

Signed-off-by: Nathan Gauër <brio...@google.com>
- - - - -
46ca66e6 by Greg Fischer at 2022-11-18T15:08:18-07:00
Add support for tesc, tese and geom to EliminateDead*Components (#4990)


- - - - -
81ec2aaa by Greg Fischer at 2022-11-23T10:48:58-07:00
Add option to ADCE to remove output variables from interface. (#4994)

This can cause interface incompatibility and should only be done
if ADCE has been applied to the following shader in the pipeline.
For this reason this capability is not available through the CLI
but rather only non-default through the API. This functionality is
intended as part of a larger cross-shader dead code elimination
sequence.
- - - - -
597631b6 by Spencer Fricke at 2022-11-24T08:38:12-05:00
spirv-opt: Handle null CompositeInsert (#4998)

Fixes #4996 
- - - - -
f33d1524 by alelenv at 2022-11-24T09:50:45-05:00
Add validation support for SPV_NV_shader_invocation_reorder. (#4979)


Co-authored-by: Pankaj Mistry <pmis...@nvidia.com>
- - - - -
9a6f4121 by Biswapriyo Nath at 2022-11-25T10:54:38-05:00
Fix missing declaration of std::numeric_limits (#5002)

This fixes the errors:
validate_ray_tracing_reorder.cpp:25:49: error: 'numeric_limits' is not 
a member of 'std'
- - - - -
00018e58 by Greg Fischer at 2022-11-25T16:48:13-07:00
Change EliminateDeadInputComponentsPass to EliminateDeadIOComponentsPass (#4997)

To reflect processing of both Input and Output variables.

Also renamed files as needed.
- - - - -
d9446130 by Brian Osman at 2022-11-28T13:24:44-05:00
Update BUILD.gn with recently added file (#5004)


- - - - -
40f5bf59 by Cassandra Beckley at 2022-12-05T12:31:01-08:00
Revert "spirv-val: Multiple interface var with same SC (#4969)" 
(#5009)

This reverts commit 996d4c021f7112356b305b7172fd722d02eefdb5. This
commit is likely good, but it causes a failure in DXC tests. Will
un-revert once we fix the issue in DXC.
- - - - -
f7d7b6ab by Timo Aaltonen at 2023-01-17T20:06:16+02:00
Merge branch 'upstream-unstable' into debian-unstable

- - - - -
2c7e4dfe by Timo Aaltonen at 2023-01-17T20:07:20+02:00
version bump

- - - - -
a488def4 by Timo Aaltonen at 2023-01-18T12:11:15+02:00
control: Bump build-dep on spirv-headers.

- - - - -
11968216 by Timo Aaltonen at 2023-01-18T12:13:21+02:00
release to sid

- - - - -


30 changed files:

- Android.mk
- BUILD.bazel
- BUILD.gn
- CHANGES
- CMakeLists.txt
- DEPS
- PRESUBMIT.py
- build_defs.bzl
- debian/changelog
- debian/control
- include/spirv-tools/instrument.hpp
- include/spirv-tools/optimizer.hpp
- kokoro/scripts/macos/build.sh
- source/CMakeLists.txt
- source/assembly_grammar.cpp
- source/assembly_grammar.h
- source/binary.cpp
- source/cfa.h
- source/diff/diff.cpp
- source/disassemble.cpp
- source/enum_set.h
- source/enum_string_mapping.h
- source/extensions.cpp
- source/fuzz/added_function_reducer.cpp
- source/fuzz/call_graph.cpp
- source/fuzz/fact_manager/constant_uniform_facts.cpp
- source/fuzz/fact_manager/data_synonym_and_id_equation_facts.cpp
- source/fuzz/fact_manager/data_synonym_and_id_equation_facts.h
- source/fuzz/fact_manager/fact_manager.cpp
- source/fuzz/fact_manager/fact_manager.h


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/vulkan/spirv-tools/-/compare/ee69b8317bf5bc5e02aa489905691bbc217f7e66...1196821638c542f899b88efdb8227aa8472d09f6

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/vulkan/spirv-tools/-/compare/ee69b8317bf5bc5e02aa489905691bbc217f7e66...1196821638c542f899b88efdb8227aa8472d09f6
You're receiving this email because of your account on salsa.debian.org.


Reply via email to