Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Note that this change is not tested at all (not even compile wise!).
|
|
|
|
Reports suggest that its working and not required
|
|
HTC's drivers don't preserve the color buffer between frames (as allowed
by the spec, apparently), so we have to force-clear it every frame when
we're not rendering a texture over the whole screen.
|
|
When coming back from standby, there might be an indermediate surface
change
|
|
|
|
Don't wipe the RGB bits, fixes wrong colors on BASS cursors
|
|
|
|
|
|
|
|
|
|
Doesn't work on some drivers, need to do it differently
|
|
Rewritten input system with many new feature.
Fixed related bugs and shortcomings on the way.
|
|
|
|
|
|
Not required. Why did i add that again?
|
|
|
|
Hopefully that'll help me to not forget about the double buffering.
This fixes some gfx leftovers when not running games in fullscreen
mode.
|
|
Fixes regression introduced with 4267011e
|
|
|
|
|
|
|
|
kFeatureFullscreenMode and kFeatureAspectRatioCorrection are supported
now. The former prevents scaling to the full display - it scales one
axis and keeps the game AR.
|
|
|
|
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.
|
|
This reduces the CPU usage on 640x480 games by ~5% on my droid when
reuploading the textures to the GPU
|
|
|
|
|
|
|
|
Leftover from the recently introduced 16bit support
|
|
There's no point in doing that in initSize() every time
|
|
I hate this code
|
|
|
|
|
|
|
|
Supported pixel formats: 565, 5551, 4444
Missing: 555 (doesn't exist on GLES)
|
|
Gets rid of leftovers
|
|
|
|
CursorMan allows to push cursors with a width/height of zero. If such a
cursor is restored, we don't need to call glTexSubImage2D() 0xffffffff
times... This fixes delays of multiple minutes when closing GMM
on groovie and sword.
Also, I want that last hour of my life back.
|
|
Split surface code into helper functions to avoid code duplication, and
distinguish between screen resizes and surface recreation. The former
happens when toggling the softkeyb, where we just have to reset the
viewport. Fixes garbled textures in those cases.
|
|
When calling glDeleteTextures() we need a valid surface.
|
|
|
|
|
|
|
|
- make the startup sequence more linear
- use SurfaceHolder events
- get rid of the surface lock
- remove unnecessary JNI calls
- make the ScummVM class implement Runnable
- cleanup
|