Skip to content

Releases: deanthecoder/GLSLShaderShrinker

GLSL Shader Shrinker v0.10-alpha

06 Aug 18:50
Compare
Choose a tag to compare
Pre-release

Features:

Start offering post-optimizing code 'hints'.

  • Report unused functions.
  • Report functions only used once (which can be inlined).
  • Detect unused function parameters.
  • Suggest GOLFing common expression using #define.

GLSL Shader Shrinker v0.9-alpha

16 Jul 20:46
Compare
Choose a tag to compare
Pre-release

A replacement installer - v0.8.0.0 was actually a build from v0.1.0.0 !

GLSL Shader Shrinker v0.8-alpha

15 Jul 11:26
Compare
Choose a tag to compare
Pre-release

Bug Fixes:

Include more DLLs in the installer, hopefully resolving problems running the app on a wider range of machines.
Note: A runtime prompt will be given if the app detects the .Net 5.0 runtimes are not installed.

GLSL Shader Shrinker v0.7-alpha

27 Jun 17:05
Compare
Choose a tag to compare
Pre-release

Features:

Added support for the '|=' operator.
Unnecessary vector copy constructors are now removed.
Better compression by not grouping variable declarations where the name is longer than the type.

Bug Fixes:

Character count problem causes by '*//' not being recognized as a value C-style comment terminator.
Prevent multi-processing the same variable multiple times when making consts.
Not safe to inline an assignment with an 'if' condition if the 'if' isn't at the same level.
Be extra careful when merging two consecutive assignments of the same variable.
Ensure pragma expressions always start on their own line.
Occasional bug joining assignment with existing declaration, as I was checking types incorrectly (Doh).

Other:

More sample files added to the unit test suite.

GLSL Shader Shrinker v0.6-alpha

20 Jun 19:54
Compare
Choose a tag to compare
Pre-release

Features:

Improved const variable detection.
Precalculate constant 'abs(...)' and 'sqrt(...)' expressions.
Octal numbers are now supported.
Variable assignment can now be merged with a following 'if' condition, if not used elsewhere.
Extend 'perform arithmetic' to include vector math.

Bug Fixes:

Unnecessary round brackets now removed when passing parameters to functions.
Prevent removing an assignment when the RHS has a function call which (directly or indirectly) modifies a global variable.

GLSL Shader Shrinker v0.5-alpha

15 Jun 17:59
Compare
Choose a tag to compare
Pre-release

Features:

Support variable assignments to a multi-dimensional array.
Support Inlined struct creation of arrays.

Bug Fixes:

Prevent array assignments from from being inlined incorrectly.
Incorrect exponent power when simplifying numbers.
Formatting error caused by braced expression with comment folded onto single line.

GLSL Shader Shrinker v0.4-alpha

13 Jun 17:38
Compare
Choose a tag to compare
Pre-release

Features:

Installer version number auto-updates based on app version.
Consecutive assignments of the same vector component can now be combined.
Fractional floats can now be simplified using the 'e' format.
Simplify floats preceded with unnecessary zeros, and extend to include integers.

Bug Fixes:

Unused variables now removed after joining consecutive assignments.
Extra braces were being added if comment was places immediately after 'for'.
Prevent infinite loop when multiple declarations jostle for position alongside the same assignment.

Other:

Improved 'for' loop formatting.
Add Twitter link to the ReadMe.
Write a more sensible 'shrinkage' message in the output code.

GLSL Shader Shrinker v0.3-alpha

07 Jun 19:04
Compare
Choose a tag to compare
Pre-release

Bug fixes:

Fix: Formatting (Missing space character) between 'highp' and
Fix: Not safe to inline an assignment with use on the next line if the assigned variable is defined in an outer scope.
Fix: Crash when checking to see if 'a[0] = 0' has arithmetic to perform.

GLSL Shader Shrinker v0.2-alpha

06 Jun 16:38
Compare
Choose a tag to compare
Pre-release

Bug fix for vector construction with insufficient components.

GLSL Shader Shrinker v0.1-alpha

06 Jun 16:09
Compare
Choose a tag to compare
Pre-release

First public ALPHA release of the application.