553 Commits

Author SHA1 Message Date
Mathias Agopian
ab5750115d fix [2912927] Can't get NV_draw_path extension to work
there was a problem with eglGetProcAddress() which would only work with
GLES 1.x contexts.

Change-Id: I4747671cbf7ed469bb471a377f1d6f36550d24df
2010-08-13 14:17:58 -07:00
Mathias Agopian
553a333d44 am 603a34ee: Merge "improve a bit the implementation of eglGetProcAddress" into gingerbread
Merge commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf' into gingerbread-plus-aosp

* commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf':
  improve a bit the implementation of eglGetProcAddress
2010-08-10 13:52:58 -07:00
Mathias Agopian
8daae8f149 improve a bit the implementation of eglGetProcAddress
Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6
2010-08-09 18:35:43 -07:00
Mathias Agopian
d12a98e2b1 am 9abce39a: Merge "fix [2421247] implement eglGetProcAddress(), needed in the ndk" into gingerbread
Merge commit '9abce39a991a6bc1cfab4284b5448a4f676bb06f' into gingerbread-plus-aosp

* commit '9abce39a991a6bc1cfab4284b5448a4f676bb06f':
  fix [2421247] implement eglGetProcAddress(), needed in the ndk
2010-08-03 11:30:42 -07:00
Mathias Agopian
3944eab21c fix [2421247] implement eglGetProcAddress(), needed in the ndk
Change-Id: I5027a27b43c0dd449a404024087853ca05bb8e4e
2010-08-02 18:23:36 -07:00
Mathias Agopian
67e4ff768d am 4d7fc365: Merge "remove copybit hack from software opengl (libagl)" into gingerbread
Merge commit '4d7fc3651bd93d588d2b8580010414b59bc67729' into gingerbread-plus-aosp

* commit '4d7fc3651bd93d588d2b8580010414b59bc67729':
  remove copybit hack from software opengl (libagl)
2010-07-30 18:03:17 -07:00
Mathias Agopian
bd2de0e42a remove copybit hack from software opengl (libagl)
h/w acceleration is not supported through software gl + copybit anylonger,
instead, h/w opengl must be used. in the system compositor, a new h/w
composition api will be introduced to allow h/w accelerated composition with
overlays and/or 2D blocks.

Change-Id: I04949cb074ba8c4d637319ace23497c16a58d5bf
2010-07-29 23:28:03 -07:00
Mathias Agopian
eb248a58fa am 55a76dd8: Merge "fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface()." into gingerbread
Merge commit '55a76dd8d9996c1e93762d7611789aea696d536c' into gingerbread-plus-aosp

* commit '55a76dd8d9996c1e93762d7611789aea696d536c':
  fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
2010-07-29 20:54:12 -07:00
Mathias Agopian
3ad6c44244 fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
rework how our EGL wrapper manages EGLConfig:

- we now store the EGLConfig with the EGLSurface and EGLContext
  so that we can have easy access to it from eglQueryContext
  and eglQuerySurface.

- EGLConfig now are an index into a sorted table of egl_config_t,
  we use a binary search to retrieve our EGLConfig (the index) from
  the implementation's EGLConfig.

- egl_config_t keeps track of the implementation's index,
  EGLConfig and CONFIG_ID as well as our CONFIG_ID.

In many ways, this implementation is simpler and more robust, as it doesn't
assume anything about the number of implementations nor what EGLConfig is
made of (the previous code assumed EGLConfig didn't usem more than 24-bits).

Change-Id: Id5abe923aacb6e1fd2b63bd8c15d7b04ae824922
2010-07-26 21:14:59 -07:00
Jack Palevich
43429036f5 am 91216a7e: Merge "Fix deadlock when switching between two GLSurfaceViews" into gingerbread
Merge commit '91216a7e7406ef02d833e461d0db93ece7b2140d' into gingerbread-plus-aosp

* commit '91216a7e7406ef02d833e461d0db93ece7b2140d':
  Fix deadlock when switching between two GLSurfaceViews
2010-07-13 19:12:32 -07:00
Jack Palevich
1b4ecc63c4 Fix deadlock when switching between two GLSurfaceViews
Some devices only support a single active EGL context.

On those devices, when a second activity that uses a GLSurfaceView
is started in the same process, the second activity can potentially
hang in GLSurfaceView.onWindowResize waiting for its GLSurfaceView
render thread to draw a frame. The second activity's render thread
is waiting to acquire an EGL context, but the first activity's render
thread doesn't know it should release the EGL context.

The fix is to detect the potential hang, and ask the first activity's
render thread to release the EGL context.

Change-Id: Ibb342c68772297744c973bcf5010581cd132db67
2010-07-13 19:09:37 -07:00
Mathias Agopian
5219a82f9d am 8ecfb60a: Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread
Merge commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d' into gingerbread-plus-aosp

* commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d':
  Fix a bug that prevented the creation of EGL shared contexts.
2010-07-02 12:34:22 -07:00
Mathias Agopian
8ecfb60a8e Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread 2010-07-02 12:32:33 -07:00
Jamie Gennis
5149f91c8c Fix a bug that prevented the creation of EGL shared contexts.
Change-Id: I6b0ec5ef86abdd4e9083067ba297107cfb094df3
2010-07-02 12:05:07 -07:00
The Android Open Source Project
f601ce2c14 merge from open-source master
Change-Id: Ifec16490ea2170728cb6ccb18d2e74fcb3478db6
2010-07-02 07:38:30 -07:00
Dianne Hackborn
177c405a24 am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread
Merge commit 'c6e1d88022db800773401c16803e1ab27fd01a7e' into gingerbread-plus-aosp

* commit 'c6e1d88022db800773401c16803e1ab27fd01a7e':
  Introduce official public NativeWindow type.
2010-06-30 16:08:24 -07:00
Dianne Hackborn
8b49bd1a2f Introduce official public NativeWindow type.
Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
2010-06-30 15:32:04 -07:00
Bruce Beare
fd23461c2b Fix missing NL
Change-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-06-25 09:08:12 -07:00
Dianne Hackborn
2eb12a4722 am 01e4cfc4: Some ActivityThread/ActivityManager cleanup.
Merge commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301' into gingerbread-plus-aosp

* commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301':
  Some ActivityThread/ActivityManager cleanup.
2010-06-24 15:23:59 -07:00
Dianne Hackborn
01e4cfc47d Some ActivityThread/ActivityManager cleanup.
- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
  represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
  package scoped.

Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
2010-06-24 15:20:48 -07:00
Jack Palevich
1e08cc1dfd am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Merge commit '224107a421e2611b15d1ec736df54bca9ee3e78d' into gingerbread-plus-aosp

* commit '224107a421e2611b15d1ec736df54bca9ee3e78d':
  Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
2010-06-22 05:16:24 -07:00
Jack Palevich
224107a421 Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
2010-06-22 20:08:40 +08:00
Mathias Agopian
cefb885874 am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread
Merge commit '28333315c6f62b303de2ec0ac9e48158ed419f06' into gingerbread-plus-aosp

* commit '28333315c6f62b303de2ec0ac9e48158ed419f06':
  Added support for the GL_TEXTURE_EXTERNAL target
2010-06-21 15:14:29 -07:00
The Android Open Source Project
6c9a30045b merge from froyo-plus-aosp
Change-Id: I36dd4460cae6e3212d724e70ff1091cb791670cd
2010-06-21 11:23:45 -07:00
Mathias Agopian
f8b4b4408c Added support for the GL_TEXTURE_EXTERNAL target
This will allow us to support YUV surfaces.

Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
2010-06-15 17:31:17 -07:00
The Android Open Source Project
20374b6045 merge from open-source master
Change-Id: I12af4b88c1881a6a120031459bc63d87b1dd4956
2010-06-15 11:34:57 -07:00
Mathias Agopian
6d4021a67d update EGL headers to the latest
note that this doesn't update the EGL stubs.

Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
2010-06-09 18:56:05 -07:00
Mathias Agopian
69d2f12e79 update GL ES stub libraries with the new GL ES headers
Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
2010-06-09 18:20:21 -07:00
Mathias Agopian
3b512cd564 fix OpenGL ES extension headers from khronos
the official headers have a couple typos, which
this CL fixes.

Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
2010-06-09 18:19:11 -07:00
Mathias Agopian
958f900668 update the OpenGL ES headers to the latest
Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
2010-06-09 18:08:15 -07:00
Mathias Palmqvist
8999515f66 Use stride for source and target buffers when copybit is enabled.
Change-Id: Ie651013b3522f8e004685d74190da86433086307
2010-06-02 16:03:04 +02:00
Mathias Agopian
d6ddcb7f00 fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail
force all SurfaceView to 565

Change-Id: I8ebfa1239d8e4fa097c2e544677fb92fa20b39bd
2010-05-24 19:07:08 -07:00
Mathias Agopian
7e71fcf31e fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfig
the EGL specification states that this should be treated as though it was
an empty list terminated with EGL_NONE.

Change-Id: I294104370a86b5e5c34c7bcf15c5459eab464631
2010-05-17 14:45:43 -07:00
The Android Open Source Project
55bef14f15 am fb234bbe: merge from open-source master
Merge commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2' into kraken

* commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2':
  Notify user regarding invalid number during MO call.
  Build software AGL library with correct get_tls() macro for ARMv7 based platforms
  Fix glReadPixels() to verify that both x and y are non-negative.
2010-05-12 12:13:18 -07:00
The Android Open Source Project
fb234bbe5e merge from open-source master
Change-Id: I022d0781a232396e2b8a67a420ecf50e64b87d8c
2010-05-12 11:58:14 -07:00
Mathias Agopian
06d0e59a43 Merge "Build software AGL library with correct get_tls() macro for ARMv7 based platforms" 2010-05-10 20:28:02 -07:00
Mathias Agopian
954cbf5b7f Merge "Fix glReadPixels() to verify that both x and y are non-negative." 2010-05-10 20:26:24 -07:00
Jack Palevich
15d484a7ef am 06798769: am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyo
Merge commit '0679876997a5523a7539b8fe2c74a39434b17820' into kraken

* commit '0679876997a5523a7539b8fe2c74a39434b17820':
  Quietly handle EGL_BAD_NATIVE_WINDOW errors
2010-04-19 19:15:12 -07:00
Jack Palevich
0679876997 am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyo
Merge commit '7305f4166306dac08fc63056f2c85e91015df879' into froyo-plus-aosp

* commit '7305f4166306dac08fc63056f2c85e91015df879':
  Quietly handle EGL_BAD_NATIVE_WINDOW errors
2010-04-19 19:10:13 -07:00
Jack Palevich
0e4aa37872 Quietly handle EGL_BAD_NATIVE_WINDOW errors
We believe these errors happen when the window
manager has told surface flinger to close the
native window.

If this error happens while we are creating the
EGL surface we exit the render loop (and
therefore exit the render thread.)

If the error happens while swapping the surface
we ignore it.

In either situation, we expect that the
application is about to be shut down by the
window manager, so it should not be necessary
to try and recover from the error.
2010-04-19 22:32:15 +08:00
Mathias Agopian
e547835c52 small cleanup. gEGLImpl should have been static
also added a ctor to initialized it in case we use it ont he stack
one day.

Change-Id: I2736b9bce3d8ba3b74fd029de4c18cca2cdbbf60
2010-04-09 14:26:07 -07:00
The Android Open Source Project
8de2cf4cce merge from open-source master
Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
2010-03-31 14:01:45 -07:00
Mathias Agopian
a5d4ad3d52 Fix Android's glEGLImageTargetRenderbufferOES() wrapper
glEGLImageTargetRenderbufferOES() pass the wrapped EGLImage
to the implementation, rather than the unwrapped one.

Change-Id: I149f9ed73e6ab9089110600e1db4311ba7a8c83a
2010-03-29 15:12:19 -07:00
Jack Palevich
5d961085c3 Add a test of EGL pausing and resuming. 2010-03-29 12:16:55 -07:00
Jack Palevich
4a65900cd6 Turn off logging. 2010-03-27 15:02:59 -07:00
Mathias Agopian
d7c1c00663 Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number" 2010-03-25 20:22:58 -07:00
Mathias Agopian
57e4865e52 fix [2236865] STOPSHIP: bump soft gl and egl minor version number
this is to allow developpers to deal with potiential differences
between the softgl versions.

Change-Id: I7ec2451d6af1be29818d66215b22977405d403e8
2010-03-25 20:21:12 -07:00
Jack Palevich
451a224c46 GLSurfaceView pause and resume now synchronize
with the GLThread.

We used to just set the mPaused state and return,
now we wait until the rendering thread signals
that it has noticed the change in pause state.

This makes Pause/Resume more consistent with
other UI-thread-to-GLThread event communication.

This change was made in the hope of fixing some
race conditions observed in monkey testing.
2010-03-25 17:18:39 -07:00
Jack Palevich
57c6a46bd0 Turn off thread logging (too many messages.)
Leave some other logging on for the monkey test.
2010-03-25 11:53:27 -07:00
Jack Palevich
e6c9448eb3 Add logging of GLSurfaceView pause/resume calls.
Turn on GLSurfaceView logging, so we can get better
information in the monkey tests.

Change-Id: Ifec0101f8a00ab09037dc9f7a1496fa1a374cc08
2010-03-25 10:50:21 -07:00