Creating an Installable Client Driver (ICD)


I’ve been wondering what would it take exactly to create an custom ICD? Is all the necessary information needed in the specification, or can only Khronos members make custom ICDs? I’m asking because I’m really interested in trying to do something similar, but slightly different, to IBM’s OpenCL Common Run-time, which wraps multiple vendor ICDs in one.

Also, what are the differences between an ICD in OpenCL and an ICD in OpenGL? I’m using linux and don’t see any /etc/OpenGL/vendors like there is /etc/OpenCL/vendors. Are the requirements any different for making a custom ICD for OpenGL?

Thanks for your feedback!