Closed Gillou68310 closed 9 years ago
Are you sure that this won't cause a regression by clearing the color buffer after each SwapBuffers call? It seems like quite a few games (Kirby 64 I think, and others) sometimes don't clear the screen on every redraw and rely on the graphics buffer retaining its old contents.
I checked Kirby 64 everything seems fine, do you recall any other games doing this?
The texture flashing should be fixed by the incoming Rice refactoring.
Plus: using "gl" prefix instead of "hand imported pgl" cause possible cross platform regression (I agree this is something we need to fix).
The heart fix is interesting. I will create ticket for this.
About the force clear, create such unconditional clear can potentially affect other games and the N64 hardware doesn't clear the buffer at swapping so if it's not N64 behaviour, it's a hack and if it's a hack it had to be conditional. So the question here is: What are you trying to achieve? :)
@Gillou68310 I will do a push request for the Rice refactoring. I will now also only work on the official repo. All this fixes are interesting but they would be lost/irrelevant with the refactored Rice.
I close this (Richard, feel free to repoen it if you think it's relevant) and create separate tickets to keep a track of your commits and integrate them in the refactored Rice code.
it's a hack and if it's a hack it had to be conditional. So the question here is: What are you trying to achieve? :)
This fix garbage outside the VI window with some crappy GLES driver. I didn't notice any regression using this hack that's why I didn't make it conditional but I agree that this is a hack and it should be conditional.
On another subject I tested this https://github.com/Narann/mupen64plus-video-rice/commit/7273e0aeaa3aa651b7f62fe963910d771c57d3ed Still have wrong textures color on GLES ;-) Did you managed to setup a PowerVR environnement?
Still have wrong textures color on GLES ;-)
The GL code path uses GL_BGRA ordering in many places. Unfortunately, GLES2 only supports it as an extension GL_BGRA_EXT, which can't be relied on for every GLES2 device. I wonder what the performance penalty would be to replace all instances of GL_BGRA with GL_RGBA (and make the requisite changes to the encoding/decoding logic, e.g. in ReadScreen2).
I identified the problem.
I will update the OGLTexture to find the best format permutation at runtime depending user options and available extensions. I will open a ticket to track this. :)
Did you managed to setup a PowerVR environnement?
Not yet but not too far. :D
Flashing textures example:
Frame X-1 texture ok:![zelda_castle_001](http://imageshack.com/a/img540/9345/PNn8GI.png)
Frame X texture not ok:![zelda_castle_002](http://imageshack.com/a/img538/3732/VZ2TN2.png)
Frame X+1 texture ok (same as Frame X-1).