[Scummvm-cvs-logs] SF.net SVN: scummvm:[53801] scummvm/trunk/backends/platform/android/android .cpp
anguslees at users.sourceforge.net
anguslees at users.sourceforge.net
Mon Oct 25 09:27:05 CEST 2010
Revision: 53801
http://scummvm.svn.sourceforge.net/scummvm/?rev=53801&view=rev
Author: anguslees
Date: 2010-10-25 07:27:05 +0000 (Mon, 25 Oct 2010)
Log Message:
-----------
ANDROID: Force extra screen update when updating overlay.
This appears to work around a blank screen bug Nexus1. I never
tracked it down, but as far as I can tell it is triggered by multiple
overlapping updates before flushing the texture to screen. This
condition only happens in the overlay atm so an extra redraw isn't the
end of the world.
(Also remove an unused _full_screen_dirty property)
Modified Paths:
--------------
scummvm/trunk/backends/platform/android/android.cpp
Modified: scummvm/trunk/backends/platform/android/android.cpp
===================================================================
--- scummvm/trunk/backends/platform/android/android.cpp 2010-10-25 07:07:23 UTC (rev 53800)
+++ scummvm/trunk/backends/platform/android/android.cpp 2010-10-25 07:27:05 UTC (rev 53801)
@@ -109,7 +109,7 @@
env->DeleteLocalRef(cls);
}
-// floating point. use sparingly.
+// floating point. use sparingly.
template <class T>
static inline T scalef(T in, float numerator, float denominator) {
return static_cast<float>(in) * numerator / denominator;
@@ -177,7 +177,6 @@
GLESPaletteTexture* _game_texture;
int _shake_offset;
Common::Rect _focus_rect;
- bool _full_screen_dirty;
// Overlay layer
GLES4444Texture* _overlay_texture;
@@ -320,7 +319,6 @@
_fsFactory(new POSIXFilesystemFactory()),
_asset_archive(new AndroidAssetArchive(am)),
_shake_offset(0),
- _full_screen_dirty(false),
_event_queue_lock(createMutex()) {
}
@@ -862,6 +860,9 @@
void OSystem_Android::clearOverlay() {
ENTER("clearOverlay()");
_overlay_texture->fillBuffer(0);
+
+ // Shouldn't need this, but works around a 'blank screen' bug on Nexus1
+ updateScreen();
}
void OSystem_Android::grabOverlay(OverlayColor *buf, int pitch) {
@@ -887,6 +888,9 @@
// This 'pitch' is pixels not bytes
_overlay_texture->updateBuffer(x, y, w, h, buf, pitch * sizeof(buf[0]));
+
+ // Shouldn't need this, but works around a 'blank screen' bug on Nexus1?
+ updateScreen();
}
int16 OSystem_Android::getOverlayHeight() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list