Age | Commit message (Collapse) | Author |
|
Unused now, because the performance isn't good enough on weak GLES
drivers.
|
|
Same change as for the game screen, reduces CPU usage a little
|
|
|
|
|
|
Not required. Why did i add that again?
|
|
|
|
|
|
|
|
Same issue as in the last commit: glTexSubImage2D is slow, so cache
all copyRect*() calls in a buffer, and update the dirty rect once
when drawing. Reduces CPU usage on 16bit games significantly.
Also, lockScreen() returns now pixel data for non-CLUT8 games instead
of asserting.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I hate this code
|
|
|
|
Supported pixel formats: 565, 5551, 4444
Missing: 555 (doesn't exist on GLES)
|
|
|
|
|
|
The content of a paletted texture is in _surface.pixels. When recreating
the surface, don't wipe its data unnecessarily. This fixes gfx garbage
on CLUT8 games/cursors when leaving and going back to ScummVM
|
|
When calling glDeleteTextures() we need a valid surface.
|
|
|
|
And get rid of unnecessary JNI calls to get a pointer to g_system
|