-
-
Notifications
You must be signed in to change notification settings - Fork 988
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
feat: Added compute shader support for vulkan #2685
base: master
Are you sure you want to change the base?
Conversation
…ayer errors. NoSampler was created using the default linear sampler, this caused validation errors when using Texture.Load with Texture3d(r16b16f) as it does not support linear sampling. The sampler was changed to use a point sampler instead which prevents the errors and should cause no issues.
Added locking to upload buffer creation and internal queue submit as 0 they are called from multiple threads if texture streaming is eanbled.
I have only tested with a simple compute shader so far but seems to work fine. Sample code, note that the sprite rendering can cause some validation errors if done after the forward renderer, there are no validation errors if the sprite rendering is removed, but then I have to validate the output in renderdoc :D
Shader:
|
Vulkan graphics backend has been modified to support compute shaders, additional modifications were also made to the shader compiler so that correct glsl compute shaders can be generated.
1355baa
to
0ed1529
Compare
Got my FFT shaders to work, it seems to work pretty well now. Note the commits from #2684 are currently included. I got rid of the NoSampler sampler hack and am using I also noticed that the resource barrier api is a bit lacking as it wouldn't insert a barrier as my texture was already in
|
PR Details
Vulkan graphics backend has been modified to support compute shaders, additional modifications were also made to the shader compiler so that correct glsl compute shaders can be generated.
Types of changes
Checklist