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

Resource binding roadmap? #30

Open
ib00 opened this issue Feb 20, 2024 · 3 comments
Open

Resource binding roadmap? #30

ib00 opened this issue Feb 20, 2024 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@ib00
Copy link

ib00 commented Feb 20, 2024

The example language is using GLSL/HLSL-like resource binding.

I find this resource binding horrible and complex. On the other hand, Metal 3.0 resource binding
API is the simplest and most powerful at the same time. You don't need the complexity of DX12 and Vulkan.

Are there any plans for moving to essentially what CUDA/OpenCL/Metal do?

You simply declare a standard C/C++ struct with data, GPU pointers and sampler/texture handles
and pass them as a regular function parameters.

@Hugobros3
Copy link
Collaborator

Shady's main goal is to be an useful IR and my approach to binding models is to basically support the interfaces APIs want. You can actually find some code supporting passing arguments to kernel directly but that code is reliant on runtime support which is a component you might not want to use in your own application.

Overall the binding model stuff is kind of out of scope / up to you as an user. Shady gives you the tools required to implement transformations to support any binding model you want.

I hope this helps!

@ib00
Copy link
Author

ib00 commented Feb 20, 2024

I should have said 'vcc' (the front end for Shady) in my question above.

It's understood that Shady is agnostic (as it should be).

@Hugobros3 Hugobros3 added enhancement New feature or request help wanted Extra attention is needed labels Apr 16, 2024
@Hugobros3
Copy link
Collaborator

I really don't have time at the moment for this but I would gladly support anyone who takes up this for themselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants