553 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
ac94fbd081 merge from open-source master 2009-11-09 11:00:18 -08:00
Jean-Baptiste Queru
bcd20496e0 merge from open-source master 2009-11-08 17:03:30 -08:00
Jack Palevich
32d4165184 Allow a GLThread to release and reacquire the EGL Surface as needed.
We currently only allow one GLThread to have an active EGL Surface at a
time.(This may be lifted in the future, when EGL and GL are reentrant.)

Prior to this change we would enforce this rule by having older GLThreads
quit when a new GLThread started. That had the drawback of leaving the
older GLSurfaceViews in a zombie state -- their GLThreads would be
gone.

We now enforce this rule by just releasing and reacquiring the EGL surface
context as needed.

Specific changes to the code:

created private helper methods - startEgl and stopEgl to help manage
starting and stopping EGL.

Move the calls to sGLThreadManager start and end from the outermost run
method into the startEgl / stopEgl methods.

Reworked the wait loop to handle starting and stopping EGL as needed.

needToWait() gets simpler -- just looks at current status.

sGLThreadManager.shouldQuit was replaced by shouldHaveEgl.


This is another step in fixing bug 2228262.
2009-11-08 10:55:56 +08:00
Jack Palevich
6518c2bab4 am e54f267f: am a3a351e5: resolved conflicts for merge of 4e3fadd0 to eclair-mr2
Merge commit 'e54f267f06e86f9c1248742fc56967355721a4e7'

* commit 'e54f267f06e86f9c1248742fc56967355721a4e7':
  Fix stupid bug in GLThreadManager implementation.
2009-11-06 16:56:32 -08:00
Jack Palevich
e54f267f06 am a3a351e5: resolved conflicts for merge of 4e3fadd0 to eclair-mr2
Merge commit 'a3a351e5d164d0c8b461ae7af86edc0227654a76' into eclair-mr2-plus-aosp

* commit 'a3a351e5d164d0c8b461ae7af86edc0227654a76':
  Fix stupid bug in GLThreadManager implementation.
2009-11-06 16:45:58 -08:00
Jack Palevich
a3a351e5d1 resolved conflicts for merge of 4e3fadd0 to eclair-mr2 2009-11-06 16:35:19 -08:00
Jack Palevich
2a0bacffc1 am 4e3fadd0: Merge change Ia4424950 into eclair
Merge commit '4e3fadd0c99d2774709a067e017d8fd622440f0e' into eclair-plus-aosp

* commit '4e3fadd0c99d2774709a067e017d8fd622440f0e':
  Fix stupid bug in GLThreadManager implementation.
2009-11-06 16:11:50 -08:00
Jack Palevich
a44249500f Fix stupid bug in GLThreadManager implementation.
The code intended to copy the old value of a field, before the
field was updated. However, what the code was actually doing was
copying the new value of the field, after the field was updated.

The fix was to move the copy to before the update.

This is work towards fixing bug 2228262
2009-11-07 07:49:15 +08:00
Jack Palevich
3f7b5a13ca am a9e47546: am 79447b20: resolved conflicts for merge of 84872738 to eclair-mr2
Merge commit 'a9e47546a5132b30a2ed1e24d9193d4db09ef323'

* commit 'a9e47546a5132b30a2ed1e24d9193d4db09ef323':
  Improve GLSurfaceView to avoid deadlocks and race conditions.
2009-11-06 00:40:00 -08:00
Jack Palevich
a9e47546a5 am 79447b20: resolved conflicts for merge of 84872738 to eclair-mr2
Merge commit '79447b2087c8c820d742185dda7305101f9656f0' into eclair-mr2-plus-aosp

* commit '79447b2087c8c820d742185dda7305101f9656f0':
  Improve GLSurfaceView to avoid deadlocks and race conditions.
2009-11-06 00:25:44 -08:00
Jack Palevich
79447b2087 resolved conflicts for merge of 84872738 to eclair-mr2 2009-11-06 00:13:38 -08:00
Jack Palevich
0f820d9bf4 am 84872738: Merge change I971f6fd3 into eclair
Merge commit '84872738f291faf25ae07235cde382d38c796567' into eclair-plus-aosp

* commit '84872738f291faf25ae07235cde382d38c796567':
  Improve GLSurfaceView to avoid deadlocks and race conditions.
2009-11-05 22:32:14 -08:00
Jack Palevich
8b2c9c9ecb Improve GLSurfaceView to avoid deadlocks and race conditions.
This is work towards fixing bug 2228262

Specific issues fixed by this change:

+ GLThread names now include the thread id, making it easier to tell one
GLThread from another.

+ A private final static boolean LOG_THREADS can be set to true at compile
time to print out thread-related trace information, helpful for debugging
GLSurfaceView behavior. This static defaults to "false".

+ Changed calls to "notify" to "notifyAll" to make the code more
robust in case more than two threads are blocked on the same monitor.

+ Add a GLThreadManager to help manage the transition to
a new GLThread. Currently only one GLThread can be active in an address
space. When the second thread starts up, the GLThreadManager helps the old
GLThread to shut down,

+ Make sure we stop waiting for dead GLThreads. This is done by adding
checks for a variable mDone being true to our monitor wait loops. And
we use a "finally" clause at the end of GLThread.run() method to set mDone
and notifyAll any wait loops.
2009-11-06 10:21:46 +08:00
Mathias Agopian
9ac8e3c609 am ba37ea55: am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f'

* commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 15:20:59 -08:00
Mathias Agopian
ba37ea550d am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit '6d9e0c7aa797f4dae5f529560e9e7c31336624e3' into eclair-mr2-plus-aosp

* commit '6d9e0c7aa797f4dae5f529560e9e7c31336624e3':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 15:10:13 -08:00
Mathias Agopian
6d9e0c7aa7 am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469' into eclair-mr2

* commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 14:59:44 -08:00
Mathias Agopian
dc24cea38c am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469' into eclair-plus-aosp

* commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 14:59:14 -08:00
Mathias Agopian
36fe3eeaa0 part of fix [2186418] switch passion to 24-bits framebuffer
add support for RGBX_8888 EGLConfigs in the software renderer
(since that's what we're using in the MDP case)
2009-11-04 14:51:18 -08:00
Mathias Agopian
c92ed49ba6 am 43606242: am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '4360624241251035534a46449e23be38d9e6b03c'

* commit '4360624241251035534a46449e23be38d9e6b03c':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:46:42 -08:00
Mathias Agopian
4360624241 am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '8e5e44e9538fc327800414926651d46967ccc725' into eclair-mr2-plus-aosp

* commit '8e5e44e9538fc327800414926651d46967ccc725':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:23:36 -08:00
Mathias Agopian
8e5e44e953 am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb' into eclair-mr2

* commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:14:59 -08:00
Mathias Agopian
e4fb484187 am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb' into eclair-plus-aosp

* commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:13:34 -08:00
Mathias Agopian
bbf945f3c0 fix [2236832] software OpenGL ES driver doesn't work on sholes
make sure to not pass our fake handles to the real gralloc
2009-11-03 21:08:06 -08:00
Mathias Agopian
bb1517ed8f am 4e90c907: am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair
Merge commit '4e90c907f4fb222901f9db07a1f603c01211868d'

* commit '4e90c907f4fb222901f9db07a1f603c01211868d':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:26:21 -08:00
Mathias Agopian
4e90c907f4 am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair
Merge commit '65ab88c78916d7e3a182125878b17c8f40d7cac5' into eclair-mr2-plus-aosp

* commit '65ab88c78916d7e3a182125878b17c8f40d7cac5':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:21:00 -08:00
Mathias Agopian
71eba665af am 21977eb0: Merge change I56981989 into eclair
Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-plus-aosp

* commit '21977eb0f1d22497d0beed0492e579f953a56552':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:11:41 -08:00
Mathias Agopian
65ab88c789 am 21977eb0: Merge change I56981989 into eclair
Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-mr2

* commit '21977eb0f1d22497d0beed0492e579f953a56552':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:11:11 -08:00
Android (Google) Code Review
21977eb0f1 Merge change I56981989 into eclair
* changes:
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 18:04:49 -05:00
Mathias Agopian
55ab1c002d am d1d744cd: am 07d38c66: am 8637759a: Merge change I36d0184e into eclair
Merge commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e'

* commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 10:04:07 -08:00
Mathias Agopian
d1d744cdf4 am 07d38c66: am 8637759a: Merge change I36d0184e into eclair
Merge commit '07d38c66692b7d87415667010c0658202b5a7f39' into eclair-mr2-plus-aosp

* commit '07d38c66692b7d87415667010c0658202b5a7f39':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 09:47:31 -08:00
Mathias Agopian
07d38c6669 am 8637759a: Merge change I36d0184e into eclair
Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-mr2

* commit '8637759a1d34a4adda292579d5f8790587659235':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 09:34:40 -08:00
Mathias Agopian
b87e3eb933 am 8637759a: Merge change I36d0184e into eclair
Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-plus-aosp

* commit '8637759a1d34a4adda292579d5f8790587659235':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 09:33:22 -08:00
Mathias Agopian
5698198967 fix [2231527] Compatibility with SpaceJunk game (OpenGL)
we treated all lights as local lights when transforming their
position back to object space.
2009-11-02 18:33:08 -08:00
Mathias Agopian
36d0184e08 fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
2009-11-02 17:48:33 -08:00
Iliyan Malchev
0c69d8d34a am cb80b4f1: am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42'

* commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42':
  libagl: silence a LOGD
2009-11-01 21:56:52 -08:00
Mathias Agopian
ea9719ea77 am 78383abf: am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e'

* commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e':
  Turns out the SGX driver is correct and the bug was in this test.
2009-11-01 21:56:22 -08:00
Mathias Agopian
aee73dc45a am c64e9346: am d85545d0: am d01767f8: Merge change I56779290 into eclair
Merge commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc'

* commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc':
  fix[2222341] Soft reset while going back from camcorder settings
2009-11-01 21:54:55 -08:00
Mathias Agopian
8617d1a6f3 am 5acbf81a: am 74d4640c: am f989c114: Merge change If007a2fa into eclair
Merge commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e'

* commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e':
  return proper error code from eglCreateImageKHR
2009-11-01 21:54:44 -08:00
Iliyan Malchev
cb80b4f18e am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit '8385baea4742734dd23843b6dcf89fd2e0490dd6' into eclair-mr2-plus-aosp

* commit '8385baea4742734dd23843b6dcf89fd2e0490dd6':
  libagl: silence a LOGD
2009-10-30 18:41:22 -07:00
Mathias Agopian
78383abf76 am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit 'cbf583d7229aaff65734b4234e81db8ead864761' into eclair-mr2-plus-aosp

* commit 'cbf583d7229aaff65734b4234e81db8ead864761':
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 18:41:00 -07:00
Iliyan Malchev
78ac0f1b22 am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219' into eclair-plus-aosp

* commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219':
  libagl: silence a LOGD
2009-10-30 18:36:09 -07:00
Iliyan Malchev
8385baea47 am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219' into eclair-mr2

* commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219':
  libagl: silence a LOGD
2009-10-30 18:35:51 -07:00
Iliyan Malchev
8c0eb9a6eb libagl: silence a LOGD
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-30 18:29:08 -07:00
Mathias Agopian
cbf583d722 am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit '77bd91f8af44867935ea2df22f69fb244b009b94' into eclair-mr2

* commit '77bd91f8af44867935ea2df22f69fb244b009b94':
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 17:07:49 -07:00
Mathias Agopian
0fc2131aa2 am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit '77bd91f8af44867935ea2df22f69fb244b009b94' into eclair-plus-aosp

* commit '77bd91f8af44867935ea2df22f69fb244b009b94':
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 17:07:14 -07:00
Android (Google) Code Review
77bd91f8af Merge change Ie3e80456 into eclair
* changes:
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 19:40:09 -04:00
Mathias Agopian
e3e80456fb Turns out the SGX driver is correct and the bug was in this test.
make sure the 565 1-texel wide texture is specified with an alignment of 4
which is the OpenGL ES default.
2009-10-30 16:32:52 -07:00
Mathias Agopian
c64e934678 am d85545d0: am d01767f8: Merge change I56779290 into eclair
Merge commit 'd85545d0b4c92cceafafce98f246483de5c4903e' into eclair-mr2-plus-aosp

* commit 'd85545d0b4c92cceafafce98f246483de5c4903e':
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 15:10:08 -07:00
Mathias Agopian
5acbf81a20 am 74d4640c: am f989c114: Merge change If007a2fa into eclair
Merge commit '74d4640c0b362b40f507263627f5657396ff24f0' into eclair-mr2-plus-aosp

* commit '74d4640c0b362b40f507263627f5657396ff24f0':
  return proper error code from eglCreateImageKHR
2009-10-30 15:10:01 -07:00
Mathias Agopian
d85545d0b4 am d01767f8: Merge change I56779290 into eclair
Merge commit 'd01767f8b7038108f9125cd2122b117db9919824' into eclair-mr2

* commit 'd01767f8b7038108f9125cd2122b117db9919824':
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 15:01:57 -07:00