Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
19 Views

OpenCL and Directx9 error

   Hi guys. there is error that annoys me several days.

   PC info : win10 , Intel Core I5-5200U CPU with HD Graphics 5500. driver version:10.18.15.4248,driver date:6/19/2015

    My program uses OpenCL and Directx9. But OpenCL  doesn't interlace with Directx9, that means I use OpenCL to process image data, copy the data back to host,and then  data will be processed for other method. At last the data will display with Directx9. 

    Program is multi-thread. For class of processing image data,there will be several thread to call the same function  through overload for different methods, but there is one entity for this class. and only one method uses OpenCL. Supposed, thread A and B will execute this class,and thread B used OpenCL, and thread C will execute display with Directx9.

   I find that:

    1)if  threadA initializes and releases OpenCL resouces, threadB uses OpenCL with creating buffer and launching kernel, thread C executes the normal code. OpenCL code executes successfully ,but if thread A  and thread B exit,there is a error that display driver stopped responding and has recovered.

    2) thread A and  B do the same operations as above,thread C doesn't execute Directx9 code. there is no error.

   3) if thread B initializes OpenCL resouces, and uses OpenCL, thread A release OpenCL resouces. thread C executes the normal code.. there is no error.

    4) I change the PC ,with the same driver ,but GPU is HD 4600. for 1),there is no error.

    program is the  commercial product, so I can't upload the code .sorry.

    I can't explain this error. Can somebody help me ? thx!

 

   

0 Kudos
1 Reply
Highlighted
Beginner
19 Views

Directx9 code has a "D3DERR_DEVICEHUNG" code to force the GPU reset.

0 Kudos