AnsweredAssumed Answered

OVD causes an OpenCL crash when a second session is created

Question asked by liyan on May 28, 2013

The provided OVDecodeRender sample application works fine. However, OVD causes an OpenCL crash when a second session is created. The sample app is the easiest way to reproduce this. Simply create a dummy OVD session after the real one in OVDecodeTest.cpp :


    session = OVDecodeCreateSession(
        ovdContext,
        ovDeviceID,
        profile,
        oFormat,
        oWidth,
        oHeight);


+    OVDecodeCreateSession(
+        ovdContext,
+        ovDeviceID,
+        profile,
+        oFormat,
+        oWidth,
+        oHeight);

 

The second dummy session can be totally ignored, but the simple call to OVDecodeCreateSession invalidates the previous session in such a way that using it and calling OVDecodePicture returns a toxic cl_event. Using that event causes a 0xbaadf00d access violation in clWaitForEvents!

AMD, please reproduce and release a hotfix as it's really bad and prevents OpenVideo adoption!

Outcomes