Imagination PowerVR SDK Blog

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

pvrvframe

#1

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.


#2

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.


#3

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-


#4

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


#5

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


#6

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


#7

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.


#8

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


#9

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.


#10

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.


#11

But, I have the problem on AMD R7 240.

Yes. This is correct result.


#12

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?


#13

Yes, I will try the 4.1 version!


#14

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)


#15

Hi Andrey,

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