- Feb 05, 2018
-
-
David Neto authored
Update SPIRV-Tools. Relevant functional changes: - Optimizer enhancements: - ADCE now removes OpSwitch - Block merging occurs in more cases - Optimizer fixes: - Constant propagation (CCP): support matrix constants - #1199: Optimizer: Fix CCP: don't propagate spec constants. - #1203: Optimizer: Fix common uniform elim bug introduced by refactoring. - #1210: Optimizer: Aggressive dead code elimination: Fix 'break' identification. - #1212: Optimizer: Aggressive dead code elimination: Was skipping too many instructions. - #1214: Optimizer: Aggressive dead code elimination: Fix infinite loop. - #1228: Optimizer: Fix CCP: Handling of varying Phi nodes; was resulting in infinite loop. - #1245: Optimizer: Dead branch elimination: Avoid a null pointer dereference. - #1250: Optimizer: Dead branch elimination: Avoid spuriously reporting a change. - #1262: Support building on VisualStudio 2013 again Update SPIRV-Headers, with "unified1" directory. Updated one Glslang legalization test base result due to better block merging.
-
- Feb 01, 2018
-
-
John Kessenich authored
Fixes #1236.
-
- Jan 29, 2018
-
-
John Kessenich authored
-
- Jan 12, 2018
-
-
David Neto authored
Optimizations used in HLSL legalization now sweep away unused types.
-
- Dec 21, 2017
-
-
GregF authored
This allow for propagation through structs with dynamically indexed arrays. This supports recent removal of non-io struct flattening.
-
- Dec 16, 2017
-
-
John Kessenich authored
-
- Dec 08, 2017
-
-
John Kessenich authored
This makes struct returns from functions work, but breaks structs containing arrays, due to limitations in subsequent transforms in spirv-opt. This is expected to be fixed soon.
-
- Nov 29, 2017
-
-
John Kessenich authored
(This is motivated by wanting to retickle the tests.)
-
- Nov 16, 2017
-
-
John Kessenich authored
-
- Oct 07, 2017
-
-
John Kessenich authored
-
John Kessenich authored
-
- Oct 03, 2017
-
-
Unknown authored
-
- Sep 29, 2017
-
-
GregF authored
-
- Sep 27, 2017
-
-
GregF authored
Also added known-good mechanism to fetch latest validated spirv-tools. Also added -Od and -Os to disable optimizer and optimize for size. Fetching spirv-tools is optional for both glsl and hlsl. Legalization of hlsl is done by default if spirv-opt is present at cmake time. Optimization for glsl is currently done through the option -Os. Legalization testing is currently only done on four existing shaders. A separate baseLegalResults directory holds those results. All previous testing is done with the optimizer disabled.
-