These 3 are fairly simple, pipes, workgroups and subgroups.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/Headers/opencl-c-base.h | ||
---|---|---|
336–342 | We had a discussion with @azabaznov around features that are aliasing each other and we have discussed to use one feature macro for those. Clang should already ensure that both are set/unset simultaneously? And for those that are not set in clang we can set them correctly here in the header directly. | |
clang/lib/Headers/opencl-c.h | ||
16159 | I think that here guarding the OpenCL version is correct? |
clang/lib/Headers/opencl-c-base.h | ||
---|---|---|
336–342 | Yeah, I we did. Note that this is applicable to fp64 and 3d image writes, while __openc_c_subgroups and cl_khr_subgroups are not equivalent as extension requires subgroup-independent forward progress but subgroup-independent forward progress is optional in OpenCL C 3.0. I'll try submit a patch for 3d image writes feature macro support this week. |
clang/lib/Headers/opencl-c-base.h | ||
---|---|---|
336–342 | Ok, I see so while the functions are identical they are not entirely equivalent extensions so vendors might support one but not the other? In this case I think we should keep checking both but it would be good to add a comment explaining why we are checking both macros here. Btw do you happen to have spec reference? I can't find anything relevant. |
We had a discussion with @azabaznov around features that are aliasing each other and we have discussed to use one feature macro for those. Clang should already ensure that both are set/unset simultaneously? And for those that are not set in clang we can set them correctly here in the header directly.