Releases: laurentlb/Shader_Minifier
Releases · laurentlb/Shader_Minifier
1.3.4
Shader Minifier 1.3.3
What's Changed
Main changes include:
- Augmented operators: x=x+... becomes x+= by @laurentlb in #206
- Change if statements to if expressions by @eldritchconundrum in #207
- Improve float minification by @eldritchconundrum in #210
- Fix constant ">=" simplification by @eldritchconundrum in #211
- if+return optimizations by @eldritchconundrum in #209
- Rewrite while into for, take opportunities to save semi-colons by @eldritchconundrum in #213
- Vector constructor: use float when it's shorter than the int by @laurentlb in #216
- NoMoveDeclarations is the default by @laurentlb in #217
- Use context-based renaming when minifying multiple files by @laurentlb in #219
- Shorten the generated header by @laurentlb in #220
- Eliminate "!" in condition by swapping if and else by @eldritchconundrum in #223
- New output format: Rust by @Kwarf in #227
New Contributors
Full Changelog: 1.3.2...1.3.3
1.3.2
What's Changed
Main changes include:
- Preserve comments inside verbatim blocks by @laurentlb in #170
- Inlining: inline more variables by @laurentlb in #174
- Unused functions are removed by default by @eldritchconundrum in #182
- Optimize conditional expressions by @laurentlb in #183
- Arithmetic: better matching of int operations; disable the unsafe x*0 optimization by @laurentlb in #187
- Make PI detection a bit less sensitive by @laurentlb in #188
- Optimize vec constructors using swizzles by @laurentlb in #190
- Skip useless vec constructors by @laurentlb in #191
- Prefer ints instead of floats in the vec constructor by @laurentlb in #192
- Simplify call to vec when all arguments are equal by @laurentlb in #193
- Inline const values of type int,float,bool by @laurentlb in #194
- Apply the sequence operator trick only when it's useful by @laurentlb in #196
- Group declarations by @laurentlb in #197
- Disable dead code removal if there's a preprocessor directive by @laurentlb in #198
- Recursively remove unused functions by @laurentlb in #199
Full Changelog: 1.3.1...1.3.2
Shader Minifier 1.3.1
What's Changed
Main changes include:
- Support "precision" statements by @laurentlb in #161
- Aggro-inlining: don't inline variables with a prefix ++ or -- operator by @laurentlb in #164
- Fix stackoverflow error in simplifyExpr by @laurentlb in #165
Full Changelog: 1.3...1.3.1
Shader Minifier 1.3
What's Changed
(some changes, e.g. documentation, cleanup, or refactoring, are not included in this list)
- Support switch statements by @jwatzman in #132
- Iterate inlining and simplification until we can do no more by @jwatzman in #133
- Drop "in" qualifier from function parameters by @jwatzman in #134
- Add option to aggressively inline all literals and consts by @jwatzman in #136
- Add struct names to forbidden list by @jwatzman in #137
- Iterate inlining and simplification only when we actually inline by @jwatzman in #138
- Allow inlining one-line functions by @jwatzman in #139
- Macro names: preserve the case of the original variable names by @laurentlb in #148
- Fix dangling else bug by @laurentlb in #150
- Swap operands of commutative operators to reduce the number of parentheses by @laurentlb in #151
- Shader Minifier website using Bolero F# by @laurentlb in #155
- Support array types by @laurentlb in #159
New Contributors
- @virtualzavie made their first contribution in #131
- @jwatzman made their first contribution in #132
Full Changelog: 1.2...1.3
Shader Minifier 1.2
What's Changed
- Make Shader Minifier twice as fast by @laurentlb in #48
- Migrate option parser to Argu by @laurentlb in #50
- Use template string for JS output by @laurentlb in #53
- Fix parentheses when the comma operator is in a function call by @laurentlb in #57
- Rewriter: remove useless braces in a few more cases by @laurentlb in #61
- Parser: better support for HLSL geometry shaders by @laurentlb in #63
- README: Add proper documentation by @laurentlb in #64
- Rewrite the full pi constant as acos(-1.) by @eldritchconundrum in #66
- Fix -0.0 by @eldritchconundrum in #74
- Allow shadowing of external values by @laurentlb in #86
- Optimize the use of 2-letter characters by @laurentlb in #87
- Properly rename exported values in a multifile context by @laurentlb in #98
- New renaming strategy for when minifying multiple files by @laurentlb in #100
- New formatting output: indented text by @laurentlb in #109
- Inlining: automatically inline trivial values by @laurentlb in #112
- Improve float precision by @laurentlb in #117
- Add option to disable auto-inlining and document it by @laurentlb in #119
- Automatically remove unused local variables by @laurentlb in #120
- Even better formatting of floats by @laurentlb in #122
Full Changelog: 1.1.6...1.2
Shader Minifier 1.1.6
Bump version to 1.1.6