Releases: NazaraEngine/ShaderLang
v1.1.2
NZSL 1.1.2
This release is a patch fixing a few bugs from NZSL 1.1.1:
- Fixed CNZSL version macro (305409d)
- Fixed nzslc and nzsla version (4d26d8c)
- Fixed external variables behind different conditions triggering a CExtAlreadyDeclaredError (a934fcf)
- Fixed CIdentifierAlreadyUsedErrror triggered when shadowing an unresolved conditional variable (b9fba71)
Full Changelog: v1.1.1...v1.1.2
v1.1.1
NZSL 1.1.1
This release is a patch fixing a few bugs from NZSL 1.0:
- Fixed generator number in SPIR-V code (82abebc)
- nzslc: Tokenization is now profiled separately (df31319)
- Compiler: Unresolved expression types (due to missing compilation steps) now trigger a AstUnresolvedExpressionTypeError instead of a AstMissingExpressionTypeError (9d1e85c)
- Compiler: Disabled code and disabled struct members are no longer processed (32b891d)
- Compiler: Parameter count is now checked before parameters semantics on function calls (627e28b)
- Fixed whole module import partial compilation when no module resolver is present (d15d66e)
Full Changelog: v1.1.0...v1.1.1
v1.1.0
NZSL 1.1
This release comes with a language update, you can check the language changelog here
nzsl::ShaderWriter::Stateshas been renamed tonzsl::BackendParametersand has been changednzsl::Ast::Sanitizeno longer exists and has been replaced by thenzsl::Ast::TransformerExecutorclassnzsl::Ast::Moduleis no longer cloned, it is instead transformed, if you need to keep it unchanged it's now up to you to clone it beforehand.
What's Changed
- Added scalar layout by @exdal in #62
- Split compiler into multiple passes in #64
- Ast/Transformations: Rework context in #66
- Added untyped literals in #65
- Added type constants in #69
- Added support for implicit arrays and implicit matrices in #70
- Compiler: Unified all resolved identifier nodes in #72
- [Tools] Implement --skip-unchanged in #75
- Fixed generation of SPIR-V 1.4 (global interface were missing) in #77
- Package has been renamed to include
nzsl_prefix and remove mode (debug/releasedbg) for releases (Github releases have releasedbg binaries). - Implemented vectors bitwise ops (#56).
- Implemented implicit types (#70).
- Implemented type constants (#69).
- Implemented
all,any,not,isinf,isnan,stepsandsmoothstepsintrinsics. - Improved compilation time.
- Fixed ArraySize intrinsic (
arr.Size()) on alias types. - NZSL is now built without imprecise floating-point optimizations.
- Original const expression is preserved instead of replaced with its optimized value (when spitting out NZSL back).
- Replaced multiple specific identifier value expression nodes (AliasValueExpression, ConstantExpression, FunctionExpression, etc.) with a single IdentifierValueExpression node. Also reworked IdentifierType and IdentifierCategory enums in #72.
- Alias removal is now performed by the AliasTransformer (instead of the ResolveTransformer), this allows compiler errors to be more precise.
- Reworked ExpressionCategory, mainly to improve textual generation (constants are no longer surrounded by parenthesis).
PFunctionParameterNonLValueerror has been replaced byCFunctionCallSemanticRequiresVariable.
New Contributors
Full Changelog: v1.0.0...v1.1.0
v1.1.0 release candidate 3
NZSL 1.1
You can check the language changelog here
Differences with RC2
- Fixed type constants not being usable in const (compile-time) contexts.
- Original const expression is preserved instead of replaced with its optimized value (when spitting out NZSL back).
- TransformerContext is no longer copyable.
- Replaced multiple specific identifier value expression nodes (AliasValueExpression, ConstantExpression, FunctionExpression, etc.) with a single IdentifierValueExpression node. Also reworked IdentifierType and IdentifierCategory enums.
- Loop unrolling is now performed by the LoopUnrollTransformer (instead of the ResolveTransformer).
- Alias removal is now performed by the AliasTransformer (instead of the ResolveTransformer), this allows compiler errors to be more precise.
- Reworked ExpressionCategory, mainly to improve textual generation (constants are no longer surrounded by parenthesis).
PFunctionParameterNonLValueerror has been replaced byCFunctionCallSemanticRequiresVariable. - Fixed version suffix version (was still "rc1" in rc2).
Changelog: v1.1.0-rc2...v1.1.0-rc3
Differences with RC1
- Package has been renamed to include
nzsl_prefix and remove mode (debug/releasedbg) for releases (Github releases have releasedbg binaries). - Implemented vectors bitwise ops (#56).
- Implemented implicit types (#70).
- Implemented type constants (#69).
- Implemented
all,any,not,isinf,isnan,stepsandsmoothstepsintrinsics. - Improved compilation time.
- Fixed ArraySize intrinsic (
arr.Size()) on alias types. - Fixed LangWriter outputting invalid
vec3[FloatLiteral]instead of implicitvec3for vector of literals. - NZSL is now built without imprecise floating-point optimizations.
Changelog: v1.1.0-rc1...v1.1.0-rc2
nzsl::ShaderWriter::Stateshas been renamed tonzsl::BackendParametersand has been changednzsl::Ast::Sanitizeno longer exists and has been replaced by thenzsl::Ast::TransformerExecutorclassnzsl::Ast::Moduleis no longer cloned, it is instead transformed, if you need to keep it unchanged it's now up to you to clone it beforehand.
What's Changed
- Adds scalar layout by @exdal in #62
- Split compiler into multiple passes by @SirLynix in #64
- Ast/Transformations: Rework context by @SirLynix in #66
- Add untyped literals by @SirLynix in #65
- Merge CI workflows by @SirLynix in #68
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #67
New Contributors
Full Changelog: v1.0.0...v1.1.0-rc3
v1.1.0 release candidate 2
NZSL 1.1
You can check the language changelog here
Difference with RC1
- Package has been renamed to include
nzsl_prefix and remove mode (debug/releasedbg) for releases (Github releases have releasedbg binaries). - Implemented vectors bitwise ops (#56).
- Implemented implicit types (#70).
- Implemented type constants (#69).
- Implemented
all,any,not,isinf,isnan,stepsandsmoothstepsintrinsics. - Improved compilation time.
- Fixed ArraySize intrinsic (
arr.Size()) on alias types. - Fixed LangWriter outputting invalid
vec3[FloatLiteral]instead of implicitvec3for vector of literals. - NZSL is now built without imprecise floating-point optimizations.
Changelog: v1.1.0-rc1...v1.1.0-rc2
nzsl::ShaderWriter::Stateshas been renamed tonzsl::BackendParametersand has been changednzsl::Ast::Sanitizeno longer exists and has been replaced by thenzsl::Ast::TransformerExecutorclassnzsl::Ast::Moduleis no longer cloned, it is instead transformed, if you need to keep it unchanged it's now up to you to clone it beforehand.
What's Changed
- Adds scalar layout by @exdal in #62
- Split compiler into multiple passes by @SirLynix in #64
- Ast/Transformations: Rework context by @SirLynix in #66
- Add untyped literals by @SirLynix in #65
- Merge CI workflows by @SirLynix in #68
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #67
New Contributors
Full Changelog: v1.0.0...v1.1.0-rc2
v1.1.0 release candidate 1
NZSL 1.1
You can check the language changelog here
nzsl::ShaderWriter::Stateshas been renamed tonzsl::BackendParametersand has been changednzsl::Ast::Sanitizeno longer exists and has been replaced by thenzsl::Ast::TransformerExecutorclassnzsl::Ast::Moduleis no longer cloned, it is instead transformed, if you need to keep it unchanged it's now up to you to clone it beforehand.
What's Changed
- Adds scalar layout by @exdal in #62
- Split compiler into multiple passes by @SirLynix in #64
- Ast/Transformations: Rework context by @SirLynix in #66
- Add untyped literals by @SirLynix in #65
- Merge CI workflows by @SirLynix in #68
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #67
New Contributors
Full Changelog: v1.0.0...v1.1.0-rc1
Nightly builds
You can find automated builds here for the last commit on the main branch.
v1.0.0 - First stable release
Initial first release
New Contributors
- @Arthapz made their first contribution in #1
- @SirLynix made their first contribution in #3
- @dependabot made their first contribution in #20
- @Kbz-8 made their first contribution in #22
- @REMqb made their first contribution in #40
Full Changelog: https://github.com/NazaraEngine/ShaderLang/commits/v1.0.0