AnsweredAssumed Answered

Interop problems with OpenGL/OpenCL

Question asked by Anteru Employee on Dec 13, 2013



recently I've started to run into issues with OpenCL/OpenGL interop on AMD, which haven't been present before (they either appeared in the 13.9 driver, or with Windows 8.1, or a combination of both.) The problem occurs on both an HD 7970 using the 13.9 driver and a R9 290X using the 13.11 Beta 9.4 driver. I'm creating an OpenCL/OpenGL interop context, but as soon as I try to map an object for interop (texture or buffer), the mapping fails. More precisely: Calling clCreateFromGLTexture1D or clCreateFromGLBuffer returns a NULL memory object and does not set the error variable. This makes it of course very hard to determine what the problem is exactly. The same issue occurs on Linux for all types (on Windows at least, it "works" for 2D textures occasionally, but the mapped object is broken -- it seems that some undefined memory is simply mapped instead.) Equivalent code using D3D works fine with the R9 290X and the HD 7970.


The exact same binary works fine on Windows with the FirePro driver on a W7000, and it also used to work previously (IIRC, it worked with 13.9, but I'm not absolutely positive about that.) The same binary also works on Windows on NVIDIA cards.


On Linux, it's not working for on R9 290X with the latest beta driver, and it's also not working with the HD 7970 (Ubuntu 13.10 x64.)