3 ms·
These are not proper pointers, see: https://github.com/google/clspv/blob/master/docs/OpenCLCOnVulkan.md https://github.com/google/clspv/blob/master/docs/OpenCLC
by my123 5y ago
These are not proper pointers, see: https://github.com/google/clspv/blob/master/docs/OpenCLCOnVulkan.md https://github.com/google/clspv/blob/master/docs/OpenCLCOnVu...
> Pointers are an abstract type - they have no known compile-time size. Using a pointer type as the argument to the sizeof() operator will result in an undefined value.
> Pointer-to-integer casts must not be used.
> Integer-to-pointer casts must not be used.
> Pointers must not be compared for equality or inequality
The first one in that list is a quite big limitation, affecting a significant number of scenarios…
(And yes, you cannot actually make a compliant OpenCL 1.2 implementation on top of Vulkan, Vulkan has too few features for that purpose)
- raphlinus 5y agoThanks for the detailed explanation, that makes sense and is useful information. My understanding was that they were more like real pointers, but I see that is not the case.