How far can emulation go? (Pyra vs. Pandora)


Well, maybe no full software renderer, but something like glshim could be coded for OpenGL ES3.0 as well, using hardware functions of OpenGL ES2.0 and either implementing the remaining via software or allow to switch them off (if that's speedier).

That would be a mixture of both that could work (though I have no ideas about the OpenGL ES3.0 / 2.0 differences).
The Dolphin dev (Ryan Houdek, aka sonicsdvance1) didn't decide to use ES 3.0 features arbitrarily. When the port was first being written ES 3.0 compliant hardware + drivers didn't even exist. The developer had to wait for someone to donate one of the first devices that had it, and the implementation was very buggy. If ES 3.0 features weren't absolutely essential I'm sure he would have made due without them and targeted ES 2.0. And doing some feature in software will usually mean doing everything in software, you can't just emulate something that's supposed to be deep intertwined with the GPU pipeline like depth textures.

This isn't like glshim which is meant to support legacy software written for platforms where OpenGL ES 1.x wasn't available or before it even existed.
 
It's exactly the spirit of glshim, but Regal is a better example of a project targeting this specific functionality (getting GL 4.3 / ES 3.0 to work on any GL target with shaders).
 

I looked around a bit but I found no information whatsoever on which features from ES 3.0 Dolphin requires, so I can't comment on the feasibility of implementing them on top of ES 2.0.

That said, I do have a project I'm working on that might be useful here regardless.
 
Last edited by a moderator:
I would compare Pyra and Pandora a bit like


Ford Fiesta and Porsche 911


You can drive 120 kmh whit booth, but whyle you must give full trotle in the Fiesta for this Speed, its for the Porsche no big deal..


This is the same whit Pandora and Pyra:


You need to give full throtle on Pandora if you wants to play par exemple DS Games, whyle on Pyra its no big deal at all..
 
It's exactly the spirit of glshim, but Regal is a better example of a project targeting this specific functionality (getting GL 4.3 / ES 3.0 to work on any GL target with shaders).
Maybe the description I gave was too limiting. But there are API features that are more there for programmer convenience or features that can be emulated with a reasonable amount of overhead, and then there are features that need specific hardware support exposed and can't be emulated in a way that's remotely practical.

If OpenGL ES 2.0 was enough for a decent level of support without a completely unreasonable performance overhead I think they would have done it and I think they're in a better position than we are to make that claim. Sonicadvance1 has been adamant that ES 2.0 isn't good enough. In fact, even ES 3.1 is not enough to support all features, as per this thread:

https://forums.dolphin-emu.org/Thread-nvidia-tegra-x1?pid=352286#pid352286

Explains why geometry shaders and atomic images are necessary, and here:

https://dolphin-emu.org/blog/2015/04/01/dolphin-progress-report-march-2015/

Full occlusion query support is needed for a feature too. But ES 3.0 was enough to get games working at a level they considered worthwhile so that was the baseline.

However, the SGX drivers implement some extensions to OpenGL ES 2.0 that bridge part of the gap. There's a list here:

http://e2e.ti.com/support/omap/f/885/p/354512/1244473#1244473

It doesn't look like the drivers TI's using support all of the extensions IMG have enabled on other platforms and I doubt we'll see more progress in this area. It does have GL_OES_depth_texture, so that's something.

Sonicadvance1 talks about some of the GL ES 3.0 features Dolphin relies on here: http://ouyaforum.com/showthread.php?1402-A-question-about-OpenGL-ES-extension-supportTwo of the three extensions listed below are available (including the one he says is really a requirement), and GL_NV_uniform_buffer_object appears to have an equivalent in GL_IMG_uniform_buffer_object, but GL_NV_framebuffer_blit and GL_NV_map_buffer_range don't appear to have equivalents. Later in the thread he mentions GL_EXT_frag_depth, which also isn't supported on OMAP5.

But suffice it to say, there was a never a port targeting Tegra 4 (despite him getting a Shield) which has more extensions than Tegra 3, including the missing 24-bit depth he saw as a major problem.

Maybe ask him directly what the reality/consequences would be of trying to fit Dolphin to OMAP5's extension set.
 
Last edited by a moderator:
One other issue with using OGL ES 2.0 for Gamecube emulation is a lack of support for integer operations in GLSL. Using floats for Gamecube's rendering pipeline creates lots of problems, which is why the Dolphin team eventually dropped support for it.
 
One other issue with using OGL ES 2.0 for Gamecube emulation is a lack of support for integer operations in GLSL. Using floats for Gamecube's rendering pipeline creates lots of problems, which is why the Dolphin team eventually dropped support for it.
Would OpenGL 2.0 support help any of these gaps? I know lunixbochs mentioned that a driver could be released with a recompile from IT... as if that would ever happen...
 
So for pyra: Dc, and psp emulation for sure. MAYBE gamecube and I guess nintendo ds which is already somewhat playable on pandora?


And maybe fs-uae...and what about an atari falcon emu? Does such a thing exist? Probably.


We never got jaguar emulation on pandora its a tough machine to emulate? Weird chipset or something...


Sega Saturn would be sweet though...
 
We never got jaguar emulation on pandora its a tough machine to emulate? Weird chipset or something...
There's a certain lack of games on that system though :p  

Sega Saturn would be sweet though...
PtitSeb already announced it should run close to full speed on the Pyra. Recently. 

MAYBE gamecube and I guess nintendo ds which is already somewhat playable on pandora?
Don't know if you are on drugs, but Drastic plays every single Nintendo DS game and damn close to perfectly already :)

Gamecube, probably not. Or at least not full speed, even with a i5 at 2.5 Ghz (my laptop) Dolphin struggles with several games to reach 60 fps.  

and what about an atari falcon emu?
What for, though? It's like there was something remarkable on the Falcon that we are deeply missing...  
 
I only can find a windowed video of saturn emulation on OpenPandora at Youtube. Can anybody tell me if it was improved? The video is from 2011...
 
Which suggest from single threaded CPU boost alone it should reach 100% on the Pyra. Unless the GPU was the bottleneck but I'd be really surprised if that were the case.
 
Which suggest from single threaded CPU boost alone it should reach 100% on the Pyra. Unless the GPU was the bottleneck but I'd be really surprised if that were the case.
GPU is not used in it's current state. Well, the Qt version use GPU transfert the Staturn framebuffer to a texture, but even using pure SDL, it's still a bit slow.

It is CPU bounded, and especially the renderer(that is software only) for now.
 
I think its possible to play Playstation2 2D Anime RPG Games when anyone port a PS2 Emulator.


I don realy mean 3D Games.


Played here Playstation 2D RPGs on my 1,5GHZ SingleCore PC with a for me playable Framerate without Sound.


(AtelierIris Series)


There exist a Java PS2 Emulator and maybe someone give it a short Try ;)


Saturn on Pandora?


I had the Honor to test the latest Beta and there is a newer Video on my Youtubeaccount with it.


Saturn2D Games should work fine but 3D Games are in the rescent State of the Emulator not real playable.


Maybe the 3Doh Emulator work fine in the Future because there is the nicest Sailormoon BeatmUp what i know :)


Diablo2 Fullspeed is possible with Sound but very difficult to get it run.


For the Future of Pandora i wait for LunixBochs Wine with 3D Build and wait for Games like:


X-Beyond the Frontier,


Ragnarok Online and many other 3D Windows Games from the Past.
 
Thank you all for the information and thank you ignoreis for the video, I left you a comment there ;D.
 
I don't care much about consoles, I'm well served with everything before dreamcast. PC emulation on the other hand is what I would like to have on the pyra, if somehow (qemu, exagear, whatever ...) is able to run late 90's early 00's games, that would be just amazing.

Don't have much faith though, and even with the pandora I have more games than I want to play than free time.
 
We never got jaguar emulation on pandora its a tough machine to emulate? Weird chipset or something...
 
There's a certain lack of games on that system though :p  

Sega Saturn would be sweet though...
 
PtitSeb already announced it should run close to full speed on the Pyra. Recently. 

MAYBE gamecube and I guess nintendo ds which is already somewhat playable on pandora?
 
Don't know if you are on drugs, but Drastic plays every single Nintendo DS game and damn close to perfectly already :)


Gamecube, probably not. Or at least not full speed, even with a i5 at 2.5 Ghz (my laptop) Dolphin struggles with several games to reach 60 fps.  

and what about an atari falcon emu?
 
What for, though? It's like there was something remarkable on the Falcon that we are deeply missing...
Dont do drugs...anymore!
Falcon, yeah I know theres nothing to play and same for the jaguar.


I never tried drastic but figured it worked quite well.


Ill try it on pyra if its ported.


Its great to hear saturn emulation is improving.


Dc, saturn, psp should be a go and fs- uae(maybe)
 
Back
Top