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

Handle recursive members in HLSL rewriting #717

Closed Sergio0694 closed 10 months ago

Sergio0694 commented 10 months ago

Description

This PR fixes a StackOverflowException in the DX12/D2D generators that could happen when doing HLSL rewriting on a shader that had some recursive members (including mutually recursive members with some other methods in between). This was particularly bad because as the crash was from the generators, VS would just instantly crash as well.