From adedbb7d555b04cde0ef8273ebbb837350eaa1e4 Mon Sep 17 00:00:00 2001 From: foreman Date: Fri, 6 May 2016 19:14:21 -0400 Subject: [PATCH] P4 to Git Change 1266215 by skeely@HSA_Perforce on 2016/05/06 19:01:53 SWDEV-90207 - Interop fixes. Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_gl.cpp#49 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaglinterop.cpp#2 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaglinterop.hpp#2 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.cpp#26 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.hpp#11 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#66 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.hpp#27 edit [ROCm/clr commit: 5896562f0ffea1d6bd8047f28e725a52cf981aee] --- .../clr/opencl/api/opencl/amdocl/cl_gl.cpp | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/projects/clr/opencl/api/opencl/amdocl/cl_gl.cpp b/projects/clr/opencl/api/opencl/amdocl/cl_gl.cpp index b56853c9b1..6389d11971 100644 --- a/projects/clr/opencl/api/opencl/amdocl/cl_gl.cpp +++ b/projects/clr/opencl/api/opencl/amdocl/cl_gl.cpp @@ -1754,7 +1754,6 @@ clCreateFromGLTextureAMD( { case GL_TEXTURE_BUFFER: glTarget = GL_TEXTURE_BUFFER; - target = 0; dim = 1; clType = CL_MEM_OBJECT_IMAGE1D_BUFFER; clGLType = CL_GL_OBJECT_TEXTURE_BUFFER; @@ -1763,7 +1762,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_1D: glTarget = GL_TEXTURE_1D; - target = 0; dim = 1; clType = CL_MEM_OBJECT_IMAGE1D; clGLType = CL_GL_OBJECT_TEXTURE1D; @@ -1783,7 +1781,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_1D_ARRAY: glTarget = GL_TEXTURE_1D_ARRAY; - target = 0; dim = 2; clType = CL_MEM_OBJECT_IMAGE1D_ARRAY; clGLType = CL_GL_OBJECT_TEXTURE1D_ARRAY; @@ -1791,7 +1788,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_2D: glTarget = GL_TEXTURE_2D; - target = 0; dim = 2; clType = CL_MEM_OBJECT_IMAGE2D; clGLType = CL_GL_OBJECT_TEXTURE2D; @@ -1799,7 +1795,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_2D_MULTISAMPLE: glTarget = GL_TEXTURE_2D_MULTISAMPLE; - target = 0; dim = 2; clType = CL_MEM_OBJECT_IMAGE2D; clGLType = CL_GL_OBJECT_TEXTURE2D; @@ -1807,7 +1802,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_RECTANGLE_ARB: glTarget = GL_TEXTURE_RECTANGLE_ARB; - target = 0; dim = 2; clType = CL_MEM_OBJECT_IMAGE2D; clGLType = CL_GL_OBJECT_TEXTURE2D; @@ -1815,7 +1809,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_2D_ARRAY: glTarget = GL_TEXTURE_2D_ARRAY; - target = 0; dim = 3; clType = CL_MEM_OBJECT_IMAGE2D_ARRAY; clGLType = CL_GL_OBJECT_TEXTURE2D_ARRAY; @@ -1823,7 +1816,6 @@ clCreateFromGLTextureAMD( case GL_TEXTURE_3D: glTarget = GL_TEXTURE_3D; - target = 0; dim = 3; clType = CL_MEM_OBJECT_IMAGE3D; clGLType = CL_GL_OBJECT_TEXTURE3D; @@ -1867,7 +1859,7 @@ clCreateFromGLTextureAMD( // Get GL texture format and check if it's compatible with CL format clearGLErrors(amdContext); - amdContext.glenv()->glGetTexLevelParameteriv_(glTarget, miplevel, GL_TEXTURE_INTERNAL_FORMAT, + amdContext.glenv()->glGetTexLevelParameteriv_(target, miplevel, GL_TEXTURE_INTERNAL_FORMAT, (GLint*) &glInternalFormat); if (GL_NO_ERROR != (glErr = amdContext.glenv()->glGetError_())) { *not_null(errcode_ret) = CL_INVALID_IMAGE_FORMAT_DESCRIPTOR; @@ -1875,7 +1867,7 @@ clCreateFromGLTextureAMD( return static_cast(0); } - amdContext.glenv()->glGetTexLevelParameteriv_(glTarget, miplevel, GL_TEXTURE_SAMPLES, + amdContext.glenv()->glGetTexLevelParameteriv_(target, miplevel, GL_TEXTURE_SAMPLES, (GLint*) &numSamples); if (GL_NO_ERROR != (glErr = amdContext.glenv()->glGetError_())) { *not_null(errcode_ret) = CL_INVALID_IMAGE_FORMAT_DESCRIPTOR; @@ -1899,7 +1891,7 @@ clCreateFromGLTextureAMD( switch (dim) { case 3: clearGLErrors(amdContext); - amdContext.glenv()->glGetTexLevelParameteriv_(glTarget, miplevel, GL_TEXTURE_DEPTH, &gliTexDepth); + amdContext.glenv()->glGetTexLevelParameteriv_(target, miplevel, GL_TEXTURE_DEPTH, &gliTexDepth); if (GL_NO_ERROR != (glErr = amdContext.glenv()->glGetError_())) { *not_null(errcode_ret) = CL_INVALID_GL_OBJECT; LogWarning("Cannot get the depth of \"miplevel\" of GL \"texure\""); @@ -1908,7 +1900,7 @@ clCreateFromGLTextureAMD( // Fall trough to process other dimensions... case 2: clearGLErrors(amdContext); - amdContext.glenv()->glGetTexLevelParameteriv_(glTarget, miplevel, GL_TEXTURE_HEIGHT, &gliTexHeight); + amdContext.glenv()->glGetTexLevelParameteriv_(target, miplevel, GL_TEXTURE_HEIGHT, &gliTexHeight); if (GL_NO_ERROR != (glErr = amdContext.glenv()->glGetError_())) { *not_null(errcode_ret) = CL_INVALID_GL_OBJECT; LogWarning("Cannot get the height of \"miplevel\" of GL \"texure\""); @@ -1917,7 +1909,7 @@ clCreateFromGLTextureAMD( // Fall trough to process other dimensions... case 1: clearGLErrors(amdContext); - amdContext.glenv()->glGetTexLevelParameteriv_(glTarget, miplevel, GL_TEXTURE_WIDTH, &gliTexWidth); + amdContext.glenv()->glGetTexLevelParameteriv_(target, miplevel, GL_TEXTURE_WIDTH, &gliTexWidth); if (GL_NO_ERROR != (glErr = amdContext.glenv()->glGetError_())) { *not_null(errcode_ret) = CL_INVALID_GL_OBJECT; LogWarning("Cannot get the width of \"miplevel\" of GL \"texure\""); @@ -1980,6 +1972,8 @@ clCreateFromGLTextureAMD( } // Release scoped lock + target = (glTarget == GL_TEXTURE_CUBE_MAP) ? target : 0; + pImageGL = new(amdContext) ImageGL(amdContext, clType, clFlags, clImageFormat, static_cast(gliTexWidth), static_cast(gliTexHeight),