Skip to content

Releases: IrisShaders/glsl-transformer

v1.0.1 - Fix for parsing .length when not in a method call

12 Oct 16:09
4e5ec05
Compare
Choose a tag to compare
  • Fixed parsing of .length member access by special-casing the method call .length() case

Full Changelog: v1.0.0...v1.0.1

v1.0.0 - Full Release

09 Oct 21:43
c97dbbb
Compare
Choose a tag to compare

Changes since last pre-release: Normalized Profile and Output Options

  • Added getNormalizedProfile to VersionStatement that allows determining if the file will be compiled using core profile or not if the profile is missing depending on the specified version number
  • Added isCore and isCompatibility to the Profile enum
  • Added printing output options that can be used to add a custom header to the generated output string

Changelog: v1.0.0-pre21.2...v1.0.0

Full Release

This is the first full release of glsl-transformer. This project has been the main focus of the last year of programming projects and so far I've reached the majority of the goals I initially set for this project with some remaining items coming in a future release. It's been a great learning experience and touches on many interesting topics I've always wanted to explore in more depth. Thank you to @Burgerguy, @IMS212, @Kroppeb, Builderb0y, @coderbot16, cortex and many others in Iriscord for the feedback, support, and productive conversations. While this project was initiated for Iris, it has already been used by other projects for various purposes related to GLSL in Java. I hope many more people will find just as much joy using glsl-transformer as I had fun writing it so far.

Plans

The following items are currently planned:

  • Line annotation to restore the original line numbers in the output using #line directives.
  • Comprehensive documentation about how to use glsl-transformer and how it works
  • More tests

v1.0.0-pre21.2 - Fix Traversal of Empty Return Statements

02 Oct 17:09
dad95d1
Compare
Choose a tag to compare

The visitor was visiting the null expression in empty return statements which throws a NPR if a method is called on the visited node like in recursive unregistering or root changing. This has been fixed in the visitor and a test has been added.

Full Changelog: v1.0.0-pre21.1...v1.0.0-pre21.2

v1.0.0-pre21.1 - Hotfix For Broken Build

02 Oct 17:05
823ad4d
Compare
Choose a tag to compare

The lexer tokens were not correctly updated in the previous build. This is fixed now.

Full Changelog: v1.0.0-pre21...v1.0.0-pre21.1

v1.0.0-pre21 - Version Statement Improvements

02 Oct 15:51
947c2af
Compare
Choose a tag to compare
  • Changed the names of the Version enum members to refer to GLSL versions instead of OpenGL versions
  • Added a method to TranslationUnit to fill-in a missing version statement
  • Added a test for verifying how version statements are built in the AST

Full Changelog: v1.0.0-pre20...v1.0.0-pre21

v1.0.0-pre20 - Small Improvements, Renames and Line Annotation WIP

30 Sep 21:34
8de6935
Compare
Choose a tag to compare
  • Changed printer to always append the optional f suffix to floats for better compatibility with some compilers
  • Added unfinished line annotation feature and tests (disabled)
  • Renamed many parameters to be clearer (such as clazz or k)
  • Reset the active list wildcard in the matcher's state before starting a new match. This fixes rare edge cases

Full Changelog: v1.0.0-pre19...v1.0.0-pre20

v1.0.0-pre19 - AST Build Cache Performance Improvement

30 Aug 21:54
4307529
Compare
Choose a tag to compare
  • Improved AST building performance by making the build cache use an EmptyRoot that doesn't actually contain any indexes
  • Removed unused merge methods on various index classes
  • Added build method to ASTBuilder that takes a root instance, a CST node and a visit method function. This is used in the ASTParser for building AST nodes that are to be stored in the cache.

Full Changelog: v1.0.0-pre18.1...v1.0.0-pre19

v1.0.0-pre18.1 - List Wildcards Support in Matcher

28 Aug 16:51
8ab0140
Compare
Choose a tag to compare
  • Added support for list wildcards in Matcher. When the name of the node wildcard ends with * it matches any number of the same wildcard repeatedly.

Full Changelog: v1.0.0-pre18...v1.0.0-pre18.1

v1.0.0-pre18 - Fix Cloning and Build Cache

28 Aug 16:46
66bc76e
Compare
Choose a tag to compare
  • Added a method for setting the cache strategy on ASTParser
  • Changed the cloning to use constructors instead of Java's internal cloning. This fixes issues where the clone would be related to the original in very sneaky ways. This also makes the cloning code much simpler and re-uses existing construction infrastructure (such as the active build root).
  • Fixed the build cache to clone at the right time

Full Changelog: v1.0.0-pre17...v1.0.0-pre18

v1.0.0-pre17 - Typo Fix and Methods for Getting Template Source

28 Aug 16:43
2139434
Compare
Choose a tag to compare
  • Renamed withExternalDelcaration to withExternalDeclaration
  • Added getSource and getSourceRoot to Template for querying nodes that should be marked

Full Changelog: v1.0.0-pre16...v1.0.0-pre17