OpenGL?


Kippykip

BFG 9000
Joined
Sep 6, 2016
Messages
515
Age
23
Location
'STRAYA
Website
kippykip.com
As far as I know, the Pyra uses OpenGLES for it's hardware acceleration and to run regular OpenGL applications, it has to be software rendered or use a wrapper like glshim/gl4es to translate it.

But doesn't the Raspberry Pi use a OpenGLES chip too? How did they get full OpenGL applications working on there? Or is it doing some weird trick I don't know about?
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
There is an open source beta driver that implement full OpenGL 2.x function on the RPi.
The driver is still buggy I think, but it's already pretty advanced. Is it better then glshim or gl4es, it depends on the scenario I guess, but I assume the OpenGL driver will be better and better with time.
 

Kippykip

BFG 9000
Joined
Sep 6, 2016
Messages
515
Age
23
Location
'STRAYA
Website
kippykip.com
There is an open source beta driver that implement full OpenGL 2.x function on the RPi.
The driver is still buggy I think, but it's already pretty advanced. Is it better then glshim or gl4es, it depends on the scenario I guess, but I assume the OpenGL driver will be better and better with time.
Yeah I was able to start GZDoom (although crap framerate) with the KMS setting enabled, I'm just stunned how they got full OpenGL instructions on that in the first place.
And some others got full PC minecraft on there without the translators I mentioned above.
Is there any way to use the RPi OpenGLES KMS translator thingy for something like the Pyra?
Or am I missing something
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
It's not a translator like gl4es, it's a full driver, based on MESA.
(on a side note, I also can run GZdoom & full Minecraft on the Pandora or an ODroid using gl4es).
 

Kippykip

BFG 9000
Joined
Sep 6, 2016
Messages
515
Age
23
Location
'STRAYA
Website
kippykip.com
It's not a translator like gl4es, it's a full driver, based on MESA.
(on a side note, I also can run GZdoom & full Minecraft on the Pandora or an ODroid using gl4es).
Wait so couldn't the mesa driver just be used instead of programming an entire translator? That way OpenGL 2 applications would work natively.
(Sorry if I sound like an idiot, I just don't understand how this all works in the first place.)
 

Letalis Sonus

Advanced Member
Joined
Mar 5, 2009
Messages
1,490
Wait so couldn't the mesa driver just be used instead of programming an entire translator?
There's no Mesa driver, Mesa is a user-space software library. What you consider a video driver is not a single entity but a whole collections of components working together, the actual driver is just a small part of that. With OpenGL and friends at the very far end of the software chain being the only thing that has a standardized interface you can't just slap a random collection of components together and expect them to work, especially when you can't get around using proprietary ones.
 

JonnyH

Member
Joined
Aug 9, 2014
Messages
85
Location
(No longer) PowerVR
The videocore IV doesn't "technically" support OpenGL2 in hardware - there are some missing parts (occlusion queries, quads, 32-bit index arrays, shadowmap texture lookup) that are unlikely to ever be worked around - but "most" OpenGL2 apps don't use them. And so long as they don't it'll work fine :)
 

Silent-Hunter

Hardcore Member
Joined
May 29, 2010
Messages
3,476
The videocore IV doesn't "technically" support OpenGL2 in hardware - there are some missing parts (occlusion queries, quads, 32-bit index arrays, shadowmap texture lookup) that are unlikely to ever be worked around - but "most" OpenGL2 apps don't use them. And so long as they don't it'll work fine :)
OpenGL2 or OpenGLES2?
 

Letalis Sonus

Advanced Member
Joined
Mar 5, 2009
Messages
1,490
I didn't know it supported OpenGL2 at all.
Hardware doesn't really support OpenGL, it only offers features that might be required to fully fulfill the requirements of a certain OpenGL version. You could say that any GLES2 hardware is able to run a subset of OpenGL 2.x simply because it's supposed to process the same kind of data in a similar way through programmable shaders.

There's been a lot of desktop GPUs that claimed to support certain OpenGL versions without having all hardware features required to actually do so - e.g. the R300/400/500 series (Radeon 9500, X series, X1000 series) lacked proper support for non power of 2 textures and most of the newer Evergreen and Northern Islands chips lack several instructions for handling double precision floats, which effectively lowers their official OpenGL support level down from 4.5 to 3.3.
 

JonnyH

Member
Joined
Aug 9, 2014
Messages
85
Location
(No longer) PowerVR
I didn't know it supported OpenGL2 at all.

I thought you were asking about the mesa open-source VC4 driver - which I believe "claims" it supports OpenGL 2, but not all the functions are implemented, so it works "most" of the time, as "most" OpenGL 2 apps don't actually use those features.

(Though it's likely most semi-modern GPUs are flexible enough that they *could* support pretty much anything, the question is if it's really worth the software cost for a slow workaround (which may be even slower than CPU rendering for some things))
 
Top