Closed hyperlogic closed 8 months ago
Switching #define SUBGROUP_SIZE 32
to 64 fixed the issue.
The warning is still there, but the sort is correct.
I guess I'll have to change that depending on platform.
Closing
Thanks for making this open source!
Er, I take that back. for small inputs < 32 the sort is correct, but for larger inputs it is not.
Circling back... The sort works! The warning is still there however. My error was something different (z-buffer depth was default 16bits on Intel UHD, resulting in z-fighting). Closing this issue.
Thanks again.
Hi, glad that you figured it out! Just for completeness:
The warning is correct that the barrier is inside the control flow. However, as g_num_blocks_per_workgroup
is constant, all threads of a warp/subgroup will enter the for-loop the same number of times and all threads will call the barriers, so no deadlocks can occur.
Hi, I'm using VkRadixSort shader in my application, it's working great on NVIDIA cards! However, I ran into an issue on Intel UHD Graphics, possibly due to this warning during shader compilation:
Any ideas?
One big difference is that I'm using OpenGL not Vulkan for my app. Do I need to maybe change the glsl version number currently #version 460? Any advice would be appreciated.
If you need more context the source for my app is here
The line numbers might be different then your original source so here's a full dump of the version I'm using: