The application is hangs, when eglMakeCurrent is calling from other thread.

Hi all!

I try to use PowerVR OpenGL ES 2.0 Emulator from the last PowerVR SDK 3.5
When i create the OpenGL ES context and try to call eglMakeCurrent, then the app is hangs!

But AMD OpenGL ES 2.0 emulator is working fine!.

I attach the test project.

I suspect the issue may be that the Windows API is initialised on a separate thread from the GLES initialisation.

If you use only one thread for these, and use additional threads only for loading resources for GLES asynchronously, the application should behave well.

Thanks PauIL for your response!

>I suspect the issue may be that the Windows API is initialised on a separate thread from the GLES initialisation.

Do you have plans for fixing of this issue in new version of PowerVR SDK?

>If you use only one thread for these, and use additional threads only for loading resources for GLES asynchronously, >the application should behave well.

No, I can’t load resources because the application is hangs durinng calling eglMakeCurrent…

Adreno/Mali/AMD OpenGL ES 2.0 Emulators are working very good in the other thread! but PoverVR emulator is better!, i hope that it will be fixed in the new version PoverVR SDK.

Also, i submitted the bug report:

https://pvrsupport.imgtec.com/feedback/view/83-powervr-sdk-3-5-the-application-is-hangs-when-eglcreatecontext-eglmakecurrent-is-calling-from-other-

For reference, I have filed this on our internal bug tracker as: BRN56435

Thanks PauIL for your response! I will be waiting of fixing this issue.

Hi PauIL! In the new Pover VR SDK 4.0 The problem is still exist :frowning:
I attached the new test project.

Hi Andrey,

Unfortunately, the PVRVFrame lead didn’t have a chance to investigate and resolve the issue before our 4.0 SDK went live. We will aim to resolve the problem in a future release.

Hi Joe,
Thanks you, I will be waiting again of fixing this issue.

I had the same problem. All the time when I create the OpenGL ES context and try to call eglMakeCurrent, the app is hangs. It’s really pity. But now I found information what I needed. Thank you.

I tried the application on my system and it runs fine ( with a one caveat ). There was NO OpenGL ES emulator binary provided in the attached archive (zip/rar) file. I replaced all the binaries and static libraries included with those from the latest SDK and ran with no problem( at least thats what I think ). I tried to capture a screen shot just using Alt-Print Screen, but nothing seems to be getting captured. In either case, I saw a window with a large blue triangle.

But, I have the problem on AMD R7 240.

Yes. This is correct result.

I’ve discussed this issue with the PVRVFrame lead. It’s not mentioned in our release notes (I’ll see if we can get this updated), but a fix for the eglMakeCurrent() hang made it into our 2016r1 release. With the new libraries, the PVRVFrame lead was unable to reproduce when running your example application on a Radeon HD 7700 Windows machine.

Can you try using the latest PVRVFrame libraries and let us know if the issue still occurs for you?

Yes, I will try the 4.1 version!

Joe
Very big tanks!
The new version of Emulator is working fine! not hangs!

Intel® HD Graphics 4000,(the old version is hang on Intel)

OpenGL ES renderer PVRVFrame 10.3 - None (Host : Intel® HD Graphics 4000) (SDK Build: 16.1@3969874)
11636:Thu Mar 24 08:14:16 2016 OpenGL ES vendorImagination Technologies (Host: Intel)
11636:Thu Mar 24 08:14:16 2016 OpenGL ES version OpenGL ES 3.0 (Host : 4.0.0 - Build 10.18.10.4358)

Hi Andrey,

No problem. Thanks for confirming the issue is resolved :slight_smile: