Skip to content

Releases: antaalt/shader-sense

shader-language-server v1.3.0

31 Jan 17:28

Choose a tag to compare

Fixed

  • Fixed an issue that caused test to hang on panic

Added

  • New test for semantic tokens.
  • New experimental feature for macro expansion to add to symbols the symbols defined inside a macro. Still a work in progress.
  • Possiblity to pass a preamble file for Glsl shaders.

shader-language-server v1.2.2

24 Nov 22:14

Choose a tag to compare

Fixed

  • Fixed semantic token which was searching for the function name instead of the parameter name inside function body.

shader-language-server v1.2.1

23 Nov 17:52

Choose a tag to compare

Fixed

  • Correctly use tree sitter wgsl grammar for WGSL (not used yet).
  • Fix some link in doc.
  • Fix for a crash with an unreachable tag that can be reached in some case.
  • Fix path remapping which canonicalize path, making them useless on Windows.

Changed

  • Improved triple information at startup for debug purpose.

shader-language-server v1.2.0

05 Oct 10:09

Choose a tag to compare

Added

  • Added documentations for crates on docs.rs with test doc.
  • Added support for cancel request.
  • Added the possibility to override the server configuration with custom JSON for engine specific configuration.
  • Added the possibility to set server cwd in command line.
  • Added setting for defining macro per shader stage.

Fixed

  • Fixed some invalid macro description on hover
  • Fixed som template failing to access members.
  • Reduced memory footprint of symbol requirement.

Changed

  • Lru cache is now created with small size and resized if needed to reduce memory footprint.
  • Added a dedicated error enum for language server to not have server logic into shader sense.
  • Server now add workspace folders for includes. This should help finding file in workspace with relative path.
  • BREAKING: shader stage should now be passed in camelCase.
  • Improved the way we look for DXC DLL to avoid picking mismatching DLL between dxcompiler and dxil.

shader-language-server v1.1.0

31 Aug 19:19

Choose a tag to compare

Added

  • Hlsl raytracing functions added to database
  • Hlsl enum support (syntax highlighting + hover + completion)
  • Glsl mesh shader extension added to database. Feel free to contribute to this database by adding other extensions !
  • LRU cache for semantic tokens regex which are created on the fly and were impacting performances.

Changed

  • Upgraded tree-sitter dependencies to use tree-sitter-language which allow using different languages easily such as slang. Wgsl does not support it yet, so waiting for this PR to upgrade.

Fixed

  • Validation was not retriggered when changing settings.
  • Stripped template from variable type to help finding in symbol list.

shader-language-server v1.0.0

25 Aug 19:19

Choose a tag to compare

This new version features a lot of changes that should drastically improve performances on huge shader codebase, memory usage and behaviour of variant & updates. There was also some redesign with the architecture to handle this and make the API more friendly to use.

Fixed

  • Fixed an issue where regions were not displayed when diagnostics were disabled.
  • Fixed an issue with file using variant context missing some symbols behind include guards.
  • Fixed and improved the way symbols caching are handled.
  • Fixed a warning when hovering a field return by a method.
  • Fixed an issue whith HLSL database where its missing some parameters in Texture objects.
  • Fixed an issue with include handler pushing include from inactive region on stack, which could end up including file from a wrong folder.
  • Fixed intrinsics depending on requirements that were ignored.
  • Fixed some missing diagnostics clear when files are closed.
  • Fixed some dependency files not being cleared from memory when main file was closed.
  • Fixed an issue with updating a variant dependency that would cause it to clear inactive regions.
  • Fixed diagnostic not being cleared when passing from error state to non error state.
  • Fixed an issue where a variant file not opened prevent using the feature.

Changed

  • There can be only one variant at a time to avoid file randomly picking a variant.
  • ValidationParams & SymbolParams have been merged into a single struct ShaderParams.
  • Update messages are now handled asynchronously, which avoid messages from getting queued when caching take a lot of time. This can increase server speed drastically in huge codebase.
  • Reporting cache update through progress report notification.
  • Validator is now behind a solid struct instead of a trait.
  • Main functions are now sharing common entry point for uniformity.
  • Reduced memory usage of the server.
  • Changed API entry point.
  • Clean code, moved files & renaming

Added

  • Added Dxc builtins macros to symbols.
  • Added advanced symbols filterings for intrinsics. Extensions should be now easy to add for GLSL in an upcoming release.
  • Added test for each shader stage.
  • Added check for which shader stage is supported in Validator
  • Added command line argument for shader-language-server to pass configuration on startup.

shader-language-server v0.8.2

03 Aug 18:40

Choose a tag to compare

Fixed

  • Fixed a crash when DXC fail to instantiate. Fallback to glslang for validation instead.
  • Fixed an issue with dxil dll loading on Linux as dxcompiler.so seems to load it from path while we create it from absolute path.

shader-language-server v0.8.1

03 Aug 15:03

Choose a tag to compare

Fixed

  • Fixed an issue with invalid position computed using UTF8 characters
  • Fixed a crash when triggering completion on position at start of line due to invalid line computation from byte offset.
  • Updated shader-sense-cli Cargo.toml for a crates.io release.

shader-language-server v0.8.0

03 Aug 11:32

Choose a tag to compare

Added

  • Struct completion features has been hugely improved. You will now benefit of structure field completion in HLSL & GLSL.
  • HLSL database now include methods for Texture & Buffer Objects to be used along struct completion.
  • Added formatting for HLSL & GLSL code through clang format (for full & partial formatting). Support for a .clang-format configuration file.
  • Added an option for DXC SPIRV support to remove warning related to SPIRV (shader-validator.hlsl.spirv).
  • Every field of the config is now optional for third party client and server will not crash if its missing some.
  • Improvement on caching and dependencies handling aswell as performances.
  • Add a CLI tool for validating shaders.

Fixed

  • Fix an issue where DXC warning were not displayed if no error was found.
  • Fix an issue where DXC was picking globally accessible DXC instead of bundled one.
  • Fix an issue with region missing some defines.
  • Fix an issue with dirty files being wrongly tracked.
  • Fix an issue with HLSL array variable in struct not being captured.

shader-language-server v0.7.0

22 Jul 21:22

Choose a tag to compare

This release bring some huge perf improvement and new features such as:

  • Function parameters will get highlighted through semantic tokens
  • Error from dependencies should be easier to track down.

Some bug fixes aswell such as:

  • Pragma once files failing to load dependencies
  • Inlay hint being displayed for every dependencies in main file