ComputeSharp Versions Save

A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀

v2.1.0

7 months ago

ComputeSharp 2.1 is now live! 🚀

Major changes in a nutshell ✨

  • New ComputeSharp.D2D1.Uwp (and .WinUI) packages with Win2D support
  • New D2D1 transform mapper support D2D effects
  • Moved D3D12MA support into ComputeSharp.D3D12MemoryAllocator
  • Just tons of bug fixes, performance improvements, general tweaks

Full changelog

Full Changelog: https://github.com/Sergio0694/ComputeSharp/compare/v2.0.0...v2.1.0

v2.0.0

1 year ago

ComputeSharp 2.0 is finally available! 🚀

Read the blog post on Medium here.

The changelog here is mostly the same as for 2.0.0-preview1, just with additional bug fixes and performance improvements. This release includes a completely overhauled library compared to the previous 1.4.1 release, along with tons of new changes. It's impossible to list all of them here, so here's just some of the biggest changes. But there's much, much more that's included across all available libraries!

ComputeSharp

  • New ComputeContext APIs to build fully custom computational graphs
  • New IPixelShader<T> interface to easily write pixel-shader-like shaders
  • New texture resources, including normalized ones
  • New transfer buffers (upload and readback)
  • New support for directly loading and saving images
  • New APIs to execute work asynchronously
  • New APIs to track and recover from device loss
  • All APIs are now fully thread safe and resilient against memory leaks and corruption
  • Replaced method decompiler with Roslyn incremental source generator
  • Add .NET Standard 2.0 target (including in all other libraries as well)
  • Much better performance than before

ComputeSharp.Dynamic

  • Split dynamic compilation support to separate package to reduce binary use
  • New APIs to do shader reflection

ComputeSharp.Pix

  • New standalone package adding PIX support to ComputeSharp

ComputeSharp.Uwp, ComputeSharp.WinUI

  • New UWP and WinUI 3 packages with ComputeShaderPanel and AnimatedComputeShaderPanel controls
  • New APIs to fully customize the render loop and the frame request queue

ComputeSharp.D2D1

  • New package with support for authoring D2D1 pixel shader
  • New built-in ID2D1Effect implementation to easily plug shaders into a D2D1 pipeline
  • New APIs to easily define D2D1 transform mappings
  • New APIs to do shader reflection
  • New attribute to precompile inline HLSL, for manual shader compilation
  • New APIs to manually compile raw HLSL sources

v2.0.0-preview1

1 year ago

This is the first official preview of ComputeSharp 2.0! 🚀

This release includes a completely overhauled library compared to the previous 1.4.1 release, along with tons of new changes. It's impossible to list all of them here, so here's just some of the biggest changes. But there's much, much more that's included across all available libraries!

ComputeSharp

  • New ComputeContext APIs to build fully custom computational graphs
  • New IPixelShader<T> interface to easily write pixel-shader-like shaders
  • New texture resources, including normalized ones
  • New transfer buffers (upload and readback)
  • New support for directly loading and saving images
  • New APIs to execute work asynchronously
  • New APIs to track and recover from device loss
  • All APIs are now fully thread safe and resilient against memory leaks and corruption
  • Replaced method decompiler with Roslyn incremental source generator
  • Add .NET Standard 2.0 target (including in all other libraries as well)
  • Much better performance than before

ComputeSharp.Dynamic

  • Split dynamic compilation support to separate package to reduce binary use
  • New APIs to do shader reflection

ComputeSharp.Pix

  • New standalone package adding PIX support to ComputeSharp

ComputeSharp.Uwp, ComputeSharp.WinUI

  • New UWP and WinUI 3 packages with ComputeShaderPanel and AnimatedComputeShaderPanel controls
  • New APIs to fully customize the render loop and the frame request queue

ComputeSharp.D2D1

  • New package with support for authoring D2D1 pixel shader
  • New built-in ID2D1Effect implementation to easily plug shaders into a D2D1 pipeline
  • New APIs to easily define D2D1 transform mappings
  • New APIs to do shader reflection
  • New attribute to precompile inline HLSL, for manual shader compilation
  • New APIs to manually compile raw HLSL sources

v1.4.1

3 years ago

🆕 New interlocked HLSL intrinsics 🚀 Major speed improvement when dispatching shaders 🚀 Major memory usage optimization when dispatching shaders ✅ Fix a possible issue with references staying alive when not needed

v1.4.0

3 years ago

🆕 New shader syntax (struct type + IComputeShader interface) ✅ Gpu.Default is now thread safe ✅ Bug fix when concurrently dispatching shaders ✅ Bug fixes when parsing some C# code to HLSL ✅ Bug fixes to constant buffer copies (thanks @john-h-k) ✅ Improved error reporting for internal failures ✅ Updated all NuGet references 🚀 Speed improvements when loading/dispatching shaders

v1.3.1

4 years ago

🆕 Lowered minimum DX feature level requirement for GPUs to DX12.0 ✅ Fixed a bug when capturing readonly bool fields/properties ✅ Minor performance improvements with the shader dispatching ✅ Updated NuGet dependencies

v1.3.0

4 years ago

🆕 New Bool type to be used in GPU buffers ✅ Speed improvements and reduced memory usage ✅ Fixed error that could happen when dispatching multiple shaders sequentially ✅ Fixed typos in some Bool2 members ✅ Updated dependencies

v1.2.2

4 years ago

✅ Reduced overhead when dispatching shaders ✅ Fixed threading issue with the shader generation

v1.2.1

4 years ago

🆕 New custom exception when using invalid buffers in a shader, with clear error message ✅ Refactored some properties for the GraphicsDevice class

v1.2.0

4 years ago

🆕 Added support for captured static/stateless delegates 🆕 Added support for local methods inside a shader ✅ Fixed non public static methods in shaders ✅ Fixed static members from parent class used in shaders ✅ Minor tweaks to the generated shader code