Commit Graph

367 Commits

Author SHA1 Message Date
Mathias Agopian
a8422af09e am 17fd21fc: Merge "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions" into gingerbread
* commit '17fd21fc0638d8734867b6f189efbabb227f3ae1':
  DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions
2010-11-10 14:15:57 -08:00
Mathias Agopian
70745094cc Merge "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions" into gingerbread 2010-11-10 14:09:17 -08:00
David 'Digit' Turner
2346d0223f am b7a109c0: Merge "Refresh EGL header to work with the NDK" into gingerbread
* commit 'b7a109c02735bb0d9e0bcb8f84e4aa3923701460':
  Refresh EGL header to work with the NDK
2010-11-09 16:25:58 -08:00
Mathias Agopian
744026fed6 DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions
We just make sure eglGetProcAddress() will return NULL for
 glEGLImageTargetTexture2DOES
 glEGLImageTargetRenderbufferStorageOES

which is better than returning the address of the wrong implementation.

the correct fix is more involved.

Change-Id: I585a1f40e564f862e5dd382224609ccd069cd3b5
2010-11-09 14:41:13 -08:00
David 'Digit' Turner
dfd0759ff6 Refresh EGL header to work with the NDK
This change allows to use this header with the NDK's standalone toolchain.
For the record, the NDK toolchain defines __ANDROID__ as a compiler built-in
macro, this is however not the case currently for the prebuilt binaries that
are being used by the full Android build system, which otherwise defines ANDROID.

This change allows the header to be used by all toolchains properly. Note however
that we should properly should change our toolchain and sources to provide and
rely on __ANDROID__ instead of ANDROID though.

Change-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328
2010-11-07 23:36:28 +01:00
Mathias Agopian
3e98e38510 am a7b745ca: Merge "fix eglChooseConfig() for special attributes." into gingerbread 2010-10-26 12:19:43 -07:00
Mathias Agopian
639716736f fix eglChooseConfig() for special attributes.
affects software renderer (emu) only.

per EGL spec:
  If EGL_MAX_PBUFFER_WIDTH, EGL_MAX_PBUFFER_HEIGHT,
  EGL_MAX_PBUFFER_PIXELS, or EGL_NATIVE_VISUAL_ID are speciļ¬ed
  in attrib list, then they are ignored

Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
2010-10-25 15:51:24 -07:00
Mathias Agopian
613493c424 am aa6df366: Merge "fix [3119687] [Maps][4.6.0] Force close in street view" into gingerbread
Merge commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685' into gingerbread-plus-aosp

* commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685':
  fix [3119687] [Maps][4.6.0] Force close in street view
2010-10-21 17:07:15 -07:00
Mathias Agopian
6af358e0a7 fix [3119687] [Maps][4.6.0] Force close in street view
The EGLConfig attributes MUST be sorted, because they're used in a binary search.
A recent change introduced a bug where 2 of the configs had improperly
sorted attributes.

Change-Id: I1ac53e4463d62f27125ca9f82ed946e6c98ddba0
2010-10-21 15:58:25 -07:00
Mathias Agopian
483d824271 am 2b2da526: Merge "Add a test application to dump all the EGLConfig available" into gingerbread
Merge commit '2b2da52608303b149d22418865e67c8030c70e73' into gingerbread-plus-aosp

* commit '2b2da52608303b149d22418865e67c8030c70e73':
  Add a test application to dump all the EGLConfig available
2010-10-20 21:28:34 -07:00
Mathias Agopian
a6da12c071 Merge "Add a test application to dump all the EGLConfig available" into gingerbread 2010-10-20 20:05:28 -07:00
Mathias Agopian
3f9f60fa42 am a0795fc9: Merge "software renderer: fix [3117351] GL driver doesn\'t set the EGL_NATIVE_VISUAL_ID" into gingerbread
Merge commit 'a0795fc9bdf97703780cbf0ec47c06eccb642e72' into gingerbread-plus-aosp

* commit 'a0795fc9bdf97703780cbf0ec47c06eccb642e72':
  software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID
2010-10-20 18:22:17 -07:00
Mathias Agopian
d8e5ceb963 software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID
Change-Id: I371bc0abfee6065247bc6f04b0e0451645eb2dbf
2010-10-20 17:21:43 -07:00
Mathias Agopian
16a3e39cc0 Add a test application to dump all the EGLConfig available
Change-Id: Iddf27f2a9dd51733f6b90081a523ca37bfe310fa
2010-10-20 17:10:47 -07:00
Mathias Agopian
309be7131f am f4cd9be0: Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number" into gingerbread
Merge commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863' into gingerbread-plus-aosp

* commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2010-10-19 18:26:28 -07:00
Mathias Agopian
141550bc18 fix [2236865] STOPSHIP: bump soft gl and egl minor version number
Change-Id: Ibf46b18d7493348e189f2c93e969a6cac61f68b5
2010-10-19 14:47:08 -07:00
Mathias Agopian
303f3eb352 am 524a6d8e: Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread
Merge commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f' into gingerbread-plus-aosp

* commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f':
  better fix for [3028370] GL get error should return a valid error if no context is bound.
2010-09-23 18:17:08 -07:00
Mathias Agopian
6f0871222f better fix for [3028370] GL get error should return a valid error if no context is bound.
it turns out that we cannot return INVALID_OPERATION from glGetError() because the
GL spec says that it must be called in a loop until it returns GL_NO_ERROR.

now, we always return 0 from GL functions called from a thread with no
context bound. This means that glGetError() will return NO_ERROR in this case,
which is better than returning a random value (which could trap the app in a loop).

if this happens in the main thread of a process, we LOG an error message once.

Change-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69
2010-09-23 16:44:48 -07:00
Mathias Agopian
6ee79cfa2f am 5c6c5c7a: fix [3028370] GL get error should return a valid error if no context is bound.
Merge commit '5c6c5c7a43d44316395f5c35ab713372124b8b4c' into gingerbread-plus-aosp

* commit '5c6c5c7a43d44316395f5c35ab713372124b8b4c':
  fix [3028370] GL get error should return a valid error if no context is bound.
2010-09-23 13:24:11 -07:00
Mathias Agopian
05c53113e0 fix [3028370] GL get error should return a valid error if no context is bound.
glGetError() will now always return GL_INVALID_OPERATION if called from a thread
with no GL context bound.

Change-Id: I28ba458871db051bb4f5a26668a1fa123526869c
2010-09-23 13:19:02 -07:00
Mathias Agopian
d7a0841a19 am 9d5fac51: Merge "fix small bug in EGL error management" into gingerbread
Merge commit '9d5fac517463526450268bf6353e32c13a8cdd0c' into gingerbread-plus-aosp

* commit '9d5fac517463526450268bf6353e32c13a8cdd0c':
  fix small bug in EGL error management
2010-09-22 14:21:01 -07:00
Mathias Agopian
02dafb5068 fix small bug in EGL error management
make sure to clear our EGL implementation's error when returning
an error from an underlying implementation

Change-Id: Ibce4726cef1f900e4c7f16002345d7a07f8cdf41
2010-09-21 15:43:59 -07:00
Brian Swetland
d77cec91b0 am 181e5ea8: Merge "support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl" into gingerbread
Merge commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760' into gingerbread-plus-aosp

* commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760':
  support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
2010-09-20 14:08:46 -07:00
Brian Swetland
2b9e4f6a24 support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
Change-Id: Idd9ca85ce3ba6c92234375071b53e5365e689062
2010-09-20 12:58:15 -07:00
Mathias Agopian
c05246ae34 am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread
Merge commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69' into gingerbread-plus-aosp

* commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69':
  surfaceflinger / GL extensions cleanup
2010-09-16 17:57:34 -07:00
Michael I. Gold
7f198b6bff surfaceflinger / GL extensions cleanup
Add correct enumerants for OES_EGL_image_external to glext.h.
SurfaceFlinger now checks for the correct extension name.

Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
2010-09-15 17:15:31 -07:00
Mathias Agopian
bae7b39496 am fec5d38b: Merge "option to enable multisampling" into gingerbread
Merge commit 'fec5d38baf4487d8ab0143451a3f2c39edeeb5b2' into gingerbread-plus-aosp

* commit 'fec5d38baf4487d8ab0143451a3f2c39edeeb5b2':
  option to enable multisampling
2010-09-09 11:58:14 -07:00
Mathias Agopian
8296221138 option to enable multisampling
multisampling can be enabled by specifying the number of
samples desired on the command line.

Change-Id: I5f93c93ae7ada54bcd646c1065e07890d0cb9808
2010-09-09 11:53:17 -07:00
Mathias Agopian
358fea99da am 6808e6a8: Merge "Fix a few typos in EGL wrapper" into gingerbread
Merge commit '6808e6a867ba0b32f8bd97163e134c2866423f01' into gingerbread-plus-aosp

* commit '6808e6a867ba0b32f8bd97163e134c2866423f01':
  Fix a few typos in EGL wrapper
2010-09-09 11:23:16 -07:00
Mathias Agopian
e7bca18f79 Merge "Fix a few typos in EGL wrapper" into gingerbread 2010-09-09 11:20:02 -07:00
Mathias Agopian
77fbf8ddd9 Fix a few typos in EGL wrapper
Change-Id: I3b815ca6ec334ca12088f9721eece33df42b2e46
2010-09-09 11:12:54 -07:00
Mathias Agopian
7d1588e4e3 am edbb8083: Merge "add a fps counter to sanangeles demo" into gingerbread
Merge commit 'edbb8083a815e9d911f8e659fc5c293543fdf502' into gingerbread-plus-aosp

* commit 'edbb8083a815e9d911f8e659fc5c293543fdf502':
  add a fps counter to sanangeles demo
2010-09-08 19:01:37 -07:00
Mathias Agopian
879ba138fc add a fps counter to sanangeles demo
Change-Id: I9a9473ce213301cc7661fddfb1ef5a6ffcb346d4
2010-09-08 18:55:42 -07:00
Mathias Agopian
1bd3674343 am ff3dcf27: Merge "cleanup EGL a bit. remove unused extension." into gingerbread
Merge commit 'ff3dcf27be2bbb259b7605396d36e50ade35266f' into gingerbread-plus-aosp

* commit 'ff3dcf27be2bbb259b7605396d36e50ade35266f':
  cleanup EGL a bit. remove unused extension.
2010-08-27 14:17:00 -07:00
Mathias Agopian
10cab190ba cleanup EGL a bit. remove unused extension.
Change-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88
2010-08-27 13:17:32 -07:00
Mathias Agopian
8807ecb3c1 am bccfcd95: Merge "fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used." into gingerbread
Merge commit 'bccfcd95d3cc4029c1ed8514d31436a857283873' into gingerbread-plus-aosp

* commit 'bccfcd95d3cc4029c1ed8514d31436a857283873':
  fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
2010-08-19 11:46:43 -07:00
Mathias Agopian
e3586182ec fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
a typo prevented the last 2 vertices of a batch to be copied to the front of
the next batch. Instead, the 2 very first vertices were used.

Change-Id: I3c344784dac1cef64df2fb6f6efb2f901cc788db
2010-08-18 20:07:25 -07:00
Mathias Agopian
1071c20143 am 17da0663: Merge "fix [2931161] crash in labyritnth when completing a level" into gingerbread
Merge commit '17da06631041f9f2237738fb673a74a85b1d9cf4' into gingerbread-plus-aosp

* commit '17da06631041f9f2237738fb673a74a85b1d9cf4':
  fix [2931161] crash in labyritnth when completing a level
2010-08-18 16:34:40 -07:00
Mathias Agopian
031213e5b3 fix [2931161] crash in labyritnth when completing a level
Change-Id: I821d67effaf73d7008b2828d06f5489d1f976a1e
2010-08-18 16:07:34 -07:00
Romain Guy
5e1bf8d4fa am 1e4aa48c: Merge "fix [2912927] Can\'t get NV_draw_path extension to work" into gingerbread
Merge commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661' into gingerbread-plus-aosp

* commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661':
  fix [2912927] Can't get NV_draw_path extension to work
2010-08-13 14:27:36 -07:00
Mathias Agopian
4a88b52235 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
14a4443344 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
7f781d1552 improve a bit the implementation of eglGetProcAddress
Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6
2010-08-09 18:35:43 -07:00
Mathias Agopian
574a26fa52 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
24035338ed fix [2421247] implement eglGetProcAddress(), needed in the ndk
Change-Id: I5027a27b43c0dd449a404024087853ca05bb8e4e
2010-08-02 18:23:36 -07:00
Mathias Agopian
d7beac601a 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
bb0628d9de 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
31fc9fd037 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
cee79391c8 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
Mathias Agopian
7c1c974d79 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