- May 25, 2018
-
-
John Kessenich authored
- Adds a pragma to see binary output of double values (not portable) - Print decimals that show more values, but in a portable way (lots of portability issues) - Expand the tests to test more double values Note: it is quite difficult to have 100% portable tests for floating point. The current situation works by not printing full precision, and working around several portability issues.
-
- May 24, 2018
-
-
John Kessenich authored
Update spirv-tools known-good
-
GregF authored
Includes: Fold divide and multiply by same value. Allow ADCE to remove more instructions. Remove dead Workgroup variables in ADCE. Fold fclamp feeding compare. Add pass to fold a load feeding an extract. Remove redundant stores. SROA: Only create symbols that are loaded. Get ADCE to handle OpCopyMemory Remove the limit on struct size in SROA.
-
- May 19, 2018
-
-
John Kessenich authored
HLSL: allow self-type cast (as no-op passthrough)
-
- May 17, 2018
-
-
LoopDawg authored
Previously, casting an object of a struct type to an identical type would produce an error. This PR allows this case. As a side-effect of the change, several self-type casts in existing tests go away. For example: 0:10 Construct float ( temp float) 0:10 'f' ( in float) becomes this (without the unneeded constructor op): 0:10 'f' ( in float) For vector or array types this can result in somewhat less overall code. Fixes: #1218
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
HLSL: require coverage mask to be arrayed output.
-
John Kessenich authored
Fix issue #1376: SPV_AMD_gpu_shader_half_float is not emitted under vulkan1.1
-
Rex Xu authored
vulkan1.1 Interpolation functions, using 16-bit interpolants, should always emit this extension string regardless of vulkan enviornment version.
-
- May 16, 2018
-
-
LoopDawg authored
SPIR-V requires the coverage mask to be an array of integers, but HLSL allows scalar integers. This adds the requisite type conversion and wrapped entry point handling. Fixes: #1202
-
John Kessenich authored
HLSL: various SPIR-V compute shader IDs must be 3-vectors of integers
-
LoopDawg authored
This PR forces the external definition of SV_GroupID variables to 3-vectors. The conversion process between the shader-declared type and the external type happens in wrapped main IO variable conversion. The same applies to SV_DispatchThreadID and SV_GroupThreadID. Fixes: #1371
-
John Kessenich authored
HLSL: Allow stream output Append() method after entry point.
-
- May 15, 2018
-
-
LoopDawg authored
Append() method is special: unlike most outputs, it does not copy some temporary data to a symbol in the entry point epilogue, but rather uses an emit builtin after each write to the output stream. This had been handled by remembering the special output symbol for the stream as it was declared in the shader entry point before symbol sanitization. However the prior code was too simple and only handled cases where the Append() method happened after the entry point, so that the output symbol had been seen. This PR adds a patching step so that the Append()s may appear in any order WRT the entry point. They are patched in an epilogue, whereupon it is guaranteed in a well formed shader that we have seen the appropriate declaration. Fixes #1217.
-
John Kessenich authored
-
- May 12, 2018
-
-
John Kessenich authored
Skip outermost array when assigning locations to auto-array interfaces
-
- May 10, 2018
-
-
John Kessenich authored
We want these tests to be independent of whether SPIRV-opt is used.
-
Neil Roberts authored
When assigning a location to an interface whose stage automatically converts the interfaces to an array, it now strips off the outermost array from the type before calculating how many locations it consumes.
-
- May 05, 2018
-
-
John Kessenich authored
-
John Kessenich authored
Fix #944: Convert argument type to match formal parameter type.
-
John Kessenich authored
Update spirv-opt known-good
-
- May 04, 2018
-
-
John Kessenich authored
-
GregF authored
Notably, this includes the following: - Fix exponential performance of DeadInsertElim - Constant folding of OpVectorTimesScalar - Add Vector DCE - Add store-store elimination to LocalSingleBlockElim - Improve folding of OpVectorTimesScalar and OpPhi - Fixes handling of kill and unreachable ops in inlining
-
- May 03, 2018
-
-
John Kessenich authored
Fixed install for SPIRV, glslang, and hlsl when building shared libs
-
John Kessenich authored
Fix issue #1367 - change the I/O remapper to ignore push constants so…
-
- May 02, 2018
-
-
danginsburg authored
Fix issue #1367 - change the I/O remapper to ignore push constants so it does not apply a binding/descriptor set to them.
-
- Apr 26, 2018
-
-
John Kessenich authored
-
Matthew Albrecht authored
-
John Kessenich authored
Update known-good.
-
- Apr 25, 2018
-
-
GregF authored
Notably, reduces spirv-opt time and adds folding of OpDot and OpFNegate.
-
- Apr 24, 2018
-
-
John Kessenich authored
Initial way of addressing #1362.
-
- Apr 23, 2018
-
-
John Kessenich authored
-
John Kessenich authored
-
- Apr 20, 2018
-
-
John Kessenich authored
-
- Apr 18, 2018
-
-
John Kessenich authored
-
- Apr 17, 2018
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
-