Recently, I tried to use clEnqueueCopyImage for OpenGL/ES interop with OpenCL. However, it just return -59(CL_INVALID_OPERATION) after calling clEnqueueCopyImage
How could i fix it ?
I'm afraid older drivers do not support imported images as the source of image copy commands. This restriction is being relaxed for several types of memory and we will make sure that your usage scenario is tested going forward.
Taking a step back: do you really need to make a copy? Imported EGL images can be accessed directly from kernels and getting rid of the copy would give you better performance. If you do need the copy on current drivers in that exact scenario, a reasonable workaround could be to write a simple kernel that performs the copy. It could be as simple as: read one pixel from the source image in each work-item and write that pixel to the destination image.
Hope this helps and don't hesitate if you need more help!
I have tried to write a simple kernel to access the Imported EGL images, however, it also return CL_INVALID_OPERATION after calling clEnqueueNDRange. So, I suspect that the Imported EGL images is not truly accessible although calling of clCreateFromEGLImageKHR return true
Before any development begins, the software partner must evaluate the needs of the business and determine the technical requirements. This is known as the product roadmap, which outlines the timetable, budget, and technical plan. Workshops are held to determine the software's design, which is then converted into interactive prototypes and wireframes. User research validates the design, and testing ensures the software meets expectations. Once the prototype is ready, the software developers will start writing code. These hours are accounted for when calculating the cost of custom software development https://mlsdev.com/services/custom-software-development