Sergio0694 / ComputeSharp

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! 🚀
MIT License
2.75k stars 123 forks source link

Add [D2DEnableRuntimeCompilation] and analyzers #720

Closed Sergio0694 closed 10 months ago

Sergio0694 commented 10 months ago

Contributes to #523

Description

This PR adds a new [D2DEnableRuntimeCompilation] attribute, which makes runtime compilation of D2D shaders be opt-in. This helps developers (especially beginners) to avoid accidentally not precompiling shaders. That is now an explicit action for them.

There's also several new diagnostics to spot all possible mistakes when using the new attribute.