Commit Graph

370 Commits

Author SHA1 Message Date
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
Michael Lentine
12c4bdad7b Add rate-limited logging for unimplemented es functions.
Bug: 17322013

Change-Id: I7aa5ab2f76cf344cfb75802edbfd44e8e7526ff1
2014-09-23 08:30:12 -07:00
Ben Clayton
16d7b6a8bb Don't try to capture the pointer when using PBOs for texture APIs
If a PBO is bound, then the pointer argument is a relative offset from
the start of the PBO, not an absolute address.

Fixes b/17063439

Change-Id: I39629ce6c9bb3cb6bac5c9b0311287628306ddd4
(cherry picked from commit 0ad707f2f3)
2014-08-20 15:21:44 +00: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
cd36eb445b Merge "Modify EGL to disconnect the window when the surface gets destroyed." into lmp-dev 2014-07-25 21:16:23 +00: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
Ying Wang
d1ceb8b78f Install symlinks in multilib build.
(cherry picked from commit c3aed1eaef)

Change-Id: Ic0082ffbd7ecf610476bccb0929e67427a05190d
2014-07-24 10:36:55 -07:00
Ben Clayton
7b3f48d2ef Use the count parameter to store all the uniform vectors, not just the first one. DO NOT MERGE.
Change-Id: Ib56d859051f0b895de5c12ffa371cd4b2b65ac0b
(cherry picked from commit 31b0aec64b)
2014-07-21 09:52:48 +00:00
Ben Clayton
3d3c125423 Add data capturing of glCompressedTexImage2D and glCompressedTexSubImage2D calls.
Change-Id: I38643f5d279a84f1b7069801d7c106fc8f1ae394
2014-07-07 11:57:45 +01: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
Simon Wilson
7ef56b7315 am ad8d25e8: am 90654afb: Revert "Enable OMAP4 SGX workaround for OMAP3 too"
* commit 'ad8d25e812d8842298de92657158a0325c42cdbd':
  Revert "Enable OMAP4 SGX workaround for OMAP3 too"
2014-05-29 17:58:30 +00:00
Simon Wilson
ad8d25e812 am 90654afb: Revert "Enable OMAP4 SGX workaround for OMAP3 too"
* commit '90654afb3aeac78916f2a53fe689a087c0e283c9':
  Revert "Enable OMAP4 SGX workaround for OMAP3 too"
2014-05-29 17:54:34 +00:00
Simon Wilson
90654afb3a Revert "Enable OMAP4 SGX workaround for OMAP3 too"
Since the new TI SGX DDK 1.12 has fixed support for RGBA8888,
the workaround can be reverted. This may help with CTS issues.

Bug: 14995811
This reverts commit 6e79cb81d0.

Change-Id: Id8160ebe577d7009d2dd5eb4501ec40356a4274d
2014-05-29 08:55:27 -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
Jesse Hall
92374318b8 am 618c78c0: am dc273621: Merge "EGL: add x86/64 assembly code for EGL/GLES wrappers"
* commit '618c78c032ce84c02724a1e5a7f439fa788ecf3a':
  EGL: add x86/64 assembly code for EGL/GLES wrappers
2014-05-27 23:31:32 +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
fca1b54031 opengl: Regenerate code with ES 3.1 and new extensions
Enable ES 3.1 generation in glgen.py, and regenerate everything to add
support for that as well as these new extensions in the registry:
- EXT_copy_image
- EXT_draw_buffers_indexed
- EXT_geometry_shader
- EXT_gpu_shader5
- EXT_primitive_bounding_box
- EXT_shader_implicit_conversions
- EXT_shader_io_blocks
- EXT_tessellation_shader
- EXT_texture_border_clamp
- EXT_texture_buffer
- EXT_texture_cube_map_array
- EXT_texture_view

Bug: 15028495
Change-Id: I3f45a7ef5367c70e54ce6b36a8c030ae11033434
2014-05-21 15:32:23 -07:00
Jesse Hall
3703f7f014 opengl: Update GLES headers and generate *.in from registry XML
Import GLES headers from Khronos SVN r26322:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api

There are many non-functional whitespace and parameter name changes
included here. These were introduced upstream when converting from the
old .spec registry to the new XML registry.

There are also some new extensions added. Unfortunately there isn't a
version of the XML that matches the headers the previous versions of
the *.in files were generated from, so I can't separate out the
non-functional changes from the new extensions (other than temporarily
hacking them out of the XML). See below for a list.

Finally, I had to hack the official glext.h. Khronos hasn't updated
the official GLES1 headers since switching to the XML registry, and
there is one critical difference: a "const void**" parameter in the
official header is "const void* const*" in the registry. I changed the
header to avoid build errors with code generated from the registry.

Dependencies on the *.in files required manually updating some
GLES_trace/ files as well:

- gltrace_api.{h,cpp} must be manually re-generated using
  tools/genapi.py.
- New GL prototypes must be manually added to gltrace.proto.
- gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make)

New GLES extensions in libs/GLES_CM/glext_api.in:
- GL_OES_byte_coordinates
- GL_EXT_map_buffer_range
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync

New GLES2 extensions in libs/GLES2/gl2ext_api.in:
- GL_KHR_blend_equation_advanced
- GL_KHR_debug
- GL_OES_sample_shading
- GL_OES_texture_storage_multisample_2d_array
- GL_EXT_disjoint_timer_query
- GL_EXT_draw_buffers
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays
- GL_EXT_map_buffer_range
- GL_EXT_map_buffer_range
- GL_EXT_multiview_draw_buffers
- GL_EXT_separate_shader_objects
- GL_ANGLE_instanced_arrays
- GL_ANGLE_translated_shader_source
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
- GL_INTEL_performance_query
- GL_NV_blend_equation_advanced
- GL_NV_copy_buffer
- GL_NV_draw_instanced
- GL_NV_framebuffer_blit
- GL_NV_framebuffer_multisample
- GL_NV_instanced_arrays
- GL_NV_non_square_matrices

Bug: 15028495
Change-Id: I902517c23354e14f9c63b1584db286d682315bb5
2014-05-21 14:58:00 -07:00
Jesse Hall
0b96e6c44b Revert "opengl: Generate *.in from registry XML"
This reverts commit 4a73962c69.

Change-Id: I1fa5cbe4d0b86f6df69d616157b3fec68d706d7a
2014-05-20 21:38:44 +00:00
Jesse Hall
4a73962c69 opengl: Generate *.in from registry XML
There are many non-functional whitespace and parameter name changes
included here. These were introduced upstream when converting from the
old .spec registry to the new XML registry.

There are also some new extensions added. Unfortunately there isn't a
version of the XML that matches the headers the previous versions of
the *.in files were generated from, so I can't separate out the
non-functional changes from the new extensions (other than temporarily
hacking them out of the XML). See below.

Finally, I had to hack the official glext.h. Khronos hasn't updated
the official GLES1 headers since switching to the XML registry, and
there is one critical difference: a "const void**" parameter in the
official header is "const void* const*" in the registry. I changed the
header to avoid build errors with code generated from the registry.

Dependencies on the *.in files required manually updating some
GLES_trace/ files as well:

- gltrace_api.{h,cpp} must be manually re-generated using
  tools/genapi.py.
- New GL prototypes must be manually added to gltrace.proto.
- gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make)

New GLES extensions in libs/GLES_CM/glext_api.in:
- GL_OES_byte_coordinates
- GL_EXT_map_buffer_range
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync

New GLES2 extensions in libs/GLES2/gl2ext_api.in:
- GL_KHR_blend_equation_advanced
- GL_KHR_debug
- GL_OES_sample_shading
- GL_OES_texture_storage_multisample_2d_array
- GL_EXT_disjoint_timer_query
- GL_EXT_draw_buffers
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays
- GL_EXT_map_buffer_range
- GL_EXT_map_buffer_range
- GL_EXT_multiview_draw_buffers
- GL_EXT_separate_shader_objects
- GL_ANGLE_instanced_arrays
- GL_ANGLE_translated_shader_source
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
- GL_INTEL_performance_query
- GL_NV_blend_equation_advanced
- GL_NV_copy_buffer
- GL_NV_draw_instanced
- GL_NV_framebuffer_blit
- GL_NV_framebuffer_multisample
- GL_NV_instanced_arrays
- GL_NV_non_square_matrices

Bug: 15028495
Change-Id: Ib3fa700a146adf7f1487a93e459b1e6df0dcdc42
2014-05-19 12:54:05 -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
Jesse Hall
bbbddb83bb Disable warnings when generating GL wrappers
Bug: 15028495
Change-Id: Ic0c974e868d05632a06748c90cedbdd409ce2aa8
2014-05-17 19:32:10 -07:00
Jesse Hall
4c0596f4cc Rationalize GLES2/3 .in files.
We weren't using gl2_api.in, since gl3_api.in was a superset. And
gl3ext_api.in was empty, and Khronos has decided to keep it that way
(any GLES2/3/... extensions will be in gl2ext.h).

Since libGLES2.so will have all future backwards-compatible GLES APIs,
it makes sense to just use gl2_api.in and gl2ext_api.in to build its
contents. This changes renames gl3_api.in to gl2_api.in and updates
uses of it, and removes gl3ext_api.in and references.

Bug: 15028495
Change-Id: I0745eda27ec91ee625f03e957e4fdb22035dd781
2014-05-17 19:31:48 -07:00
Ying Wang
f736f2f5da am 114d71ce: am 214b4a61: am 8155ce81: Merge "Remove unused LOCAL_LDLIBS."
* commit '114d71ce7c6ec1ce0327c812a42966c4258b4a46':
  Remove unused LOCAL_LDLIBS.
2014-05-08 18:23:58 +00:00
Ying Wang
114d71ce7c am 214b4a61: am 8155ce81: Merge "Remove unused LOCAL_LDLIBS."
* commit '214b4a61ac3fa63e35c79157d3acf0d8b692b3ac':
  Remove unused LOCAL_LDLIBS.
2014-05-07 23:01:19 +00:00
Ying Wang
4a793fe952 Remove unused LOCAL_LDLIBS.
Change-Id: I62904c410a66f256da8253764577acae18f964f8
2014-05-07 15:26:38 -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
Jesse Hall
43b3e600c1 am 3f0d5669: Merge "Expose core EGL entry points to eglGetProcAddress"
* commit '3f0d5669eb437ce1f9ce599e196d045534ec3d4f':
  Expose core EGL entry points to eglGetProcAddress
2014-04-21 18:57:12 +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
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
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
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
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
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
1f8363329c EGL: rename CallStack::dump into CallStack::log
Bug: 11324229
Change-Id: Ibac1be182c336e7aa5ac098f08d18b3c188964b4
2013-10-25 17:13:57 -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
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