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: 5896562f0f]
Tento commit je obsažen v:
foreman
2016-05-06 19:14:21 -04:00
rodič 50ef09477c
revize adedbb7d55
+7 -13
Zobrazit soubor
@@ -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<cl_mem>(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<size_t>(gliTexWidth), static_cast<size_t>(gliTexHeight),