Commit Graph

944 Commits

Author SHA1 Message Date
Jamie Gennis
9c6c6992e0 GLES: add image external enums
This change adds Java definitions for the enums of the
GL_OES_EGL_image_external OpenGL ES extension.

Bug: 3482193
Change-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2
2011-11-15 11:35:46 -08:00
Mathias Agopian
4b9511c161 rework a bit how we manage EGL extensions
- don't advertise extensions that are not supported
  by any implementation

- remove EGL_ANDROID_swap_rectangle which is not
  implemented by anybody and confuses people

- add some comments about mandatory extensions

Bug: 5428001
Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
2011-11-14 19:05:45 -08:00
Mathias Agopian
f0480de374 fix crash when validating an invalid EGL objects
the code that validated EGL objects dereferenced the object
to access its EGLDisplay -- needed for validation (!).
This was wrong for two reasons, first we dereferenced the object
before validating it (potentially leading to a crash), secondly
we didn't validate that the object existed in the right EGLDisplay.

We now use the EGLDisplay passed by the user API.

Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
2011-11-14 17:40:21 -08:00
Jamie Gennis
7cd230c508 Merge "EGL: add the ANDROID suffix to the blob cache ext" into ics-mr1 2011-11-14 17:36:46 -08:00
Jamie Gennis
c42fcf05ce EGL: add the ANDROID suffix to the blob cache ext
This change adds the ANDROID suffix to the all the types and functions
defined by the EGL_ANDROID_blob_cache extension.

Change-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d
2011-11-11 13:17:03 -08:00
Romain Guy
c58b9999e1 Merge "Terminate EGL when an app goes in the background" into ics-mr1 2011-11-10 17:10:41 -08:00
Romain Guy
4725e2ca80 Terminate EGL when an app goes in the background
This does not happen on high end gfx devices. This happens
only if only one EGL context is initialized in the current
process.

Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
2011-11-10 16:44:49 -08:00
Jamie Gennis
99c3d700d2 EGL: add deferred saving of the cache
This change causes any insertions into the EGL cache to trigger an
attempt to save the cache contents to disk.  The save operation is
deferred to allow multiple cache insertions to be batched up.

Change-Id: I6cfec9c0dbbef94d3f8880860e2a365dccc296c7
2011-11-08 17:59:36 -08:00
Jamie Gennis
98c6383580 EGL: implement loading and saving the cache
This change adds support for saving and loading the contents of the EGL
cache.  It also adds some simple tests for the EGL cache.

Change-Id: I18e5e789e0897a0783d29d1c1e64d26de2dd44c4
2011-11-08 15:54:36 -08:00
Jamie Gennis
766010858e EGL: use an in-memory the blob cache
This change makes the makes the stub EGL_ANDROID_blob_cache callbacks
actually use a BlobCache object.

Bug: 5474671
Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a
2011-11-07 10:48:42 -08:00
Jamie Gennis
aca51c06f3 EGL: Add stubs for EGL_ANDROID_blob_cache
This change adds a stub cache implementation that gets passed to the
underlying EGL implementation at initialization time.

Change-Id: I14437c5b6f91b7a34a19bb02ad802e6e54f88d2a
2011-11-04 15:01:51 -07:00
Mathias Agopian
0e8bbee577 don't log EGL errors due to unimplemented proprietary extensions
Change-Id: Icfc33d4f55d1e7fb49390ce0921ba37a438c9fc2
2011-10-05 19:15:32 -07:00
Mathias Agopian
1ac8b72f4f fix EGL debugger
always use GL_RGBA, GL_UNSIGNED_BYTE for screen capture
and make sure to handle GL_BGRA_EXT used on some gpu.

Change-Id: If9c973677fec8a5c4e72be22e7ef7d4bf5f008f4
2011-09-19 14:44:37 -07:00
Mathias Agopian
06649fece4 cleanup: fix typos in logs
Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
2011-09-16 11:56:40 -07:00
Jonas Yang
1c3d72a229 Add (support for) EGL_NV_system_time extension.
Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6
Signed-off-by: Mathias Agopian <mathias@google.com>
2011-09-13 16:44:22 -07:00
Mathias Agopian
ecfe091af3 add an option to EGL to dump stack traces on errors
enable by setting debug.egl.callstack to 1

Change-Id: I7fad9ce71b4c4c5ece97d4f9d139348eab742a3c
2011-09-06 18:06:04 -07:00
David 'Digit' Turner
80b30c24ff opengl: EGL: special case for GLES emulation
This patch modifies the library loaded in libEGL.so to
handle the case of GLES emulation as follows:

- if we detect that we run inside the emulator, check the
  GPU emulation status through ro.kernel.qemu.gles, which
  will be set to 1 if supported, or 0 otherwise.

  When trying to run on an older version of the emulator,
  the kernel parameter will not be defined at all.

- if GPU emulation is supported, use egl.cfg as usual.
  It will contain a line like "0 0 emulation" that will
  load libEGL_android.so appropriately.

- nothing is changed if we don't run inside the emulator.

NOTE: Ideally, we would modify libEGL_emulation.so to
      redirect all calls to libEGL_android.so in this case.

      However, this turns out to be extremely tedious to implement
      (too many functions with different signatures).

      As such,  it is much simpler to make the check before
      loading the library.

Change-Id: I9930bc168d9013cc8700feedc57b979384467c37
2011-09-02 15:41:13 +02:00
Mathias Agopian
a45c547910 fix another bug that prevented the gl debugger to work
we didn't set the debug tls properly

Change-Id: Iad9cc5b5d230a8eb7f680c4b70925c5e43e73051
2011-09-01 17:50:52 -07:00
Mathias Agopian
ccfa5c3364 this should fix the GL debugger
we were checking against to the wrong variable

Change-Id: Iff3f5ab2d6ba5ac0d3d8161011b38e673ee7e67b
2011-09-01 14:55:00 -07:00
Mathias Agopian
5fecea776a fix logging of eglMakeCurrent() errors
Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
2011-08-25 18:38:24 -07:00
Jamie Gennis
9f24fd020e EGL: move disconnect to surface dtor
This change moves the call to native_window_api_disconnect from
eglDestroySurface to the egl_surface_t destructor.  The egl_surface_t
can outlive the external EGLSurface if eglDestroySurface is called while
the surface is made current on a thread.

Change-Id: I0df6117a5633c2a19935fe356579abdd76fc471f
2011-08-24 15:00:23 -07:00
Mathias Agopian
3a0cae8e5f implement EGL_TEXTURE_EXTERNAL_OES in libagl
this allows the emulator to display some graphics

Change-Id: Ib4671ad70b8df598d02307f2b9c5b843421cea25
2011-08-18 16:26:21 -07:00
Mathias Agopian
7dddeac971 fix test-opengl-swapinterval
EGLConfig selection should now work on any device

Change-Id: I4d4580e891d1faf817fa853838406fb49d12e50a
2011-08-15 15:25:40 -07:00
Mathias Agopian
81a6335052 connect/disconnect is now called from our EGL wrapper
the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.

Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
2011-08-01 14:06:20 -07:00
Romain Guy
868a0aff31 Add new OpenGL test
Change-Id: Icab48d71945bf94dd53f58b728a951d46380d945
2011-07-19 17:20:35 -07:00
Jamie Gennis
dc159f92fa EGL: update EGL_ANDROID_recordable extension.
This change adds an enum value and a description of the expected
implementations to the EGL_ANDROID_recordable extension specification.
It also adds the new enum value to the 'eglext.h' header.

Change-Id: Ia0de2d5613708445ff83b85a7e550f9417531ee4
2011-07-17 18:42:09 -07:00
Jeff Brown
7175398247 Merge "Remove the simulator target from all makefiles. Bug: 5010576" 2011-07-12 12:15:07 -07:00
Jeff Brown
baa44b89ec Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
2011-07-11 22:12:16 -07:00
Jamie Gennis
1a14b442e0 Merge changes I002177a6,Ibaff52fe
* changes:
  Add the EGL_ANDROID_recordable spec.
  Add the spec for EGL_ANDROID_blob_cache.
2011-07-11 17:14:33 -07:00
Jamie Gennis
bd3b6ef117 Add the EGL_ANDROID_recordable spec.
Change-Id: I002177a68fafd6bb941aa64445c85fd5ff56223a
2011-07-11 17:13:02 -07:00
Jamie Gennis
0d0c5a6d6b Merge "EGL: fix the ANativeWindow size/fmt override" 2011-07-11 15:47:20 -07:00
Romain Guy
e03de93794 Always make GL calls with a valid EGL context.
Bug #5010760

Change-Id: If7500ef69683948e727df1406f458f18b11259d1
2011-07-11 15:33:51 -07:00
Jamie Gennis
bee205fd58 EGL: fix the ANativeWindow size/fmt override
This change fixes how the Android EGL layer overrides the size and
format of an ANativeWindow in eglCreateWindowSurface.  The new behavior
is to leave the size untouched when overriding the format.  The previous
behavior was to reset the ANativeWindow to use the default size set by
the ANativeWindow implementation.

It also adds two new 'perform' methods to the ANativeWindow interface:
set_buffers_dimensions and set_buffers_format, and redefines the
behavior of set_buffers_geometry to be the combination of these two new
methods.

Additionally, this change adds an error check for the return value of
the new native_window_set_buffers_format call, which required adding a
(stub) handler for to FramebufferNativeWindow.

Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
2011-07-11 12:31:45 -07:00
Jamie Gennis
34d3f3810d Add the spec for EGL_ANDROID_blob_cache.
Change-Id: Ibaff52fee5c856283536ad37251cc80a9f3f938b
2011-07-11 12:06:54 -07:00
Mathias Agopian
2f739f8f04 Add a simple EGL test
currently it just tests EGLConfig selection

Change-Id: Id9d9971012d733147dd7dc02fa2054307960235e
2011-07-08 14:40:39 -07:00
Mathias Agopian
1cadb25da1 fix x86 build
Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
2011-05-23 17:48:36 -07:00
Mathias Agopian
5b287a6ea8 eglTerminate() now actually frees up all active egl objects
as specified by the EGL specification, terminated objects's
handles become invalid, the objects themselves are destroyed
when they're not current to some thread.

Change-Id: Id3a4a5736a5bbc3926a9ae8385d43772edb88eeb
2011-05-16 19:03:33 -07:00
Mathias Agopian
518ec112f4 refactor EGL source code
no changes is functionality. split various objects into their own files.
make egl_display objec's lock internal.
2011-05-16 19:02:45 -07:00
Mathias Agopian
0ad71a97c6 fix (Again) adding OES postfix when looking for gl functions
Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
2011-05-11 20:37:47 -07:00
Jeff Boody
e647f3c76c add OES postfix without truncating function
Change-Id: Id47304cf38914190cec58d703801f456ab916f63
2011-05-11 18:05:49 -07:00
Mathias Agopian
69e43b71af fix libagl surface initialization
this broke recently when removing copybit support.

Change-Id: I5cc7ff7f49268411c6c2cfb2d97590d52b13dbd5
2011-05-11 13:41:09 -07:00
Iliyan Malchev
697526bc9e frameworks/base: android_native_buffer_t -> ANativeWindowBuffer
Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-05-03 16:40:14 -07:00
Mathias Agopian
75c1535eb3 remove last traces of copybit
Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
2011-05-02 16:27:21 -07:00
Mathias Agopian
9cdb01da71 get rid of dependency on copybit HAL module
Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
2011-04-28 19:50:21 -07:00
Jamie Gennis
1b528fb9d8 EGL: Allow creating a SurfaceTexture EGLSurface.
This change removes the check that disallowed the creation of an
EGLSurface that would send frames to a SurfaceTexture.

Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
2011-04-25 16:41:11 -07:00
David Li
133cf52ac9 GLES2Dbg: noop - format & comment
Change-Id: Ibb36508181d4322e236b6595b28d253f282c36d7
Signed-off-by: David Li <davidxli@google.com>
2011-04-21 14:15:10 -07:00
David Li
620676eec7 GLES2Dbg: send some GL implementation constants to client
Change-Id: Ic6c51c09b1c3d2e1e1a28c6ed552714c3243827c
Signed-off-by: David Li <davidxli@google.com>
2011-04-19 14:44:51 -07:00
David Li
7b271eba88 GLES2Dbg: initial tests
Change-Id: Ibf07eff68d39267fd5c9bec2870f59a5ae2f51e3
2011-04-19 14:42:14 -07:00
David Li
c2ca836b17 GLES2Dbg: added CaptureDraw and CaptureSwap options
CaptureDraw specifies how many glDrawArrays/Elements to glReadPixel
CaptureSwap similarly applies to eglSwapBuffers

Change-Id: Ie7a7e3392b4ecdc0659dcee04f4bab97c35267dc
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:56:10 -07:00
David Li
499c6f02e6 GLES2Dbg: use dump.gles2dbg file when fails to create socket
setprop debug.egl.debug_forceUseFile 1: always use file
setprop debug.egl.debug_maxFileSize <int MB>: exit when reached
setprop debug.egl.debug_filePath <path>: may need to make the file
 writable first.
setprop debug.egl.debug_port <unsigned short>
setprop debug.egl.debug_proc <proc cmdline>: to match debuggee process

Change-Id: I34ca1f3092f3abf17e2ded9d1689d0cdef6e07e8
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:56:10 -07:00
David Li
904f18f792 GLES2Dbg: add EXTEND_AFTER_CALL_Debug_* macro and improve protocol
To allow auto generate of Debug_glReadPixels function.
Also added AfterGeneratedCall messag type, and client override
 of expectResponse for improving protocol.
Also implemented callers for client to get shader/program iv & infolog

Change-Id: I8426de0be4b7ffcb8b2b4f063ad85d19a9d2d72e
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:56:10 -07:00
David Li
864f839e96 GLES2Dbg: change GLES2_dbg to shared library
Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:56:10 -07:00
Elliott Hughes
9875750593 Kill the global references in the OpenGL wrappers.
Just use jniThrowException instead. Note that it would be trivial to throw
seemingly more appropriate exceptions (NullPointerException and
OutOfMemoryException in particular), but I'm only attempting to preserve
existing behavior here.

I also found shadowing bugs in some of the special-case functions, which
would previously always have leaked memory.

This also moves an accidental change to a generated file (ActivityThread ->
AppGlobals) into the generator, so it won't be overwritten in future.

Change-Id: Iab570310b568cb406c60dd0e2b8211f8a36ae590
2011-04-11 15:31:20 -07:00
Eric Hassold
7fecf8c1ff Initialize reference counter for egl_display_t
Add missing member initialization for reference counter, used to determine
if a context is ready.

Change-Id: I45f81177ac2851129681f827afe015b60b3cd73c
2011-03-31 16:52:02 -07:00
Eino-Ville Talvala
2e2132d773 Merge "Add a simple OpenGL ES 2.0 test program that displays a camera preview stream." 2011-03-29 13:34:03 -07:00
David Li
214c31dbe5 Merge "GLES2Dbg: use 256KB chunks for lzf compression" 2011-03-29 12:00:07 -07:00
Eino-Ville Talvala
55c617aa2d Add a simple OpenGL ES 2.0 test program that displays a camera preview stream.
Uses a SurfaceTexture feeding into a OpenGL ES2 GLSurfaceView. Also
uses accelerometer data and SurfaceTexture-provided timestamps for a
simple physics simulation which moves the camera preview oval in
response to device movement.

Change-Id: I275a0c6a4e25829d617e635b25e70e2a9c8455cb
2011-03-28 15:27:19 -07:00
Jack Palevich
62d08f5bc3 Add Java support for a few accidentally omitted OpenGL ES APIs.
Fixes 3491494 Support OpenGL APIs: glBlendEquationSeparate and friends

Change-Id: I8fdc94b6ea14e9a7e3d402a965d500790a3d8f77
2011-03-28 14:49:12 -07:00
David Li
7a52015696 GLES2Dbg: use 256KB chunks for lzf compression
Data format is uint32_t totalDecompressedSize, then repeat:
uint32_t chunkDecompressedSize, chunkCompressedSize, chunk data.
If chunkCompressedSize == 0, then chunk is not compressed.

Also start fixing integer sizes on server.
On client, set endianness to match server.

Change-Id: I0d5afa16976ea6019b91c4e21d284605da7e135e
Signed-off-by: David Li <davidxli@google.com>
2011-03-28 10:32:37 -07:00
Eric Hassold
11c01568c3 Make objects collection a member of egl_display object
Move EGL objects (contexts, surfaces, ...) collection from global
static into EGL display object. Since EGL implementation currently
supports only one display, this doesn't change current logic. This
aims at preparing for next coming changes in eglTerminate() to
support per-display cleanup.

Bug: 4152714
Change-Id: I5e424781b89c3c275f9922f943463d5f6b1f6bc6
2011-03-25 14:37:19 -07:00
David Li
922ddd6dad Merge "GLESv2Dbg: ability to create GL calls from client" 2011-03-24 16:43:02 -07:00
David Li
fef0451f7f Merge "GLES2Dbg: added SETPROP expectResponse" 2011-03-24 16:42:58 -07:00
David Li
3f9c90c1ec Merge "GLES2Dbg: added reference frame for glReadPixels" 2011-03-24 16:42:53 -07:00
David Li
e315b16e8f Merge "GLES2Dbg: use libLZF for compressing images" 2011-03-24 16:42:44 -07:00
Eric Hassold
3ede7c133a Check for initialized EGLDisplay when required by specification
Check for initialized display, and set EGL error to EGL_NOT_INITIALIZED
whenever it isn't, for all EGL functions taking an EGLDisplay as argument
and requiring it to have been initialized.

Bug: 3366011
Change-Id: Ib1d8a3a207257995518f4430fe97f8c406c7fc13
2011-03-23 15:59:00 -07:00
David Li
49633ca2ed GLESv2Dbg: ability to create GL calls from client
caller.cpp Is generated by generate_caller_cpp.py
Hand written functions are in caller.h

Change-Id: I27ed9792df52569159a2d1b8a78207c7a7518537
Signed-off-by: David Li <davidxli@google.com>
2011-03-22 18:42:22 -07:00
David Li
ebcfe2d632 GLES2Dbg: added SETPROP expectResponse
to allow "stepping" in functions.
Also fix bug in reference frame.

Change-Id: Ia33620eaf2c5f4e615f7aad2df277b6afc617060
Signed-off-by: David Li <davidxli@google.com>
2011-03-22 18:42:22 -07:00
David Li
8b27d3592d GLES2Dbg: added reference frame for glReadPixels
Change-Id: I37398d8d835e54a1764dfabd617fdc2c640864c2
2011-03-22 18:42:03 -07:00
David Li
c615816679 GLES2Dbg: use libLZF for compressing images
liblzf is in external/liblzf, it's BSD-type licence (optionally GPL2)

Change-Id: Idc7883fe2155f366cda384e64796a1493335ae4f
Signed-off-by: David Li <davidxli@google.com>
2011-03-21 18:23:28 -07:00
David Li
5a0d29009c Merge "GLES2Debugger: Make command exchange async to improve performance." 2011-03-17 14:38:37 -07:00
Mathias Agopian
7d7723d330 am 9405d987: am a05a8ac5: am af831a7b: Merge "fix [4107131] nvidia driver call takes a very long time" into honeycomb-mr1
* commit '9405d98705db1c8102b77ef960f344ac416d165c':
  fix [4107131] nvidia driver call takes a very long time
2011-03-16 16:03:24 -07:00
Mathias Agopian
36bdf14a75 fix [4107131] nvidia driver call takes a very long time
We were leaking all EGLSyncKHR objects, over time the list
would grow and become very slow to operate on.

Bug: 4107131
Change-Id: I6c82daf49fe3189d04550781d64d57c30c95f552
2011-03-16 14:19:03 -07:00
Jamie Gennis
9db01a7c1c am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." into honeycomb-mr1
* commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1':
  SurfaceTexture: disallow unsupported uses.
2011-03-15 13:01:27 -07:00
Jamie Gennis
5c0c93a8c4 SurfaceTexture: disallow unsupported uses.
This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface.  It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.

Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
2011-03-15 10:37:37 -07:00
Iliyan Malchev
3875d79ef6 Merge "frameworks/base: remove LOCAL_PRELINK_MODULE" 2011-03-14 16:58:05 -07:00
Jamie Gennis
5b92e39c14 am dcbc2557: am c313b59b: am 071929b2: Merge "gl2_yuvtex: use the gralloc-provided stride." into honeycomb-mr1
* commit 'dcbc255734e506bacd36d8d9483b7f3d6d96d10b':
  gl2_yuvtex: use the gralloc-provided stride.
2011-03-14 15:25:14 -07:00
Iliyan Malchev
9dde9efd0b frameworks/base: remove LOCAL_PRELINK_MODULE
Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-03-14 14:25:59 -07:00
Jamie Gennis
181f1c33c2 gl2_yuvtex: use the gralloc-provided stride.
This change fixes the gl2_yuvtex test to use the stride chosen by the
gralloc implementation rather than hard-coding it.

Bug: 4081948
Change-Id: If7c96a20fc3fb1df2ff25e6afaa9f34dbad2002c
2011-03-14 11:30:02 -07:00
David Li
85f33a7168 GLES2Debugger: Make command exchange async to improve performance.
In message loop, use select to check for available commands from client,
 rather than always expecting commands in eglSwapBuffers.

Change-Id: Ifc34dd77c2528c8b9c71f594e3eda4f93400cd2b
Signed-off-by: David Li <davidxli@google.com>
2011-03-11 11:09:09 -08:00
David Li
65948aa046 GLES2Debugger: Added DbgContext and vertex data capturing.
Send VBO related commands to client, which tracks the state.
Maintain index buffer content and vertex attrib pointer/buffer state on server.
During glDrawArrays/Elements, send user memory data to client.

Change-Id: Ia920e90479329b301ae4b5735e833eeb20293c94
Signed-off-by: David Li <davidxli@google.com>
2011-03-10 16:40:37 -08:00
David Li
c95e452508 Merge "Added screenshot after glDraw* option to GLES2 Debugger" 2011-03-09 10:05:38 -08:00
David Li
c7ec152b9d Merge "Initial commit of GLESv2 debugger server" 2011-03-09 10:04:46 -08:00
David Li
aa1f54d78f Initial commit of libAgl2 using Pixelflinger2 in external/mesa3d
Somewhat functional, refer to README for details.
Need to enable Android.mk to build.
It builds libGLES_android.so, which needs to replace
 the one in system/lib/egl built by libagl.

Change-Id: Iec3aaa8f3963a4185d81955cd24019eb0c4a5850
Signed-off-by: David Li <davidxli@google.com>
2011-03-08 17:41:29 -08:00
David Li
b33d5cff62 Added screenshot after glDraw* option to GLES2 Debugger
Also added timing mode option using utils/Timers.h.
Factored out common code to reduce size.
Improved Protobuf message.
Uploads data from glBufferData and glBufferSubData.

Change-Id: Iaae5e706235d942df81c7eada7223fb0b0583911
Signed-off-by: David Li <davidxli@google.com>
2011-03-04 17:50:48 -08:00
David Li
2f5a6557ef Initial commit of GLESv2 debugger server
Use debug.egl.debug_proc property to match process cmdline.
Binds to TCP:5039 and waits for client connection.
Sends function call parameters, textures and shaders using Protobuf.
Java Eclipse client plug-in is next.

Change-Id: I183b755263663f87e86dde1ad12f527d0445fd57
Signed-off-by: David Li <davidxli@google.com>
2011-03-03 18:28:43 -08:00
Kenny Root
af1cf07134 Clean up use of HAVE_ANDROID_OS
HAVE_ANDROID_OS was defined as "1" for targets, but never defined as "0"
for non-targets. Changing them to #ifdef should be safe and matches
all the other uses of HAVE_ANDROID_OS throughout the system.

Change-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb
2011-02-16 10:56:32 -08:00
Jamie Gennis
8446681ebe Merge "Clear all EGL errors when entering EGL funcs." 2011-01-31 15:40:06 -08:00
Jamie Gennis
f1cde8e0ed Clear all EGL errors when entering EGL funcs.
This changes the clearError function in the EGL wrapper layer to simply
call eglGetError().  That should clear any pending errors from all the
underlying EGL implementations, which is needed to correctly report the
error for the most recently called EGL function.

Change-Id: Iad19c69f0c5305e873f3c2f96d353280d31f7b61
2011-01-31 14:08:23 -08:00
Jamie Gennis
2076f35549 Fix a multithreading bug in libagl's EGL.
The bug caused libagl to return 0 from eglGetError if an EGL error value
(including EGL_SUCCESS) was set on a different thread but not yet on the
current thread.

Bug: 3403756
Change-Id: Ifd965091d116745c2e22c121151ade9e78eb14c6
2011-01-30 15:59:36 -08:00
Michael I. Gold
4aea6bff14 egl: clear error on function entry
Clear the current thread error state on entry to API functions as
mandated by the EGL 1.4 specification, section 3.1.  glGetError
returns additional information about the "most recent EGL function".

Change-Id: Ic24c64b39294ffc1a4e43fa72663e076b9d7decf
2011-01-25 15:36:21 -08:00
Michael I. Gold
609bb4dbf0 egl: fix GetProcAddress for EGLimage extensions
Return wrappers from GetProcAddress for glEGLImageTargetTexture2DOES
and glEGLImageTargetRenderbufferStorageOES which unwrap the EGLimage
handle before calling through to the implementation.

Change-Id: I2f5b180ab3ccdb28a4f510a2bd8c2eee941a84df
2011-01-16 18:12:04 -08:00
Michael I. Gold
ca41e36266 egl: expose EGLimage extensions
Add EGL_KHR_gl_texture_cubemap_image and EGL_KHR_gl_renderbuffer_image
to the static EGL extension string since these require no new APIs
beyond what is already required.

Change-Id: I2d1fde86b19bb9eee46b3b977f51784a17cfcc3c
2011-01-16 18:02:52 -08:00
Louis Huemiller
ee8e64a539 Hardware Composer Test hwcCommit set blend type
Change-Id: If345641bd009cfd131b1a8e74cd4a9e8e4a7dfc7
2011-01-10 18:03:05 -08:00
Louis Huemiller
06c3ae9457 Hardware Composer Test Overlap Stats
Change-Id: I2f4a02924149f3964de31fb6250f4c21a64d96aa
2011-01-10 17:21:15 -08:00
Louis Huemiller
9a8244b8f8 Hardware Composer Test Lib HBlen off by 1
Change-Id: If51727a041e20afa307e5d1735b77da5a54a712b
2011-01-09 19:02:05 -08:00
Louis Huemiller
653f810879 Hardware Composer Commit Points Benchmark
Change-Id: Ie997d13559c0e4e9dc3babfe92ca1acacef2a549
2011-01-09 10:59:31 -08:00
Louis Huemiller
734d8d898c Hardware Composer new and refactored test cases
Change-Id: Iabf46fc5d75891f917e06a257470a0e3f2bd3c95
2011-01-06 21:25:50 -08:00
Michael I. Gold
0c3ce2a365 egl: fixes for object refcounts
eglMakeCurrent() would only deref the previous surfaces if the old and
new contexts were the same.  eglTerminate() should not touch TLS.
eglReleaseThread() needs to unbind the current context.

Change-Id: I213b8be77b1a23b5a8a6afaac60643662c8aa010
2010-12-23 16:12:19 -08:00
Louis Huemiller
1812cfde39 HWC Stress Test - relocate print msg
Change-Id: I95f9f5c6edffff8c737c4a6996f97e69bccc0448
2010-12-14 14:58:55 -08:00
Louis Huemiller
5d86b53dc1 HWC Stres Test Enhancments
+ YV12 width/height divisable by 2
  + Row width determined by getStride()
  + Misc comment and whitespace fixes
  + printf changed to testPrintI

Change-Id: I27551141bafbfb258eb1b6b7f63c5295b1f9501a
2010-12-14 10:31:57 -08:00
Louis Huemiller
b526594d84 Hardware Composer Stress Test Enhancements
Enhancements include:
  + Change default delay after each set operation
    from 0.1 to 0.0 seconds.  This significantly
    increases the default rate at which operations
    are performed.

  + Make sourceCrop to displayFrame scale
    factor of 1.0 a frequent occurance.

  + Enable use of RGB888 and YV12 graphic formats.

  + Add initCheck() call after creation of a
    GraphicBuffer, to confirm it was created
    without any errors.

Change-Id: I1606dff3924a23bdd5cb27ba302bebb4f200d768
2010-12-13 13:19:13 -08:00
Mathias Agopian
695b66f082 fix build.
Change-Id: I49262ac143da297efcaec4eed04052274c73b7f8
2010-12-08 17:44:07 -08:00
Mathias Agopian
2fa3af5b43 am 054ae782: am e1752f41: Merge "fix [3258603] \'Quadrant\' benchmark crashes inside eglQueryContext on GB/Crespo" into gingerbread
* commit '054ae78245fe9b4c14bbc372ae77cd0a977ded73':
  fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
2010-12-08 17:20:39 -08:00
Mathias Agopian
18c35abd39 am e1752f41: Merge "fix [3258603] \'Quadrant\' benchmark crashes inside eglQueryContext on GB/Crespo" into gingerbread
* commit 'e1752f41d34249c891564889b07963262b1bd8bf':
  fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
2010-12-08 16:20:23 -08:00
Mathias Agopian
c3ce880972 fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
eglQueryContext(..., EGL_CONFIG_ID, ...) is dereferencing an uninitialized pointer
due to a typo.

Change-Id: I100addf3150f19cb6dfbce9987fb5239dd240878
2010-12-08 15:34:02 -08:00
Dan Bornstein
47c9507c91 Merge "Fix another set of out-of-date headers." 2010-12-07 16:39:45 -08:00
Dan Bornstein
4bb407d47e Fix another set of out-of-date headers.
This time in XML files.

Change-Id: Iebe36810c3a2d7a6ff354f43808b1b8649b85637
2010-12-07 16:27:55 -08:00
Dan Bornstein
a5651f24b8 Merge "Fix newlines in this file." 2010-12-07 16:27:31 -08:00
Dan Bornstein
22b03897a8 Fix newlines in this file.
They were CRLF instead of just LF.

Change-Id: I2d06d19b4d8ca969527d93bd996103c161e48a79
2010-12-07 16:23:05 -08:00
Mathias Agopian
b0c48b8993 am 0484a673: am daef0a04: Merge "[3229973, 3247470, ...] set EGLNativeWindowSurface\'s format in EGL" into gingerbread
* commit '0484a673c5839d2be9e615e52c6a45febdf1127b':
  [3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL
2010-12-06 18:25:58 -08:00
Mathias Agopian
d6a9c7d2db am daef0a04: Merge "[3229973, 3247470, ...] set EGLNativeWindowSurface\'s format in EGL" into gingerbread
* commit 'daef0a040de7a9825bdbcba7b2eae66195e3a95f':
  [3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL
2010-12-06 18:22:57 -08:00
Mathias Agopian
644bb2a29e [3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL
(there are multiple bugs this should fix)

we now use the EGL_NATIVE_VISUAL_ID of a config to set
the ANativeWindow's format from eglCreateWindowSurface(),
this guarantees that the surface's format will match
whatever EGLConfig the user chose.

this should fix all current and future config/surface format
mismatch and allow users to easily select 32-bits surfaces.

Change-Id: I3835d0eb70c75eeecded3c3509a0a8207554c98b
2010-12-03 14:15:40 -08:00
Louis Huemiller
365b2c66a2 Hardware Composer Stress Test
Change-Id: Ief08b22dacd052483f10754b3ab61aa09ca28b17
2010-11-29 14:08:57 -08:00
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
ab5426e53d am b02ca27f: am b7a109c0: Merge "Refresh EGL header to work with the NDK" into gingerbread
* commit 'b02ca27f05a47fad75c57d6d8c52ccc5b21a8043':
  Refresh EGL header to work with the NDK
2010-11-09 16:42:27 -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
Jamie Gennis
b27cb7f5bf Merge "OpenGL ES 1 YUV texturing test" 2010-10-28 15:44:11 -07:00
Jamie Gennis
e6bb73a1cd Merge "YUV texturing test." 2010-10-28 15:44:01 -07:00
Jack Palevich
6132b3703d Trace glUniformXXv and glUniformMatrixXfv calls.
Change-Id: I653021d2174fa1a7343d10b0fd2c29b3e5147be6
2010-10-27 15:37:01 -07:00
Nuno Subtil
ce0a5ca423 OpenGL ES 1 YUV texturing test
Change-Id: I295e5bce16a8ab088b99929f788f2fbbe8492b8d
2010-10-27 15:14:56 -07:00
Michael I. Gold
6ecdb49b25 YUV texturing test.
Change-Id: Ib2a6b7eb2a5fc98ecaace032d6c63d50613aaa0d
2010-10-27 14:51:43 -07:00
Kristian Monsen
72c384e0a1 Fix for simulator build
The code looks correct, but causes an internal compiler error on
simulator builds on mine (an other) gLucid desktops.

Change-Id: Iaf0d8120778ec1c6fc739ef13e6eaaac53e3bcc8
2010-10-27 22:49:34 +01:00
Jack Palevich
8c026c039f Merge "OpenGL tracing." 2010-10-26 18:37:10 -07:00
Jack Palevich
a2dd6cf599 OpenGL tracing.
Enable with:

adb shell setprop debug.egl.trace 1

Change-Id: Icfbc795f5260141510975228e72234e9aab56a85
2010-10-26 15:21:24 -07:00
Mathias Agopian
698346ed59 am d9588e9c: am a7b745ca: Merge "fix eglChooseConfig() for special attributes." into gingerbread 2010-10-26 12:23:46 -07: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 specified
  in attrib list, then they are ignored

Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
2010-10-25 15:51:24 -07:00
Mathias Agopian
2e6153ee11 am 49af98ed: am aa6df366: Merge "fix [3119687] [Maps][4.6.0] Force close in street view" into gingerbread
Merge commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7'

* commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7':
  fix [3119687] [Maps][4.6.0] Force close in street view
2010-10-21 17:23: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
e3c5974719 am 63ac8f53: am 2b2da526: Merge "Add a test application to dump all the EGLConfig available" into gingerbread
Merge commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea'

* commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea':
  Add a test application to dump all the EGLConfig available
2010-10-21 13:48:50 -07:00
Mathias Agopian
f6715ba6de am 6d90e89a: am a0795fc9: Merge "software renderer: fix [3117351] GL driver doesn\'t set the EGL_NATIVE_VISUAL_ID" into gingerbread
Merge commit '6d90e89afa47293cf5fe18f512cce43d2fa6df82'

* commit '6d90e89afa47293cf5fe18f512cce43d2fa6df82':
  software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID
2010-10-21 13:47:59 -07:00
Mathias Agopian
41e5645b1a am add9db83: am f4cd9be0: Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number" into gingerbread
Merge commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5'

* commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2010-10-21 10:47:32 -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
Ari Hirvonen
551dc26ebd libagl: eglSwapInterval fix
SW egl returned always EGL_FALSE even when the display was valid.
This made calls to eglSwapInterval to fail on HW since the wrapper
fails if either SW or HW egl fails.

Letting SW eglSwapInterval to return true when display is valid is
ok since spec says that interval parameter is silently clamped.

Change-Id: Ib4aa1dbfccf510a0f36621796e79a4d46852ee6a
2010-10-06 16:44:37 -07:00
Jim Shuma
257d2bbcbf Initial checkin of a framerate test app
Measures the time to do nothing but clear the screen in an
OpenGL Java app. Spews frame time statistics to the log.

Control long frame time by setting debug.longframe_ms;
e.g., adb shell setprop debug.longframe_ms 33

Change-Id: I435a3cb170048349e00417c44db42121c68744b2
2010-09-28 14:59:20 -07:00
Mathias Agopian
30faafb7d3 am 4eb1ad5e: am 524a6d8e: Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread
Merge commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e'

* commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e':
  better fix for [3028370] GL get error should return a valid error if no context is bound.
2010-09-23 21:41:30 -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
aa22d20554 am 9c4d7d67: am 5c6c5c7a: fix [3028370] GL get error should return a valid error if no context is bound.
Merge commit '9c4d7d677097981a349c718902e29050dad3d59f'

* commit '9c4d7d677097981a349c718902e29050dad3d59f':
  fix [3028370] GL get error should return a valid error if no context is bound.
2010-09-23 13:28:47 -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
cd2c51cf45 am d01ce192: am 9d5fac51: Merge "fix small bug in EGL error management" into gingerbread
Merge commit 'd01ce1924a51539c4d47ef1f55913bdf1a018124'

* commit 'd01ce1924a51539c4d47ef1f55913bdf1a018124':
  fix small bug in EGL error management
2010-09-22 14:41:45 -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
f3c24f8703 Merge "fix typo EGL_NO_IMAGE_KHR -> EGL_NO_SYNC_KHR" 2010-09-22 14:15:15 -07:00
Jack Palevich
d7a4f91401 Add simple interactive end-to-end latency test.
Change-Id: I4c2f2acf797a3a753f8a6061db3d2bcdc7d642f0
2010-09-22 12:13:02 -07:00
Mathias Agopian
a93b957e8e fix typo EGL_NO_IMAGE_KHR -> EGL_NO_SYNC_KHR
Change-Id: I38c87803e32030918f2deb06381eabce0faa870c
2010-09-21 16:22:10 -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
04b9ff8e26 am 5c746522: am 181e5ea8: Merge "support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl" into gingerbread
Merge commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7'

* commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7':
  support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
2010-09-20 19:32:01 -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
fe0a0af7bd am 793b2293: am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread
Merge commit '793b2293797ea930078640c4827d3cbdf449c227'

* commit '793b2293797ea930078640c4827d3cbdf449c227':
  surfaceflinger / GL extensions cleanup
2010-09-16 18:26:19 -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
c291f58585 Add support for KHR_fence_sync
Change-Id: Ie2771b5869c9c8dcf5ecf9318e2ee6d4d1cd5cc9
2010-09-10 14:01:45 -07:00
Jason Sams
9e14a3404b Merge "Rework gl perf test to focus on important use cases." 2010-09-09 14:51:56 -07:00
Mathias Agopian
0b30bf5782 am 45bd9946: am fec5d38b: Merge "option to enable multisampling" into gingerbread
Merge commit '45bd99466ce9962778eacaefff1c0a44bb268f0c'

* commit '45bd99466ce9962778eacaefff1c0a44bb268f0c':
  option to enable multisampling
2010-09-09 14:23:09 -07:00
Mathias Agopian
acd8fd0493 am a9ff29b5: am 6808e6a8: Merge "Fix a few typos in EGL wrapper" into gingerbread
Merge commit 'a9ff29b59cf33e552285a0bff3caf7a44f93f1c0'

* commit 'a9ff29b59cf33e552285a0bff3caf7a44f93f1c0':
  Fix a few typos in EGL wrapper
2010-09-09 14:21:55 -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
e3372bd6f0 am 099aa9a1: am edbb8083: Merge "add a fps counter to sanangeles demo" into gingerbread
Merge commit '099aa9a1b4eaf6536decbcafac43476c4908ef24'

* commit '099aa9a1b4eaf6536decbcafac43476c4908ef24':
  add a fps counter to sanangeles demo
2010-09-08 19:04:07 -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
Jason Sams
74b28e45c3 Rework gl perf test to focus on important use cases.
Change-Id: I82825dbe3b24a520b79f6b05d01f37e1b5008b62
2010-09-08 15:48:53 -07:00
Mathias Agopian
8e4b5a3e6a Add KHR_gl_texture_2D_image extension string. 2010-08-27 16:08:03 -07:00
Mathias Agopian
27e2fac337 cleanup EGL a bit. remove unused extension.
Change-Id: I7758bc7d6dc2e70fc3590fe939ebf71fbcde7059
2010-08-27 15:30:16 -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
d56f54b269 am b3aaf3ba: am bccfcd95: Merge "fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used." into gingerbread
Merge commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a'

* commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a':
  fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
2010-08-21 09:42:53 -07:00
Mathias Agopian
c3fb41b1db am 43647129: am 17da0663: Merge "fix [2931161] crash in labyritnth when completing a level" into gingerbread
Merge commit '43647129d676e8c802850ca493f2ebc6064a4a1a'

* commit '43647129d676e8c802850ca493f2ebc6064a4a1a':
  fix [2931161] crash in labyritnth when completing a level
2010-08-21 09:34:22 -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
62d59ed785 am a4ed1c67: am 1e4aa48c: Merge "fix [2912927] Can\'t get NV_draw_path extension to work" into gingerbread
Merge commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac'

* commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac':
  fix [2912927] Can't get NV_draw_path extension to work
2010-08-16 07:49:24 -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
5d708a5916 am 553a333d: am 603a34ee: Merge "improve a bit the implementation of eglGetProcAddress" into gingerbread
Merge commit '553a333d4446bb34330da92f02daa515dc597939'

* commit '553a333d4446bb34330da92f02daa515dc597939':
  improve a bit the implementation of eglGetProcAddress
2010-08-10 13:55:34 -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
Romain Guy
761eaed2ff Fix tons of bugs and add new text rendering support.
Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
2010-08-10 12:22:01 -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
ff1448b53f am d12a98e2: am 9abce39a: Merge "fix [2421247] implement eglGetProcAddress(), needed in the ndk" into gingerbread
Merge commit 'd12a98e2b1eb3a2ae20eace8a7d4b5fa13bbedfb'

* commit 'd12a98e2b1eb3a2ae20eace8a7d4b5fa13bbedfb':
  fix [2421247] implement eglGetProcAddress(), needed in the ndk
2010-08-04 11:12:25 -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
90f7672a6f am 67e4ff76: am 4d7fc365: Merge "remove copybit hack from software opengl (libagl)" into gingerbread
Merge commit '67e4ff768d71088a64fbac3b8e398e2e16dd84ec'

* commit '67e4ff768d71088a64fbac3b8e398e2e16dd84ec':
  remove copybit hack from software opengl (libagl)
2010-07-31 12:19:26 -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
bcfcddf94a am eb248a58: am 55a76dd8: Merge "fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface()." into gingerbread
Merge commit 'eb248a58fabac31873982e4f389ba81981f4041f'

* commit 'eb248a58fabac31873982e4f389ba81981f4041f':
  fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
2010-07-29 22:25:15 -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
Jason Sams
7920987182 Update filltest.
Change-Id: I37f2bde9898046eafb6431519dae78bf6f368f05
2010-07-21 15:24:02 -07:00
Jack Palevich
3e9eb868b3 Fix extraMath state variable.
Change-Id: Iba76d3e4e3bab0b993d176755f588201c8a967cd
2010-07-19 18:01:39 -07:00
Jack Palevich
92a9ae4a02 Try to handle end-of-application better.
Handle rotation from portrait to landscape by restarting test if not
finished.

Don't write blank line to csv file.

Change-Id: I154443138817bcec9530123c8388fcf659632336
2010-07-19 17:52:12 -07:00
Jack Palevich
63bcb5f8e2 Write test timings to /sdcard/glperf.csv
Change-Id: If09e209a9d8049f03320dbd7df257137bf06949e
2010-07-19 17:39:52 -07:00
Jack Palevich
965b95468d Keep screen on for whole test.
Print only one set of timings per test.

Draw blank black screen when done.

Change-Id: I963bcbca99ff5975683b15e60437978eb1a8beb8
2010-07-19 17:01:25 -07:00
Jack Palevich
eb69d2ae19 An application version of the GL test.
Change-Id: Ibcccdf2560eb24d3037c02c4740f0048b60d070c
2010-07-19 16:27:54 -07:00
Jason Sams
e0f1cff1fa gl perf test cleanup.
Change-Id: Ic486774e25421bd2f412f0ba2bbac4660e3982b8
2010-07-12 11:59:34 -07:00
Andy McFadden
a5c381fd51 Fix build.
Added missing #include <string.h>.

Change-Id: Idf151876851110098fe538a042f896784821919b
2010-07-12 09:17:13 -07:00
Jason Sams
e448dd1a4f Remove points from fixed function.
Add basic GL performance test.

Change-Id: I421a41b6683b2c5f70045cdd0f610a6939105fee
2010-07-09 15:34:32 -07:00
Mathias Agopian
c64622bcb0 am 5219a82f: am 8ecfb60a: Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread
Merge commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d'

* commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d':
  Fix a bug that prevented the creation of EGL shared contexts.
2010-07-02 13:39:38 -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
Mathias Agopian
bf83375c73 Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread 2010-07-02 12:32:33 -07:00
Jamie Gennis
4c39f8f9e2 Fix a bug that prevented the creation of EGL shared contexts.
Change-Id: I6b0ec5ef86abdd4e9083067ba297107cfb094df3
2010-07-02 12:05:07 -07:00
Jean-Baptiste Queru
d26e345f29 resolved conflicts for merge of f601ce2c to master
Change-Id: I9e880aacef9d949d83945d41ee5b6eb63ddc4cc7
2010-07-02 07:46:21 -07:00
The Android Open Source Project
3541b20f6f merge from open-source master
Change-Id: Ifec16490ea2170728cb6ccb18d2e74fcb3478db6
2010-07-02 07:38:30 -07:00
Dianne Hackborn
ed2b843c91 am 177c405a: am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread
Merge commit '177c405a242e811b1010bd8382b5807ab8df31a8'

* commit '177c405a242e811b1010bd8382b5807ab8df31a8':
  Introduce official public NativeWindow type.
2010-06-30 16:11:21 -07:00
Dianne Hackborn
d729836ff8 am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread
Merge commit 'c6e1d88022db800773401c16803e1ab27fd01a7e' into gingerbread-plus-aosp

* commit 'c6e1d88022db800773401c16803e1ab27fd01a7e':
  Introduce official public NativeWindow type.
2010-06-30 16:08:24 -07:00
Dianne Hackborn
4b5e91e482 Introduce official public NativeWindow type.
Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
2010-06-30 15:32:04 -07:00
Bruce Beare
a1a79197c0 Fix missing NL
Change-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-06-25 09:08:12 -07:00
Jack Palevich
037256be7e am 1e08cc1d: am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Merge commit '1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c'

* commit '1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c':
  Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
2010-06-23 10:30:34 -07:00
Mathias Agopian
243ce507c4 am cefb8858: am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread
Merge commit 'cefb88587443323d147e687ff78eae9195eb584c'

* commit 'cefb88587443323d147e687ff78eae9195eb584c':
  Added support for the GL_TEXTURE_EXTERNAL target
2010-06-23 10:17:56 -07:00
Jack Palevich
0a51628683 am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Merge commit '224107a421e2611b15d1ec736df54bca9ee3e78d' into gingerbread-plus-aosp

* commit '224107a421e2611b15d1ec736df54bca9ee3e78d':
  Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
2010-06-22 05:16:24 -07:00
Jack Palevich
b3ffef9dfe Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
2010-06-22 20:08:40 +08:00
Mathias Agopian
38c371361b am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread
Merge commit '28333315c6f62b303de2ec0ac9e48158ed419f06' into gingerbread-plus-aosp

* commit '28333315c6f62b303de2ec0ac9e48158ed419f06':
  Added support for the GL_TEXTURE_EXTERNAL target
2010-06-21 15:14:29 -07:00
Jean-Baptiste Queru
ff5f34f3c9 Recover a handful of commits that were reverted earlier 2010-06-21 13:46:59 -07:00
The Android Open Source Project
ecfae4c86a merge from froyo-plus-aosp
Change-Id: I36dd4460cae6e3212d724e70ff1091cb791670cd
2010-06-21 11:23:45 -07:00
Mathias Agopian
0a91775c4d Added support for the GL_TEXTURE_EXTERNAL target
This will allow us to support YUV surfaces.

Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
2010-06-15 17:31:17 -07:00
The Android Open Source Project
0acbc14307 merge from open-source master
Change-Id: I12af4b88c1881a6a120031459bc63d87b1dd4956
2010-06-15 11:34:57 -07:00
Mathias Agopian
21f82d43d6 am e52d66fa: am 44bea8f8: Merge changes I00274431,I83be9404,I0359531a,Iceef1e95 into kraken 2010-06-09 19:57:01 -07:00
Mathias Agopian
e81a3cb2bd update EGL headers to the latest
note that this doesn't update the EGL stubs.

Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
2010-06-09 18:56:05 -07:00
Mathias Agopian
11cca925b2 update GL ES stub libraries with the new GL ES headers
Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
2010-06-09 18:20:21 -07:00
Mathias Agopian
05bb9c973b fix OpenGL ES extension headers from khronos
the official headers have a couple typos, which
this CL fixes.

Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
2010-06-09 18:19:11 -07:00
Mathias Agopian
8f62c3031e update the OpenGL ES headers to the latest
Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
2010-06-09 18:08:15 -07:00
Mathias Palmqvist
a409e195fe Use stride for source and target buffers when copybit is enabled.
Change-Id: Ie651013b3522f8e004685d74190da86433086307
2010-06-02 16:03:04 +02:00
Mathias Agopian
fa5ec24a58 am df9556f3: am 23100fd1: Merge "fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfig" into kraken 2010-05-17 14:59:13 -07:00
Mathias Agopian
04aed2149d fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfig
the EGL specification states that this should be treated as though it was
an empty list terminated with EGL_NONE.

Change-Id: I294104370a86b5e5c34c7bcf15c5459eab464631
2010-05-17 14:45:43 -07:00
The Android Open Source Project
92677d978d am 1b7e3ef4: am 55bef14f: am fb234bbe: merge from open-source master 2010-05-12 12:16:45 -07:00
The Android Open Source Project
e4582835f0 am fb234bbe: merge from open-source master
Merge commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2' into kraken

* commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2':
  Notify user regarding invalid number during MO call.
  Build software AGL library with correct get_tls() macro for ARMv7 based platforms
  Fix glReadPixels() to verify that both x and y are non-negative.
2010-05-12 12:13:18 -07:00
The Android Open Source Project
c77a20a9d6 merge from open-source master
Change-Id: I022d0781a232396e2b8a67a420ecf50e64b87d8c
2010-05-12 11:58:14 -07:00
Mathias Agopian
b0eed511a2 Merge "Build software AGL library with correct get_tls() macro for ARMv7 based platforms" 2010-05-10 20:28:02 -07:00
Mathias Agopian
32a220aa6e Merge "Fix glReadPixels() to verify that both x and y are non-negative." 2010-05-10 20:26:24 -07:00
Jack Palevich
9d665b9fc9 Declare that testViewport targets Froyo APIs
(So that it can be built in Master, but run in
Froyo.)
2010-04-29 18:45:11 +08:00
Mathias Agopian
b282219d5e am c0fa6589: am cf2bd285: Merge "small cleanup. gEGLImpl should have been static" into kraken 2010-04-10 11:43:17 -07:00
Mathias Agopian
bf41b11ef8 small cleanup. gEGLImpl should have been static
also added a ctor to initialized it in case we use it ont he stack
one day.

Change-Id: I2736b9bce3d8ba3b74fd029de4c18cca2cdbbf60
2010-04-09 14:26:07 -07:00
The Android Open Source Project
f22092a1eb am 4790259c: am 8de2cf4c: merge from open-source master 2010-03-31 14:23:19 -07:00
The Android Open Source Project
45ef27a260 merge from open-source master
Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
2010-03-31 14:01:45 -07:00
Jack Palevich
80505806c4 Merge "Add a test program for Sapphire viewport rotation issue." 2010-03-29 16:12:11 -07:00
Jack Palevich
fbbbb7c855 Add a test program for Sapphire viewport
rotation issue.
2010-03-29 16:04:21 -07:00
Mathias Agopian
8fb47ec10e Fix Android's glEGLImageTargetRenderbufferOES() wrapper
glEGLImageTargetRenderbufferOES() pass the wrapped EGLImage
to the implementation, rather than the unwrapped one.

Change-Id: I149f9ed73e6ab9089110600e1db4311ba7a8c83a
2010-03-29 15:12:19 -07:00
Jack Palevich
4b1409812a Add a test of EGL pausing and resuming. 2010-03-29 12:16:55 -07:00
Jack Palevich
4fb265e877 Add a test of EGL pausing and resuming. 2010-03-29 12:09:57 -07:00
Mathias Agopian
988fce5ee5 fix [2236865] STOPSHIP: bump soft gl and egl minor version number
this is to allow developpers to deal with potiential differences
between the softgl versions.

Change-Id: I7ec2451d6af1be29818d66215b22977405d403e8
2010-03-25 20:21:12 -07:00
Jae-Hyung Ahn
7efc2fc955 gl_code : add end of line.
Signed-off-by: Jae-Hyung Ahn <jerry.ahn@windriver.com>
2010-03-24 10:15:41 -07:00
Jack Palevich
81cd084485 Implement eglInitialize / eglTerminate reference counting
Previously we imlpemented the standard semantics for
eglInitialize / eglTerminate, which are that
eglInitialize may be called any number of times,
but the first call to eglTerminate will terminate
the display.

Now we follow reference-countins semantics, which
means that eglTerminate will only terminate the
display when the reference count returns to zero.

This change allows EGL to be used by multiple
independently written modules in the same process.

(Otherwise there is no way for the independent
modules to coordinate their use of the display.)
2010-03-15 21:21:51 -07:00
Jack Palevich
7c5fe4c4f6 Fix glCopyTexSubImage2D inverted texture bug.
This bug only affects the software OpenGL ES
driver.
2010-03-12 17:32:26 -08:00
Kenny Root
bd393b7f39 Add correct copyright headers to multiple files
Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
2010-03-11 18:22:10 -08:00
Magnus Landqvist
d08583b05c Build software AGL library with correct get_tls() macro for ARMv7 based platforms
This prevents crashes on snapdragon processors.
2010-02-19 12:06:59 +01:00
Mathias Agopian
54ed4f6282 get rid off the YUV formats at the libui layer 2010-02-16 17:33:37 -08:00
Mathias Agopian
82c19b101e Merge "fix [2189862] Race condition in eglIntialize and eglDestroy" 2010-02-05 18:37:17 -08:00
Mathias Agopian
75bc27803e fix [2189862] Race condition in eglIntialize and eglDestroy
there is now a lock protext a perticular display. it's held during
initialization and destruction.
2010-02-05 16:17:01 -08:00
Mathias Agopian
8dccb26901 Proper EGLImageKHR error handling
Validate EGLImageKHR format and return an error for unsupported ones.
Also make sure to return an error when binding EGL_NO_IMAGE_KHR to a texture
2010-02-04 17:04:53 -08:00
Mathias Agopian
04a3f57d19 fix [2133133] Software OpenGL ES Lighting is buggy (GL Gears washed out bug)
A typo caused GL_AMBIENT_AND_DIFFUSE to only set the the ambient color.

Fix another typo which caused the viewer position to be wrong for
specular highlights.

Switch back to eye-space lighting, since there are still some issues
with some demos (San Angeles in particular).
2010-02-03 12:13:15 -08:00
Jack Palevich
0673586371 Fix ETC1 texture decoding.
etc1_decode_image requires the stride argument to be in bytes, but the
surface->stride field is in pixels. Convert by multiplying by pixel size.
2010-02-02 22:50:39 -08:00
Mathias Agopian
18b915a102 implement [2396050] Add ETC1 texture support to AGL 2010-02-02 20:19:54 -08:00
Mathias Agopian
fda42f318a fix [2397853] glCopyTexImage2D crashes emulator
Fixed a typo which would cause a buffer overflow
2010-02-01 13:45:08 -08:00
Mike Playle
a48c654e82 Fix glReadPixels() to verify that both x and y are non-negative. 2010-01-29 09:52:22 +00:00
Jack Palevich
e44e45c454 Implement the GL11ExtensionPack APIs. 2010-01-28 20:28:32 +08:00
Mathias Agopian
45351bcae5 fix [2341222] AGL version of glDrawTexxOES doesn't handle "Z" value correctly 2010-01-25 11:49:52 -08:00
Mathias Agopian
8063c3ab04 fix [2303866] eglMakeCurrent doesn't return all error messages described in the spec 2010-01-25 11:30:11 -08:00
Gary King
9166f7bfa7 Use correct TLS codepath in graphics libraries
Duplicate ARCH_ARM_HAVE_TLS_REGISTER BoardConfig to proprocessor
HAVE_ARM_TLS_REGISTER define from Bionic's libc Android.mk to ensure that
OpenGL libraries (libEGL, libGLESv1_CM, libGLESv2, libGLES_android) use the
correct codepath in bionic_tls.h for accessing the TLS address
2010-01-12 17:35:35 -08:00
Jack Palevich
91ea437c47 am 6d0f6c78: Merge "DO NOT MERGE A library for encoding and decoding ETC1 textures." into eclair
Merge commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5' into eclair-plus-aosp

* commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5':
  DO NOT MERGE A library for encoding and decoding ETC1 textures.
2010-01-09 21:54:28 -08:00
Romain Guy
e8b6618c4c Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
2010-01-08 15:11:38 -08:00
Jack Palevich
618c755192 DO NOT MERGE A library for encoding and decoding ETC1 textures.
The ETC1 compressed texture format is commonly
supported by OpenGL ES 2.0-capable devices.

This change adds a host-only version of the library. It is used by
the etc1tool.
2010-01-08 16:00:21 +08:00
Jean-Baptiste Queru
837edec5e3 Do not use a user tag on apps, as it is ignored.
The build system does not honor user tags on apps,
and setting it is misleading.

This removes the confusion by making the makefiles
behave like they read.

Change-Id: I7c5feba1c7d07f915b97dd098584f29938a4c885
2010-01-06 08:53:44 -08:00
Jack Palevich
01cc538b29 A library for encoding and decoding ETC1 textures.
The ETC1 compressed texture format is commonly
supported by OpenGL ES 2.0-capable devices.
2009-12-31 13:31:04 +08:00
Jack Palevich
909486a7cb Print OpenGL version and extension information.
Something happened to the line endings, adding
a blank line after most lines of text. I
repaired the damage, but in the process some
blank lines have been added / removed.
2009-12-24 11:09:56 +08:00
Android (Google) Code Review
5233a4e1b7 Merge change I5ddc721d
* changes:
  Add misssing symbol type directives.
2009-12-09 16:07:57 -08:00
Doug Kwan
9054ddfcd7 Add misssing symbol type directives. 2009-12-08 11:22:38 -08:00
Jack Palevich
66089a33ea Implement Matrix Palette extension.
Adds support for formerly-unimplemented methods:

glCurrentPaletteMatrixOES
glLoadPaletteFromModelViewMatrixOES
glMatrixIndexPointerOES
glWeightPointerOES

The bulk of the changes are related to implementing the two PointerOES
methods, which are implemented pretty much the same way as the existing
Pointer methods were implemented.

This change also changes the way glPointSizePointerOES is implemented,
making it act like all the other Pointer methods. (Previously it was
not handling non-direct-buffer arguments correctly.)

Fixes bug 2308625 "Support matrix palette skinning
in JSR239 and related APIs"

Also updated GLLogWraper to fix two bugs in GLLogWrapper that were
discovered while testing matrix palette skinning support:

a) Handle trying to print the contents of null-but-enabled buffers.
(It's not legal to draw with null-but-enabled buffers, and
in fact some OpenGL drivers will crash if you try to render in this
state, but there's no reason the GLLogWrapper should crash while trying
to debug this situation.

b) Don't read off the end of a vertex buffer with non-zero position when
printing the entire contents of the vertex buffer. Now we only print from
the current position to the end of the buffer.
2009-12-08 15:43:51 +08:00
Mathias Agopian
87d295375b am 7671c088: am 77f17095: am 533a2803: Merge change I18ffb549 into eclair
Merge commit '7671c088cd5e6ce938c89939f55ead6629bd6516'

* commit '7671c088cd5e6ce938c89939f55ead6629bd6516':
  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-12-01 18:51:49 -08:00
Mathias Agopian
69fec4726b am 77f17095: am 533a2803: Merge change I18ffb549 into eclair
Merge commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2' into eclair-mr2-plus-aosp

* commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2':
  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-12-01 18:41:42 -08:00
Mathias Agopian
ea5b203790 am 533a2803: Merge change I18ffb549 into eclair
Merge commit '533a2803506cc4f196403fdfafd948bd4f8e60d9' into eclair-mr2

* commit '533a2803506cc4f196403fdfafd948bd4f8e60d9':
  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-12-01 17:13:50 -08:00
Mathias Agopian
f9f36b5ecd am 533a2803: Merge change I18ffb549 into eclair
Merge commit '533a2803506cc4f196403fdfafd948bd4f8e60d9' into eclair-plus-aosp

* commit '533a2803506cc4f196403fdfafd948bd4f8e60d9':
  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-11-30 12:17:52 -08:00
Mathias Agopian
f74573486d fix [2069023] STOPSHIP: disable DEBUG_COPYBIT 2009-11-30 12:10:53 -08:00
Mathias Agopian
87d0958b9e am 8e9af2bd: am b439f561: am 13feccf5: Merge change I39f0003e into eclair
Merge commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e'

* commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e':
  fix [2235414] libagl glDeleteBuffers() crashes
2009-11-19 19:16:58 -08:00
Mathias Agopian
1850ea3a03 am b439f561: am 13feccf5: Merge change I39f0003e into eclair
Merge commit 'b439f561a6aa3900f1850e71a4aa60618af13f90' into eclair-mr2-plus-aosp

* commit 'b439f561a6aa3900f1850e71a4aa60618af13f90':
  fix [2235414] libagl glDeleteBuffers() crashes
2009-11-19 19:12:01 -08:00
Mathias Agopian
8386ce0d5b am 13feccf5: Merge change I39f0003e into eclair
Merge commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae' into eclair-mr2

* commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae':
  fix [2235414] libagl glDeleteBuffers() crashes
2009-11-19 19:07:36 -08:00
Mathias Agopian
935b3deec9 am 13feccf5: Merge change I39f0003e into eclair
Merge commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae' into eclair-plus-aosp

* commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae':
  fix [2235414] libagl glDeleteBuffers() crashes
2009-11-19 19:07:17 -08:00
Mathias Agopian
a750fc0bf8 fix [2235414] libagl glDeleteBuffers() crashes
don't dereference null pointers, would happen if one of the array wasn't bound.
2009-11-19 17:32:05 -08:00
Jack Palevich
378112ebed Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context
Provide a new method, GLSurfaceView.setEGLContextClientVersion. Clients
call this method to define which level of OpenGL ES support they want.

This method only affects the default behavior of GLSurfaceView. If clients
have supplied their own EGLContextFactory or EGLConfigChooser then they
are on their own if they want to create an OpenGL ES 2.0 context.

This API is currently hidden.

Update the gl2_java test to use this new API.

Update the gl2_java test's AndroidManifest.xml file to indicate that
it requires OpenGL ES 2.0.
2009-11-19 19:08:52 +08:00
Jack Palevich
50d0b14689 Add a Java API for OpenGL ES 2.0.
Currently this API is hidden.

Add a test program.
2009-11-19 16:34:55 +08:00
Jean-Baptiste Queru
daeaa536fa merge from eclair 2009-11-15 12:06:23 -08:00
Jean-Baptiste Queru
cc8c35cee5 eclair snapshot 2009-11-13 13:53:39 -08:00
Mathias Agopian
385d991432 am da5e90be: am 66b5d902: am 27407208: Merge change Icf335098 into eclair
Merge commit 'da5e90bee443129511e231e9078a134626b87541'

* commit 'da5e90bee443129511e231e9078a134626b87541':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-13 10:51:07 -08:00
Mathias Agopian
c656e03674 am 66b5d902: am 27407208: Merge change Icf335098 into eclair
Merge commit '66b5d902a29e08237f16be53a84f9c2472df8493' into eclair-mr2-plus-aosp

* commit '66b5d902a29e08237f16be53a84f9c2472df8493':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-13 09:26:24 -08:00
Mathias Agopian
fb10b6f278 am 27407208: Merge change Icf335098 into eclair
Merge commit '274072089ceff6eacb9ccfb59290a18f43739c87' into eclair-mr2

* commit '274072089ceff6eacb9ccfb59290a18f43739c87':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-12 23:06:15 -08:00
Mathias Agopian
ffd6583e15 am 27407208: Merge change Icf335098 into eclair
Merge commit '274072089ceff6eacb9ccfb59290a18f43739c87' into eclair-plus-aosp

* commit '274072089ceff6eacb9ccfb59290a18f43739c87':
  fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-12 19:08:01 -08:00
Mathias Agopian
1eeffc6814 fix [2236865] STOPSHIP: bump soft gl and egl minor version number 2009-11-12 15:19:42 -08:00
Mathias Agopian
e3b6e045b5 am c6ed8100: am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair
Merge commit 'c6ed8100c2385596117a033e999519e31c5c1c0e'

* commit 'c6ed8100c2385596117a033e999519e31c5c1c0e':
  fix [2071412] work around mdp 32-bits fade limitation
2009-11-09 19:42:29 -08:00
Mathias Agopian
51f7605e37 am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair
Merge commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13' into eclair-mr2-plus-aosp

* commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13':
  fix [2071412] work around mdp 32-bits fade limitation
2009-11-09 19:38:43 -08:00
Mathias Agopian
cf3289cd9c am c421fc2a: Merge change Id09376d1 into eclair
Merge commit 'c421fc2ada7c1bff104733b840bd640151bebbbb' into eclair-mr2

* commit 'c421fc2ada7c1bff104733b840bd640151bebbbb':
  fix [2071412] work around mdp 32-bits fade limitation
2009-11-09 19:34:59 -08:00
Mathias Agopian
60625acb24 am c421fc2a: Merge change Id09376d1 into eclair
Merge commit 'c421fc2ada7c1bff104733b840bd640151bebbbb' into eclair-plus-aosp

* commit 'c421fc2ada7c1bff104733b840bd640151bebbbb':
  fix [2071412] work around mdp 32-bits fade limitation
2009-11-09 19:34:26 -08:00
Mathias Agopian
198340395d fix [2071412] work around mdp 32-bits fade limitation
make sure to always specify blits *inside* the source bitmap.
2009-11-09 17:55:59 -08:00
Jean-Baptiste Queru
959a7af45e am ac94fbd0: merge from open-source master
Merge commit 'ac94fbd081450ae7f208e4525b23b36d90d382e0'

* commit 'ac94fbd081450ae7f208e4525b23b36d90d382e0':
  Capture failure of copybit->stretch()
  Fix obvious typo bug in egl.cpp
  LocationManagerService: Fix race when removing LocationListener
  Don't return when blocking is true.
  Fix of compatibility with multifunction extUSB adapters.
  Fix documentation example, per issue 895 on android.googlecode.com
2009-11-09 12:08:48 -08:00
Jean-Baptiste Queru
ff230a51f5 merge from open-source master 2009-11-09 11:00:18 -08:00
Jean-Baptiste Queru
143b2a789c merge from open-source master 2009-11-08 17:03:30 -08:00
Mathias Agopian
cd220deff0 am ba37ea55: am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f'

* commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 15:20:59 -08:00
Mathias Agopian
d8fe3745a9 am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer
Merge commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469' into eclair-mr2

* commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469':
  part of fix [2186418] switch passion to 24-bits framebuffer
2009-11-04 14:59:44 -08:00
Mathias Agopian
8b6b95abae part of fix [2186418] switch passion to 24-bits framebuffer
add support for RGBX_8888 EGLConfigs in the software renderer
(since that's what we're using in the MDP case)
2009-11-04 14:51:18 -08:00
Mathias Agopian
bd51415831 am 43606242: am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '4360624241251035534a46449e23be38d9e6b03c'

* commit '4360624241251035534a46449e23be38d9e6b03c':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:46:42 -08:00
Mathias Agopian
7617b91eb8 am 9a54d7dd: Merge change Ibbf945f3 into eclair
Merge commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb' into eclair-mr2

* commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb':
  fix [2236832] software OpenGL ES driver doesn't work on sholes
2009-11-04 13:14:59 -08:00
Mathias Agopian
bc4929117d fix [2236832] software OpenGL ES driver doesn't work on sholes
make sure to not pass our fake handles to the real gralloc
2009-11-03 21:08:06 -08:00
Mathias Agopian
333bbc6e59 am 4e90c907: am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair
Merge commit '4e90c907f4fb222901f9db07a1f603c01211868d'

* commit '4e90c907f4fb222901f9db07a1f603c01211868d':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:26:21 -08:00
Mathias Agopian
291483b1eb am 21977eb0: Merge change I56981989 into eclair
Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-mr2

* commit '21977eb0f1d22497d0beed0492e579f953a56552':
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 15:11:11 -08:00
Android (Google) Code Review
33e18e4ec7 Merge change I56981989 into eclair
* changes:
  fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 18:04:49 -05:00
Mathias Agopian
88e15346c9 am d1d744cd: am 07d38c66: am 8637759a: Merge change I36d0184e into eclair
Merge commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e'

* commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 10:04:07 -08:00
Mathias Agopian
f95646a713 am 8637759a: Merge change I36d0184e into eclair
Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-mr2

* commit '8637759a1d34a4adda292579d5f8790587659235':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 09:34:40 -08:00
Mathias Agopian
b44efdc6ba fix [2231527] Compatibility with SpaceJunk game (OpenGL)
we treated all lights as local lights when transforming their
position back to object space.
2009-11-02 18:33:08 -08:00
Mathias Agopian
6fee064809 fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
2009-11-02 17:48:33 -08:00
Iliyan Malchev
5593cdc2a9 am cb80b4f1: am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42'

* commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42':
  libagl: silence a LOGD
2009-11-01 21:56:52 -08:00
Mathias Agopian
f90c83b3f1 am 78383abf: am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e'

* commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e':
  Turns out the SGX driver is correct and the bug was in this test.
2009-11-01 21:56:22 -08:00
Mathias Agopian
f024252c15 am c64e9346: am d85545d0: am d01767f8: Merge change I56779290 into eclair
Merge commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc'

* commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc':
  fix[2222341] Soft reset while going back from camcorder settings
2009-11-01 21:54:55 -08:00
Mathias Agopian
bc55586e88 am 5acbf81a: am 74d4640c: am f989c114: Merge change If007a2fa into eclair
Merge commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e'

* commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e':
  return proper error code from eglCreateImageKHR
2009-11-01 21:54:44 -08:00
Iliyan Malchev
e0c077d915 am 05cb5610: Merge change I8c0eb9a6 into eclair
Merge commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219' into eclair-mr2

* commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219':
  libagl: silence a LOGD
2009-10-30 18:35:51 -07:00
Iliyan Malchev
d95c322af3 libagl: silence a LOGD
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-30 18:29:08 -07:00
Mathias Agopian
39e0df0355 am 77bd91f8: Merge change Ie3e80456 into eclair
Merge commit '77bd91f8af44867935ea2df22f69fb244b009b94' into eclair-mr2

* commit '77bd91f8af44867935ea2df22f69fb244b009b94':
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 17:07:49 -07:00
Android (Google) Code Review
964d94306b Merge change Ie3e80456 into eclair
* changes:
  Turns out the SGX driver is correct and the bug was in this test.
2009-10-30 19:40:09 -04:00
Mathias Agopian
6c7d04b1d0 Turns out the SGX driver is correct and the bug was in this test.
make sure the 565 1-texel wide texture is specified with an alignment of 4
which is the OpenGL ES default.
2009-10-30 16:32:52 -07:00
Mathias Agopian
144fb0bbdf am d01767f8: Merge change I56779290 into eclair
Merge commit 'd01767f8b7038108f9125cd2122b117db9919824' into eclair-mr2

* commit 'd01767f8b7038108f9125cd2122b117db9919824':
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 15:01:57 -07:00
Mathias Agopian
5d0024b39b am f989c114: Merge change If007a2fa into eclair
Merge commit 'f989c1140bbc84480498df38abec0fafff04e6ee' into eclair-mr2

* commit 'f989c1140bbc84480498df38abec0fafff04e6ee':
  return proper error code from eglCreateImageKHR
2009-10-30 15:01:44 -07:00
Android (Google) Code Review
bd5a0027f4 Merge change I56779290 into eclair
* changes:
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 17:54:10 -04:00
Android (Google) Code Review
b4d8fbb1a7 Merge change If007a2fa into eclair
* changes:
  return proper error code from eglCreateImageKHR
2009-10-30 17:54:03 -04:00
Mathias Agopian
863e5fdde8 fix[2222341] Soft reset while going back from camcorder settings
add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger, without including
gralloc_priv.h
2009-10-30 14:48:50 -07:00
Mathias Agopian
bfa22dfca5 am 894449ac: am af7d2dda: am 5dc7a21c: Merge change I4e036287 into eclair
Merge commit '894449ac461e69cd40f10e9d3644555357a5ed82'

* commit '894449ac461e69cd40f10e9d3644555357a5ed82':
  update line test to expose some bug on SGX530 ed4
2009-10-29 20:19:26 -07:00
Mathias Agopian
e1e9073eff am 5dc7a21c: Merge change I4e036287 into eclair
Merge commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a' into eclair-mr2

* commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a':
  update line test to expose some bug on SGX530 ed4
2009-10-29 19:34:15 -07:00
Mathias Agopian
df2d929405 return proper error code from eglCreateImageKHR 2009-10-29 16:45:41 -07:00
Mathias Agopian
3810c2b6c6 update line test to expose some bug on SGX530 ed4 2009-10-29 15:47:12 -07:00
Mathias Agopian
645a6735a9 am 09976caf: am 2b770bbe: am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation
Merge commit '09976cafb14944f50ea4b3f7b5e8d5fc831f24ff'

* commit '09976cafb14944f50ea4b3f7b5e8d5fc831f24ff':
  fix [2071412] work around mdp 32-bits fade limitation
2009-10-29 14:45:58 -07:00
Mathias Agopian
f059ec8e7d am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation
Merge commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e' into eclair-mr2

* commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e':
  fix [2071412] work around mdp 32-bits fade limitation
2009-10-29 13:43:26 -07:00
Mathias Agopian
9450fcd661 am 2eca23d6: am a2151b2b: am 7bde36e6: added GL test for textured lines
Merge commit '2eca23d690379911a102729eecd35412d0c8be63'

* commit '2eca23d690379911a102729eecd35412d0c8be63':
  added GL test for textured lines
2009-10-29 02:05:33 -07:00
Mathias Agopian
2e9a555c5d am 64d3f44c: am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair
Merge commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5'

* commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5':
  fix [2143798] Need to figure out how to do video
2009-10-29 02:05:15 -07:00
Mathias Agopian
cab369082d am 7bde36e6: added GL test for textured lines
Merge commit '7bde36e64e66c81f0150d0372e1357a31f4ec704' into eclair-mr2

* commit '7bde36e64e66c81f0150d0372e1357a31f4ec704':
  added GL test for textured lines
2009-10-29 01:27:18 -07:00
Mathias Agopian
2cb90b3cc5 am 73e17015: Merge change I8d2de438 into eclair
Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-mr2

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
  fix [2143798] Need to figure out how to do video
2009-10-29 01:26:48 -07:00
Mathias Agopian
2ad8ec50a5 fix [2071412] work around mdp 32-bits fade limitation
in the case where we fade a 32-bits surface (ie: GL_MODULATE w/ a,a,a,a + blending),
we first make a copy of the background into a RGB buffer, then we blend the 32-bits
surface as usual (without the alpha component), and finally blend the copy of
the background on top with 1-a. This uses a lot of bandwidth, but no CPU time.
2009-10-28 14:49:44 -07:00
Mathias Agopian
32216166f1 added GL test for textured lines 2009-10-28 02:09:21 -07:00
Mathias Agopian
54ba51dff2 fix [2143798] Need to figure out how to do video
Use EGLImageKHR instead of copybit directly.
    We now have the basis to use streaming YUV textures (well, in fact
    we already are). When/if we use the GPU instead of the MDP we'll
    need to make sure it supports the appropriate YUV format.

    Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
2009-10-27 13:13:29 -07:00
Jack Palevich
3901f6bd04 am a9046729: am a2ec1f4c: am 8f89a1a3: Merge change Ic620a52b into eclair
Merge commit 'a904672996c60c4ec50439a8d2be04fd9bd6444c'

* commit 'a904672996c60c4ec50439a8d2be04fd9bd6444c':
  Add size checks for glBufferData and glBufferSubData
2009-10-23 17:55:49 -07:00
Jack Palevich
ef1839094d am 8f89a1a3: Merge change Ic620a52b into eclair
Merge commit '8f89a1a360465e08e81ceca3cb3042606a98668b' into eclair-mr2

* commit '8f89a1a360465e08e81ceca3cb3042606a98668b':
  Add size checks for glBufferData and glBufferSubData
2009-10-23 17:39:47 -07:00
Jack Palevich
5afdc87704 Add size checks for glBufferData and glBufferSubData
Without the size checks it's possible for calls to glBufferData
and glBufferSubData to read off the end of the Buffer object's
data, which can cause page faults.

Fix end-of-line characters for the "spec" files. (That's why
every line of these files is changed.)

Enhance our code emitter to properly handle bounds checks for
possibly-null pointers.
2009-10-21 11:02:44 -07:00
Mathias Agopian
1594854d7e am 18dc8826: am 992f4802: am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
Merge commit '18dc8826a2c7244a7a61c9c53113516416db4714'

* commit '18dc8826a2c7244a7a61c9c53113516416db4714':
  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
2009-10-19 16:43:15 -07:00
Mathias Agopian
dcf9e8cf5d am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
Merge commit 'b34d5d527596102ae7a040d787e4d8c336bf192b' into eclair-mr2

* commit 'b34d5d527596102ae7a040d787e4d8c336bf192b':
  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
2009-10-19 16:27:37 -07:00
Mathias Agopian
673d2dbaae Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
this will be needed for SMP, but would improve dispatching GL calls a bit
on armv6 and above.
2009-10-19 16:13:46 -07:00
Mathias Agopian
f39c13329b am 5a4c7a61: am 60714539: am 62df88bc: Merge change I0953c1d5 into eclair
Merge commit '5a4c7a61da8f8586a535661c73ce4681cb9bf111'

* commit '5a4c7a61da8f8586a535661c73ce4681cb9bf111':
  fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 15:55:51 -07:00
Mathias Agopian
feb0959742 am 62df88bc: Merge change I0953c1d5 into eclair
Merge commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b' into eclair-mr2

* commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b':
  fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 15:33:59 -07:00
Android (Google) Code Review
898300890d Merge change I0953c1d5 into eclair
* changes:
  fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 18:27:47 -04:00
Mathias Agopian
51f234aa2b am a4aa677d: am b263450f: am 3662f9ee: Merge change Ide4c8cbc into eclair
Merge commit 'a4aa677db36651e806f38e8aa7e8532da4f06b0d'

* commit 'a4aa677db36651e806f38e8aa7e8532da4f06b0d':
  fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 15:04:54 -07:00
Mathias Agopian
2058da44e9 am 220f052f: am cf4ff740: am 639d69fe: Merge change I88d11cfb into eclair
Merge commit '220f052f6103655e08cba6cfb1dc542b81ffab11'

* commit '220f052f6103655e08cba6cfb1dc542b81ffab11':
  one step towards fixing [2071412] work around mdp 32-bits fade limitation
2009-10-19 15:04:36 -07:00
Mathias Agopian
0985f6a4ea fix [2153873] EGL-1.4 software implementation misses surface attributes 2009-10-19 14:46:27 -07:00
Mathias Agopian
edd3ac3a88 am 3662f9ee: Merge change Ide4c8cbc into eclair
Merge commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c' into eclair-mr2

* commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c':
  fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 14:42:00 -07:00
Mathias Agopian
980a23abb4 am 639d69fe: Merge change I88d11cfb into eclair
Merge commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4' into eclair-mr2

* commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4':
  one step towards fixing [2071412] work around mdp 32-bits fade limitation
2009-10-19 14:41:48 -07:00
Android (Google) Code Review
e614aeaf32 Merge change Ide4c8cbc into eclair
* changes:
  fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 17:31:52 -04:00
Mathias Agopian
d13e46158a fix [2151588] glTexSubImage2D() allows pixel format conversion 2009-10-19 14:23:02 -07:00
Mathias Agopian
6dbedd7519 one step towards fixing [2071412] work around mdp 32-bits fade limitation
simplify the GL_MODULATE case and allow blending disabled with RGBA texture
2009-10-16 18:24:12 -07:00
Mathias Agopian
30c01a679d am 1ed0e43d: am 93942a5b: am 69fba87a: Merge change I6fc56997 into eclair
Merge commit '1ed0e43dac155db048ccc9152dc9425506099957'

* commit '1ed0e43dac155db048ccc9152dc9425506099957':
  fix [2187212] add support for GLESv2 dispatch based on TLS
2009-10-16 15:02:41 -07:00
Mathias Agopian
537728fcd3 am 69fba87a: Merge change I6fc56997 into eclair
Merge commit '69fba87ac16d1c10da81fc3213ae169c755797f4' into eclair-mr2

* commit '69fba87ac16d1c10da81fc3213ae169c755797f4':
  fix [2187212] add support for GLESv2 dispatch based on TLS
2009-10-16 14:33:10 -07:00
Mathias Agopian
618fa10949 fix [2187212] add support for GLESv2 dispatch based on TLS
Instead of using a different function pointer table for ES 1.x and ES 2.x,
we use a single one that is the union (sort|uniq) of both tables. Two
instances of this table are initialized with pointers to GL ES 1.x and GL ES 2.x
entry-points.
When a context is created, we store its version number and when it is bound to a
thread we set the approruiate table based on the stored version.

This introduce no penalty while dispatching gl calls to the right API version.

[Pending Dr No approval for MR1]
2009-10-14 02:06:37 -07:00
Jack Palevich
91d8ee34a7 am 09e7ef8a: am a5bfe52d: Merge change Ib3558f35 into eclair-mr2
Merge commit '09e7ef8aadb480349e9f63dcab155cb466296e92'

* commit '09e7ef8aadb480349e9f63dcab155cb466296e92':
  Make our choice of surface explicit.
2009-10-13 20:10:19 -07:00
Jack Palevich
d594fe1740 Make our choice of surface explicit. 2009-10-13 19:52:44 -07:00
Jack Palevich
9f73b7a5e4 am 65cc9418: am 332c7934: Merge change I69e21f5f into eclair-mr2
Merge commit '65cc9418af489bd98f3417f165b6837656383a1c'

* commit '65cc9418af489bd98f3417f165b6837656383a1c':
  GLDual test application.
2009-10-13 17:11:22 -07:00
Dima Zavin
1d8399bcd5 am 0b2dd95d: am 0c559a4b: am 98b3def2: Merge change I6261ab54 into eclair
Merge commit '0b2dd95d2ead61241688a121ae1c6a5092149ef6'

* commit '0b2dd95d2ead61241688a121ae1c6a5092149ef6':
  Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
2009-10-13 17:02:02 -07:00
Jack Palevich
9bd30f05e8 GLDual test application.
Draws two images at once, one GL based, one GL2 based.
2009-10-13 14:56:00 -07:00
Eric Fischer
1c03325f36 am 94f3a363: Merge branch \'eclair-plus-aosp\' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
Merge commit '94f3a36326ddecaa09787d795451b0a229fe111c'

* commit '94f3a36326ddecaa09787d795451b0a229fe111c':
  Remove STOPSHIP BT logging.
  BT API security audit: fix a couple of permission mistakes.
  Fix issue #2175693: Add vmallocinfo to dumpstate
  add a way to easily catch and log GL errors (compile time flag)
  GPS: Fix problem with SUPL when SUPL APN is already active.
  Import revised translations.  DO NOT MERGE
  Fix issue 2174002: After rejecting Call when device ringtone is mute and playing music, audio is not transfered to BT device.
  Import revised translations.  DO NOT MERGE
2009-10-13 12:04:49 -07:00
android-build SharedAccount
e66dfa02cc merged d7c18d7672f3ecbbcb2f5bec92fe54dd990cb8dd, w/conflict in opengl/tests/copybits/Android.mk 2009-10-12 12:23:37 -07:00
Dima Zavin
1533d8eabc am 98b3def2: Merge change I6261ab54 into eclair
Merge commit '98b3def2983e78409002cf406574bbc8eeef8bfd' into eclair-mr2

* commit '98b3def2983e78409002cf406574bbc8eeef8bfd':
  Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
2009-10-12 12:08:19 -07:00
Mathias Agopian
360c033029 am c5b09d8a: am 4ac45597: Merge change I15b0ebb9 into eclair
Merge commit 'c5b09d8a5f7bbf9545b1f2b2d69920fd115d3ecd'

* commit 'c5b09d8a5f7bbf9545b1f2b2d69920fd115d3ecd':
  a simple test app for gralloc
2009-10-12 11:19:04 -07:00
Jack Palevich
791212da2b am 7d638292: Merge change Ib4285d22 into eclair-mr2
Merge commit '7d638292969687ed4557d36e741e1275d2052fb0'

* commit '7d638292969687ed4557d36e741e1275d2052fb0':
  Change way we choose EGL surfaces to be compatible with the native
2009-10-12 11:18:32 -07:00
Christoffer Gurell
97640b9320 Fix obvious typo bug in egl.cpp
can (and does sometimes) lead to accessing array with -1 as index
2009-10-12 11:57:27 +02:00
Dima Zavin
4445712fd4 Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
This reverts commit ed5ecdba36648973be3033a045e2ece8bf039e4a.
2009-10-09 18:23:08 -07:00
Eric Fischer
c76f474549 Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp 2009-10-08 17:52:53 -07:00
Mathias Agopian
25194ea410 am 846322a9: Merge change Ib96df854 into eclair
Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-mr2

* commit '846322a9ae5ef8155cca0059d3f64d718516ca13':
  add a way to easily catch and log GL errors (compile time flag)
2009-10-08 17:36:06 -07:00
Mathias Agopian
7d21a745ac add a way to easily catch and log GL errors (compile time flag) 2009-10-08 15:58:11 -07:00
Mathias Agopian
661bda98e4 am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair
Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-mr2

* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
  fix [2168528] enable glTexImage2D code path in SF for software-only buffers
  fix [2168531] have software-only gralloc buffer side-step the HAL
  fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
2009-10-06 19:17:44 -07:00
Mathias Agopian
3330b20303 fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
2009-10-06 17:00:25 -07:00
Doug Kwan
4633c49daa Add back missing shared libraries used in executables in link commands. These
executables have calls to some shared libraries without explicitly linking
them.  Currently it works as linker links these libraries via dependencies of
other libraries.  This is fragile and not the right thing to do.
2009-10-04 19:27:57 -07:00
Mathias Agopian
d11f60ec4f am 4ac45597: Merge change I15b0ebb9 into eclair
Merge commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d' into eclair-mr2

* commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d':
  a simple test app for gralloc
2009-10-04 15:14:32 -07:00
Jack Palevich
99dd08fc36 Change way we choose EGL surfaces to be compatible with the native
window surface.
2009-10-02 14:43:51 -07:00
Mathias Agopian
7460160b80 a simple test app for gralloc 2009-10-01 17:23:05 -07:00
Jack Palevich
f38bce2387 Add a simple test of OpenGL ES 1.x. 2009-09-30 14:17:12 -07:00
Android (Google) Code Review
e9321e3abb Merge change I8018f091 into eclair
* changes:
  Add very simple input path. Fix end-of-line issues.
2009-09-30 09:15:16 -04:00
Jack Palevich
e5810d1f98 Add very simple input path. Fix end-of-line issues. 2009-09-30 06:14:24 -07:00
Jack Palevich
38d3c2a850 Don't ask for pbuffer support, because we don't use any pbuffers. 2009-09-28 18:28:07 -07:00
Jack Palevich
34329eed2c Print out EGL configuration info for the config we've chosen.
Don't ask for PBuffer support, since we don't actually use pbuffers,
and some drivers might not support them.
2009-09-28 18:22:01 -07:00
Jack Palevich
d9872bf424 Print out all available EGL configurations. 2009-09-28 16:34:45 -07:00
Mathias Agopian
56fa27572a fix [2147737] Pixel Flinger needs to set EGL_RENDERABLE_TYPE to EGL_OPENGL_ES_BIT
Also set max swap interval to 1, which is the only supported value currently.
2009-09-27 20:18:16 -07:00
Dima Zavin
7695a5865e egl: temporarily also include eglTerminate->eglInitialize hack for 8k
Change-Id: Id5c51e54e733b24e5d5d5de0dcca84ac53afd3a9
Signed-off-by: Dima Zavin <dima@android.com>
2009-09-26 01:00:49 -07:00
Jack Palevich
f1006c23c6 Fix build. 2009-09-25 19:55:07 -07:00
Jack Palevich
43123766f5 Tighten up sample code.
- Still fails to work; don't know why.
2009-09-25 19:07:31 -07:00
Jack Palevich
18e24f9525 Use EGLUtils to simplify choosing a configuration.
Doesn't actually select anything, possibly due to device driver errors.
2009-09-25 16:25:19 -07:00
Mathias Agopian
c5f0155d7f OpenGL ES doesn't allow glColorPointer with a size parameter other than 4 2009-09-24 14:22:29 -07:00
Jack Palevich
bc4a4177a3 Make tritex test run with latest OpenGL driver.
Use EGLUtils::selectConfigForNativeWindow to select a legitimate
configuration. (Before now we had been selecting an incorrect
configuration, but the older drivers let us get away with it.)

Converted the source to C++ so we can call selectConfigForNativeWindow.
2009-09-24 12:19:05 -07:00
Jack Palevich
9195835537 Create samples showing how to call OpenGL from JNI libraries. 2009-09-23 14:48:07 -07:00
Mathias Agopian
8c17384a5e log an error when loading an existing GL driver fails 2009-09-20 16:07:26 -07:00
Jack Palevich
9ec24af0e8 Draw a green triangle using OpenGL 2.0 APIs. 2009-09-18 18:27:37 -07:00
Jack Palevich
058777592d Add additional error checking, exit early if errors occur. 2009-09-17 10:59:23 -07:00
Jack Palevich
13e68424fb Add EGL call error checking. 2009-09-16 11:08:43 -07:00
Jack Palevich
cfa316b9e7 AGL's glCompressedTexImage2D now checks the imageSize parameter.
This parameter indicates how many bytes of the image data are valid.

Previously this parameter was ignored.
2009-09-10 17:13:28 -07:00
Jason Sams
493220dcb8 Simple app to create a gl2 context and dump the strings. 2009-09-01 20:41:05 -07:00
Martin Storsjo
e03eaa1551 Calculate specular lighting correctly
Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
2009-08-25 18:35:54 -07:00
Martin Storsjo
d914215edf If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport. 2009-08-25 18:35:03 -07:00
Android Code Review
7e05c0e886 Merge change 11093
* changes:
  If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
2009-08-25 14:37:28 -07:00
Mathias Agopian
a69e0ed4a3 fix a bug recently introduced where EGL couldn't be initialized again after it had been terminated once 2009-08-24 21:47:13 -07:00
Mathias Agopian
9429e9c8ad first step for fixing [2066786] EGL object lifetime management doesn't respect the EGL spec
this change fixes the lifetime mgt of EGLSurface, EGLContext and EGLImageKHR in the EGL wrapper.
EGLDisplay is still somewhat bogus and libagl's EGL is still incorrect.

The idea of the change is that EGL objects are put in a list when created and removed when destroyed.
Before each use, we first verify if the object is in the list and if so a reference is taken and kept
for the scope of the whole EGL API being called, if not, an error is returned.

Upon object destruction, the object is simply marked as "terminated" (this is not protected by a lock
because it doesn't really matter). This flag is only used to deny access to the object by other APIs
while it's still valid (for instance current or being used by another function in another thread).
A reference is also removed and the object can then actually be destroyed when going out of scope.
2009-08-21 19:45:44 -07:00
Mathias Agopian
baca89c06a fix a bug in ComponentSizeChooser where it could pick a software EGLConfig instead of a better h/w one.
We now just try to honor the stencil / depth buffer "at least", while doing a "shortest distance" on the colors.
2009-08-20 19:09:34 -07:00
Mathias Agopian
0696a57229 better error handling in EGL 2009-08-20 00:12:56 -07:00
Mathias Agopian
923c661a86 fix bug [2021677] egl driver unloaded after eglTerminate() is called
refactored the code so that:
- EGL APIs that can be called before or after eglInitialize() will work by loading the drivers first
- make eglGetDisplay() a lot more efficient
- make sure that EGL drivers are loaded in a thread-safe way
- don't unload the drivers upon calling eglTerminate(), they're now never unloaded, since there is no safe way to do it (some thread could be running)
- updated our EGL version to 1.4
- return better error codes if errors happen during initialization
2009-08-17 18:07:06 -07:00
Mathias Agopian
24e5f52901 Better error handling in EGL extensions 2009-08-12 21:18:15 -07:00
Mathias Agopian
5221271375 second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything." 2009-08-11 23:32:29 -07:00
Android (Google) Code Review
d2a6788876 Merge change 20893
* changes:
  show that we need to glClear to be fast(er)
2009-08-11 20:51:07 -07:00
Android (Google) Code Review
8717ff585e Merge change 20892
* changes:
  Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
2009-08-11 20:50:32 -07:00
Mathias Agopian
6c06ffc6d0 show that we need to glClear to be fast(er) 2009-08-11 20:50:20 -07:00
Fred Quintana
b2fd4665e6 Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
2009-08-11 20:49:35 -07:00
Mathias Agopian
687bea2359 option to use drawtexture at compile time 2009-08-11 20:12:18 -07:00
Mathias Agopian
cba73d3210 fix and extend the filter test a bit 2009-08-11 19:55:31 -07:00
Mathias Agopian
df37b62c62 SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.
This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored).
Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
2009-08-11 16:12:56 -07:00
Martin Storsjo
b94878cfb6 Calculate specular lighting correctly
Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
2009-08-11 18:01:14 +02:00
Mathias Agopian
1d3bcd6e21 workaround a bug in the SGX driver that would prevent eglGetConfig to work properly 2009-08-10 16:48:22 -07:00
Martin Storsjo
924cba8056 If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport. 2009-08-10 13:03:59 +02:00
Mathias Agopian
dfbec0e282 add support for RGBX_8888 2009-08-07 20:55:14 -07:00
Mathias Agopian
0928e31cc7 minor code clean-up 2009-08-07 16:38:10 -07:00
Mathias Agopian
653870d5e9 update most gl tests to use EGLUtils 2009-08-06 16:26:15 -07:00
Mathias Agopian
6cf50a770d added two EGL helpers for selecting a config matching a certain pixelformat or native window type 2009-08-06 16:05:39 -07:00
Mathias Agopian
1c3561e8d8 added a gl swapinterval test 2009-08-05 17:38:49 -07:00
Mathias Agopian
591018aaf9 opengl tests 2009-08-05 12:22:29 -07:00
Mathias Agopian
d274eae545 log opengl-call-with-no-context only once per thread, instead of for each function call 2009-07-31 16:23:03 -07:00
Mathias Agopian
cf81c84e43 be more robust when errors occur upon EGL surface creation (ie: don't crash) 2009-07-31 14:47:00 -07:00
Mathias Agopian
cb6b904164 fixed some issues with the software renderer when surfaces are made current.
there was several issues:
- when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked
- when a surface was made current the 2nd time, it would not dequeue a new buffer

now, queue/dequeue are done when the surface is made current.

for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
2009-07-30 18:14:56 -07:00
Jean-Baptiste Queru
dee1b302ed merge from donut 2009-07-29 14:57:05 -07:00
Jean-Baptiste Queru
02f54246f5 donut snapshot 2009-07-29 14:25:07 -07:00
Mathias Agopian
574c16f9f8 GLESv2 couldn't be loaded due to wrong path specification 2009-07-29 11:10:29 -07:00
Jean-Baptiste Queru
9261bae1d2 Merge korg/donut into korg/master 2009-07-25 21:15:25 -07:00
Jean-Baptiste Queru
4d3b5c1e36 donut snapshot 2009-07-21 11:16:54 -07:00
Jean-Baptiste Queru
77de619c05 Merge commit 'goog/readonly-korg-master' into merge_korg_master
* commit 'goog/readonly-korg-master':
  Fixed Android issue #400, where the Intent documentation was inaccurate in a number of places, undoubtedly causing untold grief to innumerable masses.
  Bug Fixed for libagl.
2009-07-16 14:54:11 -07:00
Mathias Agopian
f13901eaa9 remove libagl's dependency on gralloc_priv.h 2009-07-15 18:53:32 -07:00
Mathias Agopian
8e5fb52a1d this header file is not needed anymore 2009-07-14 14:50:44 -07:00
Android (Google) Code Review
2521f47c4d am 46e28db8: Merge change 6713 into donut
Merge commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6'

* commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6':
  fix for [1969185] valgrind errors in new gl stuff
2009-07-09 17:35:26 -07:00
Mathias Agopian
dacd7a33c4 fix for [1969185] valgrind errors in new gl stuff 2009-07-09 17:33:15 -07:00
Marco Nelissen
fc865658b4 Make opengl loader use an absolute path. 2009-07-07 16:18:18 -07:00
Shin-ichiro KAWASAKI
4cce5bd5cc Bug Fixed for libagl. 2009-07-07 19:14:13 +09:00