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! 🚀
Full Changelog: https://github.com/Sergio0694/ComputeSharp/compare/v2.0.0...v2.1.0
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!
ComputeContext
APIs to build fully custom computational graphsIPixelShader<T>
interface to easily write pixel-shader-like shadersComputeShaderPanel
and AnimatedComputeShaderPanel
controlsID2D1Effect
implementation to easily plug shaders into a D2D1 pipelineThis 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!
ComputeContext
APIs to build fully custom computational graphsIPixelShader<T>
interface to easily write pixel-shader-like shadersComputeShaderPanel
and AnimatedComputeShaderPanel
controlsID2D1Effect
implementation to easily plug shaders into a D2D1 pipeline🆕 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
🆕 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
🆕 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
🆕 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
✅ Reduced overhead when dispatching shaders ✅ Fixed threading issue with the shader generation
🆕 New custom exception when using invalid buffers in a shader, with clear error message
✅ Refactored some properties for the GraphicsDevice
class
🆕 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