Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HLSL] Design/Spec a library for performing work out of process (example: compiling a shader) #91617

Open
Tracked by #63631
coopp opened this issue May 9, 2024 · 0 comments
Assignees
Labels
HLSL HLSL Language Support

Comments

@coopp
Copy link
Contributor

coopp commented May 9, 2024

The current DXC compiler library is an in process component. Desire has been expressed to have an out of process solution for compiling shaders. This solution should perform compilation in a reusable host process that is connected to by the c-style compiler library.

Design a reliable/reusable IPC mechanism

The llvm-project encourages building reusable libraries (called support libraries) that can be connected to together to create compelling clang tooling. Clang itself is constructed using these libraries. Each support library is individually tested. IPC logic seems like a good fit to be added to the support library set of features.

A design needs to be spec'd out and run through a design meeting with the team. This will bottom out on the details around standing up such a system and implemented in another task Issue #90782 .

Thoughts

  • Investigate ORC, an existing jit compilation system. Perhaps there is some code reuse there that can be leveraged
  • Keep the design simple and to the point. There is no need to create a full featured library.

Requirements

  • Reusable library in design
  • Ensure that if one process goes down/crashes that proper cleanups occur
  • Must be cross platform in design. ( linux has fork( ), Windows does not ).
  • Thoughts on test approach
  • documentation is written and located where other support library docs live
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HLSL HLSL Language Support
Projects
Status: No status
Development

No branches or pull requests

1 participant