diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp index b1b0afe1dd..bf78c1f09c 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDeviceGL.cpp @@ -635,12 +635,19 @@ CALGSLDevice::glAssociate(CALvoid* GLplatformContext, CALvoid* GLdeviceContext) bool CALGSLDevice::glDissociate(CALvoid* GLplatformContext, CALvoid* GLdeviceContext) { + int flags = 0; + + if (m_adp->pAsicInfo->svmFineGrainSystem) + { + flags = GL_INTEROP_SVM; + } + #ifdef ATI_OS_LINUX GLXContext ctx = (GLXContext)GLplatformContext; return (glXEndCLInteropAMD(ctx, 0)) ? true : false; #else HGLRC hRC = (HGLRC)GLplatformContext; - return (wglEndCLInteropAMD(hRC, 0)) ? true : false; + return (wglEndCLInteropAMD(hRC, flags)) ? true : false; #endif }