293 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
Mathias Agopian
74d4640c0b am f989c114: Merge change If007a2fa into eclair
Merge commit 'f989c1140bbc84480498df38abec0fafff04e6ee' into eclair-mr2

* commit 'f989c1140bbc84480498df38abec0fafff04e6ee':
  return proper error code from eglCreateImageKHR
2009-10-30 15:01:44 -07:00
Android (Google) Code Review
d01767f8b7 Merge change I56779290 into eclair
* changes:
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 17:54:10 -04:00
Android (Google) Code Review
f989c1140b Merge change If007a2fa into eclair
* changes:
  return proper error code from eglCreateImageKHR
2009-10-30 17:54:03 -04:00
Mathias Agopian
0b0722f980 fix[2222341] Soft reset while going back from camcorder settings
add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger, without including
gralloc_priv.h
2009-10-30 14:48:50 -07:00
Mathias Agopian
894449ac46 am af7d2dda: am 5dc7a21c: Merge change I4e036287 into eclair
Merge commit 'af7d2dda809be2ce43b4b892509648857f09f5e3' into eclair-mr2-plus-aosp

* commit 'af7d2dda809be2ce43b4b892509648857f09f5e3':
  update line test to expose some bug on SGX530 ed4
2009-10-29 19:59:18 -07:00
Mathias Agopian
af7d2dda80 am 5dc7a21c: Merge change I4e036287 into eclair
Merge commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a' into eclair-mr2

* commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a':
  update line test to expose some bug on SGX530 ed4
2009-10-29 19:34:15 -07:00
Mathias Agopian
f007a2faa1 return proper error code from eglCreateImageKHR 2009-10-29 16:45:41 -07:00
Mathias Agopian
4e036287fd update line test to expose some bug on SGX530 ed4 2009-10-29 15:47:12 -07:00
Mathias Agopian
09976cafb1 am 2b770bbe: am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation
Merge commit '2b770bbe4697ebea040532f308d63478ee4b9454' into eclair-mr2-plus-aosp

* commit '2b770bbe4697ebea040532f308d63478ee4b9454':
  fix [2071412] work around mdp 32-bits fade limitation
2009-10-29 14:01:38 -07:00
Mathias Agopian
2b770bbe46 am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation
Merge commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e' into eclair-mr2

* commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e':
  fix [2071412] work around mdp 32-bits fade limitation
2009-10-29 13:43:26 -07:00
Mathias Agopian
2eca23d690 am a2151b2b: am 7bde36e6: added GL test for textured lines
Merge commit 'a2151b2b982cce5d424fdea2510ea9334a131475' into eclair-mr2-plus-aosp

* commit 'a2151b2b982cce5d424fdea2510ea9334a131475':
  added GL test for textured lines
2009-10-29 01:46:31 -07:00
Mathias Agopian
64d3f44c7b am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair
Merge commit '893cb4da1034870a8814394a1c3bdac10ca6cadf' into eclair-mr2-plus-aosp

* commit '893cb4da1034870a8814394a1c3bdac10ca6cadf':
  fix [2143798] Need to figure out how to do video
2009-10-29 01:46:16 -07:00
Mathias Agopian
a2151b2b98 am 7bde36e6: added GL test for textured lines
Merge commit '7bde36e64e66c81f0150d0372e1357a31f4ec704' into eclair-mr2

* commit '7bde36e64e66c81f0150d0372e1357a31f4ec704':
  added GL test for textured lines
2009-10-29 01:27:18 -07:00
Mathias Agopian
893cb4da10 am 73e17015: Merge change I8d2de438 into eclair
Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-mr2

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
  fix [2143798] Need to figure out how to do video
2009-10-29 01:26:48 -07:00
Mathias Agopian
85ade33edc fix [2071412] work around mdp 32-bits fade limitation
in the case where we fade a 32-bits surface (ie: GL_MODULATE w/ a,a,a,a + blending),
we first make a copy of the background into a RGB buffer, then we blend the 32-bits
surface as usual (without the alpha component), and finally blend the copy of
the background on top with 1-a. This uses a lot of bandwidth, but no CPU time.
2009-10-28 14:49:44 -07:00
Mathias Agopian
7bde36e64e added GL test for textured lines 2009-10-28 02:09:21 -07:00
Mathias Agopian
9042b4564d fix [2143798] Need to figure out how to do video
Use EGLImageKHR instead of copybit directly.
    We now have the basis to use streaming YUV textures (well, in fact
    we already are). When/if we use the GPU instead of the MDP we'll
    need to make sure it supports the appropriate YUV format.

    Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
2009-10-27 13:13:29 -07:00
Jack Palevich
a904672996 am a2ec1f4c: am 8f89a1a3: Merge change Ic620a52b into eclair
Merge commit 'a2ec1f4cea5531fb824b3fb2802ef4573a4916d9' into eclair-mr2-plus-aosp

* commit 'a2ec1f4cea5531fb824b3fb2802ef4573a4916d9':
  Add size checks for glBufferData and glBufferSubData
2009-10-23 17:49:17 -07:00
Jack Palevich
a2ec1f4cea am 8f89a1a3: Merge change Ic620a52b into eclair
Merge commit '8f89a1a360465e08e81ceca3cb3042606a98668b' into eclair-mr2

* commit '8f89a1a360465e08e81ceca3cb3042606a98668b':
  Add size checks for glBufferData and glBufferSubData
2009-10-23 17:39:47 -07:00
Jack Palevich
c620a52b69 Add size checks for glBufferData and glBufferSubData
Without the size checks it's possible for calls to glBufferData
and glBufferSubData to read off the end of the Buffer object's
data, which can cause page faults.

Fix end-of-line characters for the "spec" files. (That's why
every line of these files is changed.)

Enhance our code emitter to properly handle bounds checks for
possibly-null pointers.
2009-10-21 11:02:44 -07:00
Mathias Agopian
18dc8826a2 am 992f4802: am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
Merge commit '992f4802aefba9f4a8122cc5332f2bc726a3f3f6' into eclair-mr2-plus-aosp

* commit '992f4802aefba9f4a8122cc5332f2bc726a3f3f6':
  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
2009-10-19 16:37:36 -07:00
Mathias Agopian
992f4802ae am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
Merge commit 'b34d5d527596102ae7a040d787e4d8c336bf192b' into eclair-mr2

* commit 'b34d5d527596102ae7a040d787e4d8c336bf192b':
  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
2009-10-19 16:27:37 -07:00
Mathias Agopian
b34d5d5275 Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
this will be needed for SMP, but would improve dispatching GL calls a bit
on armv6 and above.
2009-10-19 16:13:46 -07:00
Mathias Agopian
5a4c7a61da am 60714539: am 62df88bc: Merge change I0953c1d5 into eclair
Merge commit '60714539ad896a548c4b0c0b42afc61447cb6e2b' into eclair-mr2-plus-aosp

* commit '60714539ad896a548c4b0c0b42afc61447cb6e2b':
  fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 15:44:18 -07:00