Commit Graph

292 Commits

Author SHA1 Message Date
Andrés Domínguez 3127e24ab8 Allow overrides of zygote's libGLES preload. Default to mesa
Signed-off-by: Velsoth <velsoth@adhoc.zone>
2019-11-14 20:31:06 +00:00
Andrés Domínguez f8152796e2
Change symlinks to files and static paths 2019-10-14 09:22:54 -04:00
JeremyRand 9ad1596001
Fix checking of access() return value in EGL renderer override 2019-10-14 09:22:54 -04:00
JeremyRand edfaaa10cb
Fix documentation typo in EGL renderer override 2019-10-14 09:22:54 -04:00
JeremyRand 2969fcbbe8
Fix some type fails in EGL renderer override 2019-10-14 09:22:54 -04:00
JeremyRand 1346c0d7f5
EGL renderer override: use symlinks instead of properties to specify overrides.
This fixes the character limit on app names, and reduces risk of privacy leaks.
2019-10-14 09:22:54 -04:00
JeremyRand d145013da2
EGL Loader patch to use both LLVMpipe and libagl at once
Verbatim copy of Jookia's patch.
2019-10-14 09:22:53 -04:00
Wolfgang Wiedmeyer f05fa984af
load Android SW renderer only if libagl property is set
allows to use the sofwaregl property separately for llvmpipe

Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
2016-06-22 18:30:28 +02:00
Chih-Wei Huang 54c95b1a83 libEGL: select pixel format by EGL_NATIVE_VISUAL_ID
We need this workaround until Mesa supports HAL_PIXEL_FORMAT_RGBA_8888.
2016-05-27 01:40:08 +02:00
Wolfgang Wiedmeyer 2a9abccdfb egl loader: check for softwaregl
Change-Id: I52d34d33ef2451019740735316b519d939c7125c
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
2015-12-21 14:26:28 +01:00
Steve Kondik 4951bcc16e Android 6.0.1 release 3
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlZmBAkACgkQ6K0/gZqxDnhgbQCdFLtubCHWtlKUuIEKAVwzv2M3
 2jMAoI4UhN3nLb2Nf6BizcMSF3xo1pKO
 =NS5T
 -----END PGP SIGNATURE-----

Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/frameworks/native into cm-13.0

Android 6.0.1 release 3

Change-Id: I437aaf148d440a8144afe1454948980fc3b40cca
2015-12-07 17:07:16 -08:00
Ethan Chen bcce313fea Revert "egl: Remove old tuna BGRA vs RGBA workaround."
This reverts commit 733a807547.

Change-Id: Ifb41720ed020489892a667914ea3bd3f1ac6504e
2015-10-16 20:20:32 +02:00
Jesse Hall 312d7555cb egl: Remove window disconnect before calling driver eglDestroySurface
This was originally added for b/14445579. An in-development app was
attempting to render to a window as an EGLSurface, then tear that
down, change some window properties, and create a new EGLSurface. The
second eglCreateWindowSurface failed because the window was already
connected. This change went in, but it turned out the real problem was
that the app still (unintentionally) had the surface current. After
the app bug was fixed, nobody revisited whether this change was
actually needed.

Turns out it wasn't needed. After an EGLSurface is both destroyed
*AND* not current (basically refcount==0), we were already
disconnecting the window in ~egl_surface_t().

Apart from being unnecessary and redundant, disconnecting the window
here is wrong for two reasons:

(a) The surface may still be in use after eglDestroySurface, if it was
still current. Rendering is undefined in that case, but disconnecting
the window leads to more catastrophic results than necessary.

(b) It's being called before calling the driver's eglDestroySurface.
The driver will almost definitely have a buffer dequeued that it needs
to cancel, and by disconnecting first we turn that into an error that
they don't have a graceful way to deal with.

Bug: 24524053
Change-Id: Ib063134413d25d3526f794aafb5e333e3417ea42
2015-10-14 11:21:25 -07:00
Michael Lentine e2fc6f87be Fix parsing of extension string
Previously the parsing found the next space and then added the the difference
between the current position and space to the set of tokens. This improperly
generated empty strings if there were consecutive spaces or if spaces existed at
the beginning or end of strings. To fix this, the parse is modified to use
simple stringstream parsing.

Bug: 22709246

Change-Id: I9e32c07bbf984eadccdadf1dc34437fa0c46088b
2015-07-31 09:26:58 -07:00
Season Li 000d88f026 Implement a number of KHR EGL extensions
Add following KHR EGL extensions:

EGL_KHR_gl_texture_3D_image
EGL_KHR_config_attribs
EGL_KHR_surfaceless_context
EGL_KHR_stream
EGL_KHR_stream_fifo
EGL_KHR_stream_producer_eglsurface
EGL_KHR_stream_consumer_gltexture
EGL_KHR_stream_cross_process_fd

Change-Id: Ie7a35b5e3761e343cb71cf446cba77f67f604bdf
2015-07-01 16:52:44 -07:00
Amith Dsouza 4f21a4cc22 Revert "Revert "Modify EGL to disconnect the window when the surface gets destroyed.""
This reverts commit 6e1a2fea67.

Driver level issues fixed by an updated graphics driver.

Bug: 21266976
Change-Id: I93339fb6c6bab988f3550adb49ef8e70cda6473e
2015-07-01 10:22:22 -07:00
Michael Lentine 6e1a2fea67 Revert "Modify EGL to disconnect the window when the surface gets destroyed."
This reverts commit 00699fa641.
2015-05-28 16:48:08 -07:00
Alistair Strachan 89301eaf21 Fix EGL shim extension injection for GL ES 3 drivers.
The Android EGL shim injects GL_EXT_debug_marker into the ES driver
EXTENSIONS string for the OpenGL ES 1.x and 2.0/3.0/3.1 drivers if
the extension is not already provided. This feature is used by
GLES_trace.

In Open GL ES 3.0 it became possible to query an indexed version of
the EXTENSIONS string via GetStringi(). NUM_EXTENSIONS Gets were
also added to the specification (taken from Open GL).

If the shim does not have to inject the extension, then there is no
problem, as glGetString() and glGetStringi() / NUM_EXTENSIONS will
be consistent. However, if the Android EGL shim injects the
extension, NUM_EXTENSIONS and GetStringi() will report one less
extension than is really available.

Consistency between these methods is tested by the dEQP framework
with the dEQP-GLES3.functional.state_query.string.extensions test.
If the driver does not provide GL_EXT_debug_marker, this test
fails.

This change wraps all of the affected entry points so that the
wrapped driver extensions are never visible directly to dEQP,
eliminating the inconsistency.
2015-05-28 15:34:31 -07:00
Michael Lentine 51c8c502f6 Merge "Modify EGL to disconnect the window when the surface gets destroyed." into mnc-dev 2015-05-14 16:39:28 +00:00
Michael Lentine 00699fa641 Modify EGL to disconnect the window when the surface gets destroyed.
Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
2015-05-13 15:41:41 -07:00
Jesse Hall 408e59f63a libEGL: whitelist the EGL_KHR_create_context_no_error extension
Allow EGL implementations to expose the
EGL_KHR_create_context_no_error extension if they wish.

https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_create_context_no_error.txt

Change-Id: I3290ccc2a69a1fa0b00ec3f1aa4f876906c64bfb
2015-05-12 08:42:05 -07:00
Dan Stoza a894d082cf libEGL: Add wrappers for partial update functions
This adds EGL wrapper functions for the following EGL extensions:
    EGL_EXT_buffer_age
    EGL_KHR_partial_update
    EGL_KHR_swap_buffers_with_damage

Change-Id: I407acda1e0310f7f01a5efe9c915721a941138a4
2015-04-15 13:02:27 -07:00
Eino-Ville Talvala 82c6bcc970 DO NOT MERGE Add dataSpace to buffer queues; remove old format enums.
- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
  difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Cherry pick of I070bd2e7c56506055c419004c29e2e3feac725df

Change-Id: I461952389c18051176c6b75e664f20ad369f5760
2015-03-19 13:56:00 -07:00
Jesse Hall b6b81d6acd Merge "[MIPS] Fix mips32r1 build" 2015-03-15 02:41:05 +00:00
Bill Yi 28d41f5640 Merge commit '26cc3d0b67ff4daf31eaeed0ecd87b391978aadb' into HEAD 2015-02-19 14:31:45 -08:00
Alistair Strachan 733a807547 egl: Remove old tuna BGRA vs RGBA workaround.
Some time before kitkat, a workaround was put in place to keep tuna
working with obsolete PowerVR GPU drivers. The tuna product was dropped
in AOSP for kitkat, but the workaround remained.

There are still a number of devices shipping with OMAP4 processors, and
this workaround continues to be applied on those products even when it
is not required. The effect is that virtual display CTS will fail on
those devices.
2015-02-12 12:33:25 -08:00
Duane Sand ecacc3f164 [MIPS] Fix mips32r1 build
Fix regression from 6701fbe5f0 .
The rdhwr instruction is unsupported by mips32r1 cpus, but is
supported via kernel emulation on those cpus.

Change-Id: Ieb3343fff0f0da54003044f451c90e1c761208eb
2015-02-02 16:54:15 -08:00
Michael Lentine 2f1e3b4d21 am d6fce7ab: Merge "Remove lock around ref count check in terminate." into lmp-mr1-dev
* commit 'd6fce7ab66e5d33e3ee16247485d1b8c26dd7ee8':
  Remove lock around ref count check in terminate.
2015-01-28 22:38:42 +00:00
Michael Lentine 54466bc441 Remove lock around ref count check in terminate.
Replace the global lock in terminate for the ref count check with atomics and a
local lock.

Bug: 19072064

Change-Id: I0cfd6564e227a75b8387a8788b16381d5bc2cc88
2015-01-28 11:54:15 -08:00
Nikola Veljkovic 5f5f65183c Use register numbers instead of register names
Avoid ambiguity by using register numbers. Register names are
interpreted depending on the ABI. Fixes the issue with mips64 gcc,
where registers t0-t4 are translated into $8-$11 (o32 ABI) instead
of $12-$15 (o64 ABI).

Also, use t9 ($25) for storing function address
(in getProcAddress.cpp).

Change-Id: I12ef5cd98bf14dab3c01f2756889cc02856c1cd8
2015-01-19 15:58:32 +01:00
Duane Sand 6701fbe5f0 [MIPS] Further opengl support for mips64 and mipsr6
Combines 4 patches by Dragoslav and Douglas:

Use t9 to hold the address of the called function.
Add support for gl binding.
Fix inline assembly code to be R6 compatible.
Fix some more inline assembly code to be R6 compatible.

Change-Id: I0b899813790b2ba4ca538bb21692014cc1933f66
2015-01-19 11:54:46 +01:00
Bernhard Rosenkränzer 9f425914db Fix class vs. struct mismatch
egl_connection_t is a struct - shouldn't be forward-declared as a class

Change-Id: I39f5d9bff9fc64f4694fb2bef7e4afa131b449cc
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-17 21:12:15 +01:00
Michal Wajdeczko 701048cbe8 EGL: make x86/64 wrappers resistant to -fno-omit-frame-pointer flag
Wrapper functions were broken on builds that forced -fno-omit-frame-pointer flag.

Change-Id: I5a80f9587fb3db821b4156af56acda59a0b4579b
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
2014-11-12 06:33:24 +00:00
Michael Lentine 12c4bdad7b Add rate-limited logging for unimplemented es functions.
Bug: 17322013

Change-Id: I7aa5ab2f76cf344cfb75802edbfd44e8e7526ff1
2014-09-23 08:30:12 -07:00
Michael Lentine 45e2fc2226 Revert "Modify EGL to disconnect the window when the surface gets destroyed."
This reverts commit 843cbb241d.
2014-08-08 10:30:44 -07:00
Michael Lentine 843cbb241d Modify EGL to disconnect the window when the surface gets destroyed.
Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
2014-07-29 18:59:56 -07:00
Jesse Hall 0d7271527f am 17cbadf0: am 6fa169fa: Merge "Add aarch64 EGL/GLES trampolines"
* commit '17cbadf0f598b0d02179262ad5b6b270850ccb94':
  Add aarch64 EGL/GLES trampolines
2014-06-07 00:19:53 +00:00
Jesse Hall 30a41aa1cc Add aarch64 EGL/GLES trampolines
Change-Id: Ia90e18d26ff3bdb7e643aff8d77cbaddd2ac2a03
2014-06-06 16:31:53 -07:00
Jesse Hall c2774f9b73 am 92374318: am 618c78c0: am dc273621: Merge "EGL: add x86/64 assembly code for EGL/GLES wrappers"
* commit '92374318b82945f3d03461f3d0c659adb8409fc5':
  EGL: add x86/64 assembly code for EGL/GLES wrappers
2014-05-27 23:35:10 +00:00
mwajdecz c80aafa61d EGL: add x86/64 assembly code for EGL/GLES wrappers
There was no explicit support for x86/64 architecture in EGL/GLES wrappers.
This resulted either in failures or sub-optimal implementation of the wrapper functions.

Change-Id: I20d99d7372fbf642ee4b94a05c8cb971cba29988
Signed-off-by: Wajdeczko, Michal <michal.wajdeczko@intel.com>
2014-05-27 09:26:21 -07:00
Jesse Hall 38cd5c5b61 Remove vestigial remnants of GLES2_dbg
These are left over from an early (not finished?) GL debugging
facility that morphed into GLES_trace. Most of the rest of it has
already been removed, these few pieces were still hanging aroung.

Bug: 15028495
Change-Id: Ib7c03eb8d0db30112e1b83e5262bba03006770de
2014-05-17 19:32:32 -07:00
John Reck 6ec9862df1 Merge "Revert "Temporarily turn on callstack logging"" 2014-04-24 23:49:19 +00:00
John Reck 1f246d73d8 Revert "Temporarily turn on callstack logging"
Bug: 13927881

'twas useful and perhaps should be always enabled (please?)
but not like this, so reverting.

This reverts commit db4488565a.

Change-Id: I9a78c6d6e48342ef6ca1f2f7b5303ca47ccc6086
2014-04-24 23:35:26 +00:00
Jesse Hall 1034cfc778 am 43b3e600: am 3f0d5669: Merge "Expose core EGL entry points to eglGetProcAddress"
* commit '43b3e600c1a477697408b1cac4cbd40b0ad97d56':
  Expose core EGL entry points to eglGetProcAddress
2014-04-21 19:03:03 +00:00
John Reck db4488565a Temporarily turn on callstack logging
Bug: 13745587
 Temporarily turn on callstack logging for gl_no_context() to
 try and track down font cache corruption

Change-Id: I657ee85e811746441c5ce0ffe5adbfb3fb011d4c
2014-04-08 15:05:54 -07: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
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
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
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