Skip to content

OpenCL device driver specific quirks

magnum edited this page Dec 18, 2024 · 2 revisions

Inline vs. static

For OpenCL functions (as opposed to kernels), some devices (at least historically) chokes on using inline, others on lack of it, yet others require use of static inline. At time of this writing we have a workaround in opencl_misc.h but it should be rewritten as it would change a static inline to static static inline which isn't helpful. We should probably define a DECLSPEC macro or similar instead. Also, we now have code that use neither or just static so either the problem is long gone with current drivers, or it depends on how/where the function is used.

Struct member initialization

Using the syntax AES_KEY akey = { .lt = &lt }; upset some device, better use AES_KEY akey; akey.lt = < to be safe.