Arm Community
Site
Search
User
Site
Search
User
Groups
Education Hub
Distinguished Ambassadors
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello forum
Operating Systems forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Internet of Things (IoT) blog
Operating Systems blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Graphics, Gaming, and VR forum
OpenGL ES 3.0 Context
Jump...
Cancel
Locked
Locked
Replies
4 replies
Subscribers
136 subscribers
Views
12305 views
Users
0 members are here
OpenGL ES
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
OpenGL ES 3.0 Context
Adam Noviria
over 11 years ago
Note: This was originally posted on 26th April 2013 at
http://forums.arm.com
Hi,
I would like to know how to create a proper OpenGL ES 3.0 Context with OpenGL ES 3.0 Emulator
The only example that came with it only use OpenGL ES 2.0 context, and according to the User Guide i need to use EGL_RENDERABLE_TYPE,EGL_OPENGL_ES3_BIT attributes and EGL_CONTEXT_CLIENT_VERSION,3 contextattributes
BUT, apparently EGL_OPENGL_ES3_BIT (nor EGL_OPENGL_ES3_BIT_KHR) is not defined anywhere, so i wonder if OpenGL ES 3.0 Emulator really support ES 3.0 ?
Also, what is the best way to make a 3D program that can fallback to ES 2.0 when ES 3.0 is not supported without building a different program for each of them (and if possible to fallback to ES 1.x if Es 2.0 is not supported also)?
Do i need to use EGL_RENDERABLE_TYPE,(EGL_OPENGL_ES_BIT | EGL_OPENGL_ES2_BIT | EGL_OPENGL_ES3_BIT) for multiple ES support? any example how to use it? (so player can change between 3.0, 2.0 and 1.x on the fly)
Of course each of them will have a different rendering engine where ES 3.0 will use more advanced visual effect, i just need the example on creating ES 3.0,ES 2.0 and ES 1.x Context (all 3 of them using fallback method) within a single source code (if it's possible)
Thanks in advance
Parents
Stephen Barton
over 11 years ago
Note: This was originally posted on 13th May 2013 at
http://forums.arm.com
Hi Adam,
Although you are correct you can just give an EGL_CONTEXT_CLIENT_VERSION 1,2 or 3 we don't recommend doing it this way. This is because it is not guaranteed to work with all hardware platforms and GPU's. It will all depend on how a particular hardware vendor has chosen to implement the spec. So in this case although for the emulator and some hardware platforms it works by just passing EGL_CONTEXT_CLIENT_VERSION we strongly recommend you also pick a surface with the correct EGL_RENDERABLE_TYPE as well.
As for your issue with the emulator not supporting older graphics cards. You are correct currently the OpenGL ES 3.0 emulator will only run on cards that support OpenGL 3.2 and above. Also the OpenGL ES 3.0 emulator at present will not support OpenGL ES 1.0. I recommend for your Intel HD Graphics 3000 computers you switch to a separate product called the OpenGL ES 2.0 emulator.
Here is the link to it on the website.
This product only requires OpenGL 2.0 to be supported in order to work. I know that this isn't an ideal solution as OpenGL ES 3.0 will not be supported but you would have issues with your Intel HD Graphics 3000 GPU anyway.
Hope this helps,
Stephen
Cancel
Up
0
Down
Cancel
Reply
Stephen Barton
over 11 years ago
Note: This was originally posted on 13th May 2013 at
http://forums.arm.com
Hi Adam,
Although you are correct you can just give an EGL_CONTEXT_CLIENT_VERSION 1,2 or 3 we don't recommend doing it this way. This is because it is not guaranteed to work with all hardware platforms and GPU's. It will all depend on how a particular hardware vendor has chosen to implement the spec. So in this case although for the emulator and some hardware platforms it works by just passing EGL_CONTEXT_CLIENT_VERSION we strongly recommend you also pick a surface with the correct EGL_RENDERABLE_TYPE as well.
As for your issue with the emulator not supporting older graphics cards. You are correct currently the OpenGL ES 3.0 emulator will only run on cards that support OpenGL 3.2 and above. Also the OpenGL ES 3.0 emulator at present will not support OpenGL ES 1.0. I recommend for your Intel HD Graphics 3000 computers you switch to a separate product called the OpenGL ES 2.0 emulator.
Here is the link to it on the website.
This product only requires OpenGL 2.0 to be supported in order to work. I know that this isn't an ideal solution as OpenGL ES 3.0 will not be supported but you would have issues with your Intel HD Graphics 3000 GPU anyway.
Hope this helps,
Stephen
Cancel
Up
0
Down
Cancel
Children
No data