- Jul 23, 2018
-
-
GregF authored
Includes the following: Add Vulkan 1.1 capability sets Don't merge types of resources Remove stores of undef. Make sure the constant folder get the correct type.
-
- Jun 08, 2018
-
-
GregF authored
Includes the following spirv-opt improvements: Preserve inst-to-block and def-use in passes. Add store for var initializer in inlining. Handle types with self references.
-
- May 31, 2018
-
-
GregF authored
Includes: Fold FMix feeding Extract, and use the simplification pass.
-
- May 24, 2018
-
-
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 04, 2018
-
-
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
-
- Apr 25, 2018
-
-
GregF authored
Notably, reduces spirv-opt time and adds folding of OpDot and OpFNegate.
-
- Apr 12, 2018
-
-
GregF authored
Changes include: Fix SSA rewrite for nested loops. Add support for two new extensions: - SPV_NV_shader_subgroup_partitioned - SPV_EXT_descriptor_indexing Legalize OpImageTexelPointer Copy propagate arrays
-
- Mar 26, 2018
-
-
GregF authored
Also update spirv-opt recipes.
-
- Mar 10, 2018
-
-
GregF authored
-
- Feb 27, 2018
-
-
GregF authored
Contains the following improvements: Fixes 1341: Atomics (and other instructions with side-effects) removed. Add folding for redundant add/sub/mul/div/mix operations Add constant folding rules for floating-point comparison Add folding of redundant OpSelect insns Add folding of OpCompositeExtract and OpConstantComposite
-
- Feb 09, 2018
-
-
David Neto authored
One legalization case updated for a renumbered ID
-
- 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.
-
- Jan 12, 2018
-
-
David Neto authored
Optimizations used in HLSL legalization now sweep away unused types.
-
- Jan 05, 2018
-
-
GregF authored
-
- Dec 15, 2017
-
-
GregF authored
-
- Dec 01, 2017
-
-
GregF authored
This fixes spirv-tools issue 989 where if-break can be incorrectly deleted from a loop.
-
- Nov 27, 2017
-
-
GregF authored
This includes an enhancement to propagate through nested structs.
-
- Nov 08, 2017
-
-
GregF authored
-
- Oct 23, 2017
-
-
GregF authored
-
- Oct 17, 2017
-
-
GregF authored
-
- Sep 27, 2017
-
-
GregF authored
-
GregF authored
-
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.
-