[Scummvm-cvs-logs] scummvm master -> 449e9cf33923f2685356596f82bc596e1f05407c

fuzzie fuzzie at fuzzie.org
Mon Apr 4 12:25:57 CEST 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
449e9cf339 ANDROID: Fix non-fullscreen corruption on HTC devices.


Commit: 449e9cf33923f2685356596f82bc596e1f05407c
    https://github.com/scummvm/scummvm/commit/449e9cf33923f2685356596f82bc596e1f05407c
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2011-04-04T03:23:12-07:00

Commit Message:
ANDROID: Fix non-fullscreen corruption on HTC devices.

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.

Changed paths:
    backends/platform/android/gfx.cpp



diff --git a/backends/platform/android/gfx.cpp b/backends/platform/android/gfx.cpp
index b2f5427..19cfd7f 100644
--- a/backends/platform/android/gfx.cpp
+++ b/backends/platform/android/gfx.cpp
@@ -430,7 +430,9 @@ void OSystem_Android::updateScreen() {
 	_force_redraw = false;
 
 	// clear pointer leftovers in dead areas
-	if (_show_overlay && !_fullscreen)
+	// also, HTC's GLES drivers are made of fail and don't preserve the buffer
+	// ( http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html )
+	if ((_show_overlay || _htc_fail) && !_fullscreen)
 		clearScreen(kClear);
 
 	GLCALL(glPushMatrix());
@@ -525,14 +527,6 @@ void OSystem_Android::updateScreen() {
 
 	if (!JNI::swapBuffers())
 		LOGW("swapBuffers failed: 0x%x", glGetError());
-
-	// HTC's GLES drivers are made of fail
-	// http://code.google.com/p/android/issues/detail?id=3047
-	if (!_show_overlay && _htc_fail) {
-		const Common::Rect &rect = _game_texture->getDrawRect();
-
-		glScissor(rect.left, rect.top, rect.width(), rect.height());
-	}
 }
 
 Graphics::Surface *OSystem_Android::lockScreen() {






More information about the Scummvm-git-logs mailing list