Pierre Moreau
42dc678913
Remove duplicated "the" from comments ( #4666 )
2022-01-12 19:04:13 -05:00
Natalie Chouinard
d0a827a9f3
Copy OpDecorateStrings in DescriptorScalarReplacementPass ( #4649 )
...
Along with OpDecorate, also clone the OpDecorateString instructions for
variables created in the descriptor scalar replacement pass.
Fixes microsoft/DirectXShaderCompiler#3705
2021-11-29 02:11:22 -05:00
Jaebaek Seo
1589720e10
spirv-opt: create OpDecorate for OpMemberDecorate in desc-sroa ( #4617 )
...
The scalar replacement of a resource array/struct variable must create
OpDecorate for elements if OpMemberDecorate instructions decorate
the elements.
2021-11-05 11:05:36 -04:00
Jaebaek Seo
d997c83b10
Add spirv-opt pass to replace descriptor accesses based on variable indices ( #4574 )
...
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)
```
2021-10-26 17:20:58 -04:00
Steven Perron
4ed1f4fce9
Fix binding number calculation in desc sroa ( #4095 )
...
When there is an array of strutured buffers, desc sroa will only split
the array, but not a struct type in the structured buffer. However,
the calcualtion of the number of binding a struct requires does not take
this into consideration. This commit will fix that.
2021-01-06 13:59:04 -05:00
Ehsan
7a1af58785
Support OpCompositeExtract pattern in desc_sroa ( #3456 )
...
* Support load and extract pattern in desc_sroa.
* Fix typo in comments.
* Load replacement var before use; and added test.
* fix formatting
* Address code review comments.
2020-06-23 12:24:53 -05:00
Ehsan
2a1b8c0622
Updated desc_sroa to support flattening structures ( #3448 )
...
Not all structures should be flattened. Code patterns used by DXC are used to create checks for which structures should be flattened.
2020-06-19 14:35:18 -04:00
Steven Perron
4b64beb1ae
Add descriptor array scalar replacement ( #2742 )
...
Creates a pass that will replace a descriptor array with individual variables. See #2740 for details.
Fixes #2740 .
2019-08-08 10:53:19 -04:00