У меня есть исполняемый файл clgl interop, который звонит clCreateFromGLTexture2D
. Он не подходит для этого звонка ...cl/gl interop: clCreateFromGLTexture2D с GLIntercept не работает на AMD FUSION
clCreateFromGLTexture2D(0x06691828, CL_MEM_WRITE_ONLY, GL_TEXTURE_2D, 0, 1, CL_INVALID_GL_OBJECT) = 0x00000000
Я использую GLIntercept. Вот. Поэтому я использую Opengl32.dll, сгенерированный GLIntercept здесь ... Хорошо, он работает на Nvidia GTX и работает автономно, без перехвата на AMD FUSION с AMD Radeon GPU. Однако при использовании открытого источника GLIntercept он терпит неудачу.
clgl тест Interop код размещен там, если вы заинтересованы в загрузке и воссоздавать проблему ..
Кто-нибудь есть идеи, как это исправить? Вот некоторые высказывания из моего журнала отладки ... Если это помогает ..
Я создал открытую issue/ticket on GLIntercept code website, если вы заинтересованы в загрузке тестовый образец кода clgl Interop, который я использую для этого ...
glutInit() =
glutInitDisplayMode(12)
glutInitWindowSize(320, 258)
wglChoosePixelFormat(38010929, 001EF950 PIXELFORMATDESCRIPTOR { nSize 28 nVersion 1 dwFlags 25 PFD_DOUBLEBUFFER PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL iPixelType PFD_TYPE_RGBA cColorBits cRedBits cRedShift cGreenBits cGreenShift cBlueBits cBlueShift cAlphaBits cAlphaShift cAccumBits cAccumRedBits cAccumGreenBits cAccumBlueBits cAccumAlphaBits cDepthBits cStencilBits } 28) = 0x2
wglGetCurrentContext() = 0x00000000
wglGetCurrentDC() = 0x00000000
glutCreateWindow(OpenGL-CL interraction!) = 0x1
glClearColor(0, 0, 0, 0)
glEnable(b71)
glEnable(de1)
glGenTextures(1, 0125B194 { 1} )
glBindTexture(de1, 1)
glTexEnvi(2300, 2200, 1e01)
glTexParameteri(de1, 2801, 2600)
glTexParameteri(de1, 2800, 2600)
glTexImage2D(de1, 0, 8058, 100, 100, 0, 1908, 1401, 00C2E858)
glBindTexture(de1, 0)
clGetPlatformIDs(0, NULL, 1) = CL_SUCCESS
clGetPlatformIDs(1, 05744514, NULL) = CL_SUCCESS
clGetDeviceIDs(05744514, CL_DEVICE_TYPE_GPU, 1, 04516F40 , NULL) = CL_SUCCESS
clGetDeviceInfo(0x04516F40, CL_DEVICE_NAME, 400, BeaverCreek, NULL) = CL_SUCCESS
clGetDeviceInfo(0x04516F40, CL_DEVICE_EXTENSIONS, 400, cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing , NULL) = CL_SUCCESS
wglGetCurrentContext() = 0x00020000
wglGetCurrentDC() = 0x38010929
wglGetCurrentContext() = 0x00020000
clCreateContext(8200 0x20000 8203 0x38010929 4228 0x5744514, 1, 04516F40 , NULL, NULL, CL_SUCCESS) = 0x06A30828
clCreateCommandQueue(0x06A30828, 0x04516F40, 0, CL_SUCCESS) = 0x06A69900
clCreateProgramWithSource(0x06A30828, 1, C:\Users\inteltc\Documents\clgl_latest\Debug\clgl_1.program, CL_SUCCESS) = 0x06A6B9F8
clBuildProgram(0x06A6B9F8, 0, NULL, NULL, NULL, NULL) = CL_SUCCESS
clCreateKernel(0x06A6B9F8, kernel1, CL_SUCCESS) = 0x045266E0
clCreateFromGLTexture2D(0x06A30828, CL_MEM_WRITE_ONLY, GL_TEXTURE_2D, , 0, 1, CL_INVALID_GL_OBJECT) = 0x00000000
На самом деле это вызвало у меня обновление вопроса с этим вызовом. Эта информация о вызове не записывалась. В любом случае я обновил вопрос с этой информацией .. – user1347494