Commit Graph

944 Commits

Author SHA1 Message Date
Dan Stoza
5603a2fbbd Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: I153b5470b21832cebe3c617d28a4ab9c9bf3b362
2014-04-07 13:41:37 -07:00
Glenn Kasten
e6ef753ef6 am fc1544d5: am 17b5ca1e: Merge "opengl: fix UAL conformity"
* commit 'fc1544d52d1232ccdf57a05704a013bad784f8f6':
  opengl: fix UAL conformity
2014-04-02 16:27:10 +00:00
Glenn Kasten
fc1544d52d am 17b5ca1e: Merge "opengl: fix UAL conformity"
* commit '17b5ca1e665a1bbe17387b36fcce8f6b52513d5e':
  opengl: fix UAL conformity
2014-04-02 16:24:06 +00:00
synergy dev
dd46c864c1 opengl: fix UAL conformity
GAS assumes .align 2 if .align only is set, however the UAL doesn't enforce this assumption.

Change-Id: I88b567dc84ee8f04a13f2b8e80c3ee41530a9e49
2014-04-02 03:02:48 +00:00
Michael Chock
c0ec5e2333 Expose core EGL entry points to eglGetProcAddress
Required behavior for EGL_KHR_get_all_proc_addresses.

Change-Id: I1e6209ef3cb9f2fa6f22808b077c35139d4cb814
2014-03-27 17:28:40 -06:00
Andy McFadden
f3ed9a21b8 Request RGBX rather than RGBA
Fixes San Angeles for certain devices.

Bug 13641473

Change-Id: Icb148e1fed15fe56297942475c095e7eb4a11549
2014-03-25 14:59:26 -07:00
Mark Salyzyn
993146092f am d4dabf87: am cdbf28b3: Merge "native frameworks: 64-bit compile issues"
* commit 'd4dabf872ac0a12e12aebae9032f7d62762c2aeb':
  native frameworks: 64-bit compile issues
2014-03-13 23:12:09 +00:00
Jesse Hall
85c0fee024 Fix broken test build
Change-Id: I767bcefd92899334e4769dd3495595f546133694
2014-03-13 14:34:28 -07:00
Mark Salyzyn
d4dabf872a am cdbf28b3: Merge "native frameworks: 64-bit compile issues"
* commit 'cdbf28b3f7f5327f4cb0eb95b8326bf4c24c87ba':
  native frameworks: 64-bit compile issues
2014-03-13 15:26:10 +00:00
Mark Salyzyn
92dc3fc52c native frameworks: 64-bit compile issues
- Fix format (print/scanf)
- Suppress unused argument warning messages (bonus)

Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
2014-03-12 13:12:44 -07:00
Andy McFadden
709d7dec79 Adjust for device orientation
When the device is rotated, reverse the width/height values.

Change-Id: Idc2b80b1cb96d9379cd94192997580e1ade70bf6
2014-03-12 09:50:15 -07:00
Andy McFadden
6ef57d7b36 Restore old OpenGL tests
These tests call android_createDisplaySurface() to get a
FramebufferNativeWindow that is passed to EGL.  This relies on the
existence of the framebuffer HAL, which is not supported on many
recent devices.

This change adds a new "window surface" object that the tests
can use to get a window from SurfaceFlinger instead.  All tests
except for the HWC tests now appear to do things.

The HWC tests don't do anything useful, but they no longer depend
on the android_createDisplaySurface() function.

Bug 13323813

Change-Id: I2cbfbacb3452fb658c29e945b0c7ae7c94c1a4ba
2014-03-06 16:46:59 -08:00
Mark Salyzyn
d5bb577de0 am eac548c6: am 61d6a008: Merge "hwc test: 64-bit compilation error"
* commit 'eac548c65c30b04983a8c904f9a1c6003d428196':
  hwc test: 64-bit compilation error
2014-03-04 19:22:43 +00:00
Mark Salyzyn
eac548c65c am 61d6a008: Merge "hwc test: 64-bit compilation error"
* commit '61d6a00895d2e8b9085278d0acbf98c19e7d6ed5':
  hwc test: 64-bit compilation error
2014-03-04 19:18:03 +00:00
Mark Salyzyn
e933c0396f hwc test: 64-bit compilation error
* cast 1u to size_t in max() argument lists

Change-Id: I02f711c89e96e4cfc348f1c7bac455339bec2fa1
2014-03-04 09:11:04 -08:00
Simon Wilson
08d6aa9a90 am 8ffc2346: am 6e79cb81: Enable OMAP4 SGX workaround for OMAP3 too
* commit '8ffc2346b86ef5a0d686b43229d2bbd70545a208':
  Enable OMAP4 SGX workaround for OMAP3 too
2014-03-04 01:00:23 +00:00
Simon Wilson
8ffc2346b8 am 6e79cb81: Enable OMAP4 SGX workaround for OMAP3 too
* commit '6e79cb81d02984c9f7ac0586078f947c94c56c2a':
  Enable OMAP4 SGX workaround for OMAP3 too
2014-03-04 00:20:43 +00:00
Simon Wilson
6e79cb81d0 Enable OMAP4 SGX workaround for OMAP3 too
Change-Id: I04308d8b7435b4adf1811f75f48f9e8a07a8c8a6
2014-02-28 14:30:39 -08:00
Narayan Kamath
622b6b28f2 Fix bad link tag in javadoc.
Java7 javadoc tools seem to accept this without complaint
but not all targets use java7 yet.

Change-Id: Ib08be8ad0f7db2e89f38b764cce858d0e7eecd2e
2014-02-28 14:05:52 +00:00
Narayan Kamath
a90086a914 API changes for 64 bit platforms.
EGLObjectHandle.<init>(int) and int EGLObjectHandle.getHandle()
have now been deprecated and replaced with variants that take
and return java longs.

bug: 13181704
Change-Id: Ie88e591c288d6de5655364b4cd673f61cce68d7d
2014-02-27 14:12:55 +00:00
Narayan Kamath
2c95c57b62 am 3e599252: am 93e6a48b: Merge "AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY"
* commit '3e599252c0f5a8e70f4b8d4ab5baffb7e5b0b0e1':
  AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
2014-02-27 13:29:42 +00:00
Ashok Bhat
d61b48c090 AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
This will allow eglGetDisplay(int) to work on both 32-bit
and 64-bit systems when EGL_DEFAULT_DISPLAY is passed as
a parameter.

Change-Id: I0d7e9ca5410b0dd893eacc02aac40956908e4f25
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-26 19:06:27 +00:00
Narayan Kamath
d6b4e78dca am aa01ad91: am aaa27fd5: Merge "Use reinterpret_cast when an integer is cast to a pointer"
* commit 'aa01ad91cd22304fd15810f241c67ebb59e90c04':
  Use reinterpret_cast when an integer is cast to a pointer
2014-02-25 13:17:12 +00:00
Narayan Kamath
ab7b4fe490 am 097b5991: am e5c99bf3: Merge "Use long for pointers in opengl/EGL classes"
* commit '097b59919f01d7b057d252d23cb96ce5fcdd9469':
  Use long for pointers in opengl/EGL classes
2014-02-25 13:17:11 +00:00
Narayan Kamath
aaa27fd5a0 Merge "Use reinterpret_cast when an integer is cast to a pointer" 2014-02-25 13:05:49 +00:00
Ashok Bhat
d8f096114d Use reinterpret_cast when an integer is cast to a pointer
Change-Id: I5adcd59f58c029f7b2b596f4826d8ea69fb9bba6
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-24 14:34:16 +00:00
Ashok Bhat
ab6fc2a86f Use long for pointers in opengl/EGL classes
EGL classes in frameworks/base have to be updated to support
64-bit platforms. Key changes in the EGL classes include

[x] EGLObjectHandle class - EGLObjectHandle class has two public
    methods (constructor and getHandle) that assume handles are
    32-bit. They have not been changed. Instead, two new hidden
    methods (EGLObjectHandle(long) and getNativeHandle) have been
    added.

[x] EG14 class - Two public methods eglGetDisplay and
    eglCreatePbufferFromClientBuffer assume that handles are 32-bit.
    They have been changed to throw unsupported operation exception
    on non 32-bit machines. Two new methods eglGetDisplay(long)
    and eglCreatePbufferFromClientBuffer(...long buffer..) have
    been added to support 64-bit handles.

To allow the above changes in frameworks/base EGL classes,
corresponding code generation mechanism in frameworks/native has
been updated.

Change-Id: I5d0a62e10c20ccf05f610d6608b8dfb6414b5116
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-24 14:27:44 +00:00
Narayan Kamath
9076fa78d2 Merge "Update EGL codegen to be in sync with frameworks/base" 2014-02-21 14:27:36 +00:00
Ashok Bhat
fb913cdb47 Update GLES codegen to be in sync with frameworks/base
Patch from synergydev with commit-id 01994c79 changed
core/jni/com_google_android_gles_jni_GLImpl.cpp in the
frameworks/base. However the corresponding code snippet
in frameworks/native was not updated. This patch addresses
the issue.

Change-Id: I89c3d88de832efc8cbbe682c8a7ff7dfbef99db3
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-20 19:56:50 +00:00
Ashok Bhat
8e472fb443 Update EGL codegen to be in sync with frameworks/base
Patch from Takeshi Aimi with commit-id f9337377 changed
core/jni/android_opengl_EGL14.cpp in the frameworks/base.
However the corresponding code snippet in frameworks/
native was not updated. This patch addresses the issue.

Change-Id: I40bcc43d36d7ab4e0db4a73556a4f7480c7431c1
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-20 19:33:15 +00:00
Andy McFadden
382f1cc1f1 Merge "Hide three malformed GL bindings" 2014-02-19 19:15:20 +00:00
Andy McFadden
50166d1173 Hide three malformed GL bindings
They were replaced with correct bindings a while back, but the
broken methods weren't hidden.

Also, pick up two changes that were made to the generated code
rather than the source.

Bug 6006380

Change-Id: Ibfe9a5f2e13e745f8d82116d1b4d8c2d025ac830
2014-02-19 10:27:24 -08:00
Colin Cross
0380d5279b am 7a66f7af: am 913a17fd: Merge "libagl: support multilib build"
* commit '7a66f7afd1b6a975ab3b99b4765781a0d66958c8':
  libagl: support multilib build
2014-02-18 21:39:56 +00:00
Colin Cross
913a17fd5f Merge "libagl: support multilib build" 2014-02-18 21:29:50 +00:00
Colin Cross
505350b150 am 8a9a2e24: am d5fe844b: Merge "Use /(vendor|system)/lib64/egl for 64-bit EGL libraries"
* commit '8a9a2e24db868fba404049d700ae704b0982e5f3':
  Use /(vendor|system)/lib64/egl for 64-bit EGL libraries
2014-02-18 20:25:54 +00:00
Dan Willemsen
8edb8f5f2d Use /(vendor|system)/lib64/egl for 64-bit EGL libraries
Change-Id: Ie64806bfe4ba60a3167b84685cf983d4ada1042d
2014-02-16 10:29:40 -08:00
Colin Cross
ff75a8000c libagl: support multilib build
Use LOCAL_SRC_FILES_arch and LOCAL_CFLAGS_arch to support building
for multiple architectures.

Change-Id: I829c1bea880739bf8184df4006d0a481ffccc5c2
2014-02-14 17:29:22 -08:00
Siva Velusamy
1d41d5d82c am 67041e68: am fd6a3ff4: Merge "GLES_trace: fix compile errors on 64 bit architectures"
* commit '67041e6841d89efb0dbaf4562b601b80be61e1e6':
  GLES_trace: fix compile errors on 64 bit architectures
2014-02-04 19:25:21 +00:00
Siva Velusamy
39177b4103 GLES_trace: fix compile errors on 64 bit architectures
GLES_trace passes some pointers back to the host. Encode them
using int64's rather than int32's

This fix requires an update to the host tool to look at pointers
as 64 bit, and if not found, then fall back to 32 bit integers.

Change-Id: I11ff2ca51290f05913c1b9143cecee1caf015543
2014-01-28 17:38:32 -08:00
Dan Stoza
4864e85430 Make libEGL build cleanly under 64-bit
Change-Id: I255dfb70b166b7469d59352b1acfc7aececa07de
2014-01-27 18:16:50 -08:00
Colin Cross
ea350ea65a am dec678db: am a21ba585: am 55f0668f: Merge "frameworks/native: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH"
* commit 'dec678dbd240e5c53afac8c3901d5beb23706378':
  frameworks/native: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH
2014-01-28 01:12:47 +00:00
Colin Cross
df50868a32 frameworks/native: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH
LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it
with LOCAL_MODULE_RELATIVE_PATH.

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
2014-01-27 12:39:29 -08:00
Colin Cross
8b7cc0aeb7 am dd000905: am e3aeefd1: am af29b77a: Merge "libGLES_android: fix 64-bit compile errors"
* commit 'dd00090530340de22ca60f79446b5fe3050cd95f':
  libGLES_android: fix 64-bit compile errors
2014-01-25 00:50:21 +00:00
Colin Cross
444839b842 libGLES_android: fix 64-bit compile errors
Fix size of vertex_t on 64-bit architectures
Fix __get_tls casts, the TLS area is a void**
Cast through uintptr_t to store integers in a pointer
Use %zu to print size_t

Change-Id: I91079ec76025237e6d2081784c5348518b0ce122
2014-01-24 14:44:57 -08:00
Dan Stoza
c3289c41e7 Make libEGL build cleanly under 64-bit
Change-Id: I255dfb70b166b7469d59352b1acfc7aececa07de
2014-01-17 15:32:27 -08:00
Andy McFadden
d566ce3a26 Improve error message
The previous message indicated that the fault was due to an already-
connected window, which was misleading at times.

Bug 12439318

Change-Id: I1e0a042673dd245d1b0d237af963c52946803eb6
2014-01-07 15:54:17 -08:00
Igor Murashkin
bb3b524959 am 40da5283: Merge "EGL: rename CallStack::dump into CallStack::log" into klp-dev
* commit '40da5283ebc6b5cf1e3820740dc274c47cc55f6d':
  EGL: rename CallStack::dump into CallStack::log
2013-10-30 14:16:19 -07:00
Igor Murashkin
1f8363329c EGL: rename CallStack::dump into CallStack::log
Bug: 11324229
Change-Id: Ibac1be182c336e7aa5ac098f08d18b3c188964b4
2013-10-25 17:13:57 -07:00
Jamie Gennis
886b152111 am a9c47f32: Merge "GLConsumer: start using EGL_ANDROID_image_crop" into klp-dev
* commit 'a9c47f327373cbe48e187442c7f9554d24a75c08':
  GLConsumer: start using EGL_ANDROID_image_crop
2013-10-02 10:41:58 -07:00
Jamie Gennis
dbe9245e2e GLConsumer: start using EGL_ANDROID_image_crop
This change makes GLConsumer use the EGL_ANDROID_image_crop extension when
available on a device.  The crop rectangle is passed to the EGL driver when
creating EGLImages, allowing the crop to be performed by the driver rather than
using the texture transform matrix.

Bug: 10897141
Change-Id: I63e9a5d5c85067376abc420e3639154468346311
2013-10-02 17:34:35 +00:00
Elliott Hughes
b7f3742feb am d9be16f9: Merge "Fix OpenGL stub exception handling."
* commit 'd9be16f920f7c2581fda3ca495c1e6fc88857a6c':
  Fix OpenGL stub exception handling.
2013-09-27 15:38:04 -07:00
Elliott Hughes
2adde7c837 Fix OpenGL stub exception handling.
Bug: https://code.google.com/p/android/issues/detail?id=60390
Change-Id: I2bdc22c5fe75f5e41ffb9dd9259ae92cf8a12917
2013-09-24 17:18:05 -07:00
Jesse Hall
a2ba428a22 Disable the egl_khr_gl_colorspace extension
Bug: 10777398
Change-Id: Ib50ea8b9d5d960537701b85929d6312304993a0f
2013-09-16 11:21:48 -07:00
Mathias Agopian
63108c34ec fix a possible null dereference when eglMakeCurrent() fails
Bug: 10648797
Change-Id: Iee0be47f2646feb25de4ea199bbb9b707452916e
2013-09-06 13:36:49 -07:00
Mathias Agopian
672ddf2b58 remove adreno 130 workaround support
Change-Id: I8ea5ee65d405114b30cfaa44e1a0c971d1ef2a61
2013-08-28 15:27:30 -07:00
Mathias Agopian
f4486c6ea4 try to keep omap4 alive
Bug: 10527646
Change-Id: Iec572a910e932115cf4f2e1215142b10cd91bd6f
2013-08-28 15:22:29 -07:00
Mathias Agopian
0f288fcc9c only use format compatible with CPU consumers
EGL now picks the buffer format out of a small set
of formats compatible with CPU consumers instead of
using the EGL_NATIVE_VISUAL_ID.

Bug: 10194508
Change-Id: If423cd29601b7a3ace8670f4c73004132cfc4b31
2013-08-21 16:36:34 -07:00
Jesse Hall
bc2a90b024 Replace sRGB_888 with sRGB_X_8888
Bug: 10357459
Change-Id: I3a1d92cce2c9d3e930408129fb20887276fffddc
2013-08-16 07:50:11 -07:00
Jesse Hall
c2e41222bf Add support for EGL_KHR_gl_colorspace
Change-Id: I684d0b8556cd6c84ee4b4d67e1bb95c3b96fccfb
2013-08-13 12:10:51 -07:00
Jesse Hall
ea4fdd4beb Don't swallow eglCreateContext errors
If the implementation eglCreateContext failed, we called
eglGetError(), so we could check that it set the EGL error properly.
But since we'd already called this, when the app called eglGetError()
it would get EGL_SUCCESS!

Bug: 10181333
Change-Id: Ic45d3a8fcb8c4421e04844c6d2f52761790b5948
2013-08-12 16:43:34 -07:00
Mathias Agopian
a6bb107434 make sure we have a context when creating the 1st surface
also add an option to dump the stack trace when
calling a GL function without a context.

Change-Id: I57b72bb8c322ac4253c3077bf150621bd9863b69
2013-08-08 16:38:06 -07:00
Jesse Hall
43c2718b3f Merge "Add EGL_KHR_get_all_proc_addresses to extension string" 2013-08-07 15:23:05 +00:00
Jesse Hall
21558daf69 Add EGL_KHR_get_all_proc_addresses to extension string
We've had the extended behavior since Android 4.3, but the extension
hadn't been ratified by Khronos yet so we couldn't add it to the
extension string.

Bug: 9681677
Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
2013-08-06 15:33:46 -07:00
Mathias Agopian
db89edc94b All consumers now take an IGraphicBufferConsumer instead of a BufferQueue
this means they only have access to the consumer end of
the interface. we had a lot of code that assumed consumers
where holding a BufferQueue (i.e.: both ends), so most of
this change is untangling in fix that

Bug: 9265647
Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
2013-08-06 20:05:36 +00:00
Mathias Agopian
c1c39f8807 Merge "Binderize the consumer side of BufferQueue" 2013-08-02 20:35:26 +00:00
Mathias Agopian
a4e19521ac Binderize the consumer side of BufferQueue
While currently untested, this should allow to move the
BuffereQueue in the consumer process and have everything
work as usual.

Bug: 9265647

Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
2013-08-01 17:20:08 -07:00
Andy McFadden
14fab7dd79 Drop frames based on presentation timestamp
If there are two or more buffers pending that are ready for
immediate presentation, drop all but the last one.

Any code that didn't explicitly specify timestamps for buffers
was using the default value (auto-generated "now").  As a result,
surfaceflinger would drop frames whenever more than one buffer
was queued.  We now use zero as the auto-generated timestamp,
and we don't set the timestamp in eglBeginFrame().

Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
2013-08-01 15:58:08 -07:00
Mathias Agopian
e142428a9c Make Flattenable not virtual
Fallout from the Flattenable change, update all its uses.

Additionnaly, fix/tighten size checks when (un)flatten()ing
things.

Removed the assumption by some flattenables (e.g.: Fence)
that the size passed to them would be exact (it can
and will be larger in some cases)

The code in Parcel is a bit complicated so that we don't
have to expose the full implementation (and also to
keep the code smallish).

Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
2013-07-30 21:19:13 -07:00
Jamie Gennis
7925b6bdb8 Merge "EGL: fix eglTerminate blob cache behavior" 2013-07-30 22:37:58 +00:00
Jamie Gennis
5539e219de EGL: fix eglTerminate blob cache behavior
Bug: 9610573
Change-Id: I258e7e0d82ab76fbacf0b9c25d4f92fca6df04ac
2013-07-30 15:12:16 -07:00
Mathias Agopian
c2414bb098 get rid of HAL pixelformats 5551 and 4444
Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
2013-07-26 15:43:33 -07:00
Mathias Agopian
595264f1af BufferQueue improvements and APIs changes
this is the first step of a series of improvements to
BufferQueue. A few things happen in this change:

- setSynchronousMode() goes away as well as the SynchronousModeAllowed flag
- BufferQueue now defaults to (what used to be) synchronous mode
- a new "controlled by app" flag is passed when creating consumers and producers
  those flags are used to put the BufferQueue in a mode where it
  will never block if both flags are set. This is achieved by:
  - returning an error from dequeueBuffer() if it would block
  - making sure a buffer is always available by replacing
    the previous buffer with the new one in queueBuffer()
    (note: this is similar to what asynchrnous mode used to be)

Note: in this change EGL's swap-interval 0 is broken; this will be
fixed in another change.

Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
2013-07-18 22:28:18 -07:00
Jesse Hall
ba3ed90b09 am 082fc1ca: am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"
* commit '082fc1cae6a0c283de3ad0d848e0757de3154d0b':
  EGL: Fix error for eglCreateWindowSurface
2013-07-17 14:13:56 -07:00
Jesse Hall
082fc1cae6 am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"
* commit 'ae9610220b5f509687b840532f95f3638ee0146b':
  EGL: Fix error for eglCreateWindowSurface
2013-07-17 14:10:00 -07:00
Jonathan Hamilton
77a9b4a6bd EGL: Fix error for eglCreateWindowSurface
The EGL 1.4 spec section 3.5.1 states that EGL_BAD_ALLOC should be set
if the supplied window already has an associated EGLSurface, not
EGL_BAD_NATIVE_WINDOW as is currently set.

Change-Id: If1598617f4e31904f2045560ae1cdf49d8a697dc
2013-07-17 09:52:41 -07:00
Jesse Hall
94cdba97ce resolved conflicts for merge of 5477d0e4 to master
Change-Id: I7ca75a44018a68bf3a7ac1de17a3ef568a48d2ac
2013-07-11 09:40:54 -07:00
Jesse Hall
5477d0e4e8 am c07b5206: Find non-extension GLES wrappers in eglGetProcAddress
* commit 'c07b52060acd627c8510c1a9151e0753fce76330':
  Find non-extension GLES wrappers in eglGetProcAddress
2013-07-09 10:54:20 -07:00
Jesse Hall
c07b52060a Find non-extension GLES wrappers in eglGetProcAddress
This allows apps to find OpenGL ES 3.0 functions using
eglGetProcAddress() instead of dlopen/dlsym.

Bug: 9681677
Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
2013-07-04 12:08:16 -07:00
Mathias Agopian
e0ea89ceef improve GLES jumptables
in the common case this saves one instructions per jump
(which will help with the i-cache).

this change also gets rid of the "use slow tls" option,
which was useless. So at least now architectures that don't have
assembly bindings will perform much better.

Change-Id: I31be6c06ad2136b50ef3a1ac14682d7812ad40d2
2013-07-01 15:52:47 -07:00
Jesse Hall
b83290c7b7 Merge "Small clarifications to EGL_ANDROID_presentation_time" 2013-06-26 14:51:25 +00:00
Jesse Hall
5ac6c0a3dd Small clarifications to EGL_ANDROID_presentation_time
Change-Id: I4365a981776ab0a5719c268258b87ff1418f9aeb
2013-06-26 07:50:32 -07:00
Jean-Baptiste Queru
da22e6bf36 am db8c267e: am 3c0425cd: am 0ecf0b8d: Merge "Additional parameter validation for EGL functions"
* commit 'db8c267ec26997771eb718c29d3dacd4e738051b':
  Additional parameter validation for EGL functions
2013-06-25 17:02:09 -07:00
Jean-Baptiste Queru
3c0425cd95 am 0ecf0b8d: Merge "Additional parameter validation for EGL functions"
* commit '0ecf0b8db74682222bf095a235e28edefff871a5':
  Additional parameter validation for EGL functions
2013-06-25 15:35:05 -07:00
Jean-Baptiste Queru
0ecf0b8db7 Merge "Additional parameter validation for EGL functions" 2013-06-25 22:31:13 +00:00
Andy McFadden
9a90aa9003 Fix wrapper equals()
Make it faster and correcter.

Also, fixed the "gen" script to update the static/egl/*.java files
as part of doing an update.  Altered the "git" lines to change
directories before invoking git -- necessary because we're now
split between frameworks/base and frameworks/native.

Bug 9204146

Change-Id: Ie60504b1932349e6f2c9d3868dee6a645ef2b36e
2013-06-21 16:22:02 -07:00
Mathias Agopian
4e620ddce3 free EGL resources associated to a thread when it terminates
destroyed but current-to-a-thread resources are only destroyed
when they're made not-current; however, we were not destroying
those when the thread itself terminated, causing these resources
to be leaked forever.

we now install a tls-key destructor that takes care of this
by calling eglReleaseThread upon thread termination.

Bug: 9209776
Change-Id: I88298a34e3a27488eb81eab76717715569c7d57c
2013-05-30 16:07:36 -07:00
Jesse Hall
f9872c8124 am 7a486528: am f0dcff89: Merge "gl_code.cpp: Remove a DOS style newline"
* commit '7a4865287460a5f0ff26e22be5f0271735d32ac7':
  gl_code.cpp: Remove a DOS style newline
2013-05-13 13:08:54 -07:00
Jesse Hall
7a48652874 am f0dcff89: Merge "gl_code.cpp: Remove a DOS style newline"
* commit 'f0dcff89acb998179757ca66b5c6a2c585a980e9':
  gl_code.cpp: Remove a DOS style newline
2013-05-13 13:05:36 -07:00
Jesse Hall
f0dcff89ac Merge "gl_code.cpp: Remove a DOS style newline" 2013-05-13 18:53:10 +00:00
Mathias Agopian
f03e51dd2f Merge "change how the userspace GLES drivers are named" 2013-05-02 23:25:52 +00:00
Jesse Hall
16b4f33d2b am 958ef3d7: am c8639351: Generate new EGLExt class
* commit '958ef3d79c48ddef3afa5327f7ed15a5ecfd2d1d':
  Generate new EGLExt class
2013-05-02 13:49:25 -07:00
Jesse Hall
c86393510c Generate new EGLExt class
Initially populated with EGL_ANDROID_presentation_time (moved from the
EGL14 class) and the ES-relevant parts of EGL_KHR_create_context.

Bug: 8678160
Change-Id: Ifed2ee3da264ca701ae1f4b309a0758f7fcc3acc
2013-05-02 13:44:29 -07:00
Jesse Hall
c59db7fdfe am 34c0fb18: am cc8f8ad3: Merge "Fix glGetUniformIndices JNI prototype" into jb-mr2-dev
* commit '34c0fb183767b80e93a7cd77233ead5fe50bd822':
  Fix glGetUniformIndices JNI prototype
2013-04-30 19:34:49 -07:00
Jesse Hall
cc8f8ad33d Merge "Fix glGetUniformIndices JNI prototype" into jb-mr2-dev 2013-05-01 02:30:48 +00:00
Andy McFadden
80f9f26d10 am ef4dbb6a: am 5d46b04b: Merge "Recommend different time source" into jb-mr2-dev
* commit 'ef4dbb6af3db147f4c25ae1d7013b1a30fd8fed2':
  Recommend different time source
2013-04-30 17:47:26 -07:00
Andy McFadden
5d46b04bd5 Merge "Recommend different time source" into jb-mr2-dev 2013-05-01 00:43:55 +00:00
Jesse Hall
46fc9cb60c Fix glGetUniformIndices JNI prototype
Bug: 8657863
Change-Id: I130d1b54d0cbd1f8613d3108482526d05d73d9e4
2013-04-29 16:01:56 -07:00
Andy McFadden
0e775697fb Recommend different time source
We were recommending SystemClock#uptimeMillis() from Java code, but
millisecond resolution is a little coarse.  We don't have an
appropriate call in SystemClock, so use System.nanoTime() instead.

Bug 8733179

Change-Id: Ifb85a03eabf7ff168966adcb5ed5914bbf3884b2
2013-04-29 15:41:40 -07:00
Jamie Gennis
565bce248b am 8369c473: am f6d1c393: EGL: expose the EGL_KHR_create_context extension
* commit '8369c4739a58367e9636c84facc272cf8ddcb070':
  EGL: expose the EGL_KHR_create_context extension
2013-04-29 12:14:26 -07:00
Andy McFadden
5075b21e1a Merge "Fix range check" 2013-04-29 18:22:25 +00:00