Commit Graph

910 Commits

Author SHA1 Message Date
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
20670e33c7 Update GLES headers from Khronos SVN r26322
Public registry is:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api

Bug: 15028495
Change-Id: I2269a6a2486c34b6a9e378d4a25a41492d531c81
2014-05-19 12:54:04 -07:00
Jesse Hall
a42788e2b8 Import GL registry from upstream @r26448.
Public GL registry is at:
https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api

Bug: 15028495
Change-Id: I41cc865bf39e1155c4467411d0b1afced44b0874
2014-05-19 12:54:04 -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
Jesse Hall
3f0d5669eb Merge "Expose core EGL entry points to eglGetProcAddress" 2014-04-21 18:51:18 +00:00
John Reck
10f91bbf7d Merge "Temporarily turn on callstack logging" 2014-04-09 17:06:06 +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
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