ANDROID: Don't use compressed textures for the game screen
Some GLES drivers suck so much that uploading data to the GPU takes ages. CLUT8 games now use a faked paletted texture, which internally uses a RGB565 hardware texture (Android's native pixel format). This seems to be the only way to efficiently implement constant changing textures with GLES1 - at the cost of extra buffers. Then again, we can now use glTexSubImage2D to only update the dirty rects, which wasn't possible before because glCompressedTexSubImage2D is only usable on GLES2. This commit does exactly that. Overall, the CPU usage is massively reduced for CLUT8 games.
This commit is contained in:
parent
5b820cee64
commit
a93229cae5
4 changed files with 169 additions and 17 deletions
|
@ -330,7 +330,7 @@ void OSystem_Android::initBackend() {
|
|||
initSurface();
|
||||
initViewport();
|
||||
|
||||
_game_texture = new GLESPalette565Texture();
|
||||
_game_texture = new GLESFakePalette565Texture();
|
||||
_overlay_texture = new GLES4444Texture();
|
||||
_mouse_texture_palette = new GLESPalette5551Texture();
|
||||
_mouse_texture = _mouse_texture_palette;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue