Commit Graph

1029 Commits

Author SHA1 Message Date
Jamie Gennis 483ab74243 am 2f45d746: Merge "EGL: add the EGL_ANDROID_framebuffer_target enum" into jb-mr1-dev
* commit '2f45d7464a55d7a91da6fcd6f8cf1b11e395d029':
  EGL: add the EGL_ANDROID_framebuffer_target enum
2012-09-24 18:23:05 -07:00
Jamie Gennis ca5f79c2bb am 363847d4: Merge "EGL: expose the EXT_create_context_robustness ext" into jb-mr1-dev
* commit '363847d498bffe0e2d8e7b8aba693bb402513413':
  EGL: expose the EXT_create_context_robustness ext
2012-09-24 18:23:04 -07:00
Jamie Gennis 2f45d7464a Merge "EGL: add the EGL_ANDROID_framebuffer_target enum" into jb-mr1-dev 2012-09-24 18:21:14 -07:00
Jamie Gennis 363847d498 Merge "EGL: expose the EXT_create_context_robustness ext" into jb-mr1-dev 2012-09-24 18:20:51 -07:00
Mathias Agopian 73d2a39400 am 0d45d711: am 500407a2: log an error when eglCreateContext() fails in an inconsistant way
* commit '0d45d711976bdca1165536b8948680680d38eb6a':
  log an error when eglCreateContext() fails in an inconsistant way
2012-09-24 18:11:07 -07:00
Mathias Agopian 0d45d71197 am 500407a2: log an error when eglCreateContext() fails in an inconsistant way
* commit '500407a2c07ced40c36e7356574a47bcec9c2fd9':
  log an error when eglCreateContext() fails in an inconsistant way
2012-09-24 18:09:21 -07:00
Mathias Agopian 500407a2c0 log an error when eglCreateContext() fails in an inconsistant way
this will help debugging bug: 7216919

Change-Id: I54ac65f20c5ed55cc93a5cbc5350fadfb0fcb804
2012-09-24 17:57:48 -07:00
Mathias Agopian 68872cac38 am 81b316aa: am 98838aa0: am 77af25b6: Merge "Return back-end result from eglDestroyImageKHR"
* commit '81b316aa5395b6318ad4a10e1ed27d0b9b0df07f':
  Return back-end result from eglDestroyImageKHR
2012-09-24 15:45:56 -07:00
Mathias Agopian 81b316aa53 am 98838aa0: am 77af25b6: Merge "Return back-end result from eglDestroyImageKHR"
* commit '98838aa0836518b7397cbfe763f34305e3387a5f':
  Return back-end result from eglDestroyImageKHR
2012-09-24 15:43:54 -07:00
Mathias Agopian 77af25b6dd Merge "Return back-end result from eglDestroyImageKHR" 2012-09-24 14:56:03 -07:00
Jamie Gennis 3ff48e5e69 EGL: add the EGL_ANDROID_framebuffer_target enum
Change-Id: Id8b1b114e2a7a88956b857c63a0429e9b33fdb5c
2012-09-24 13:45:33 -07:00
Jamie Gennis 09b11432b6 EGL: expose the EXT_create_context_robustness ext
Change-Id: I1db43e96aa5e9e91a6176a4a3e5aa9d1f3ee4a7e
2012-09-24 13:45:32 -07:00
Jamie Gennis 6a2f058458 am 849df8cd: am e0606e29: Merge "Add a spec for EGL_ANDROID_framebuffer_target." into jb-mr1-dev
* commit '849df8cd6baa26ef431404d1b1eea1e141eb5030':
  Add a spec for EGL_ANDROID_framebuffer_target.
2012-09-24 00:48:43 -07:00
Jamie Gennis aaf421c465 Add a spec for EGL_ANDROID_framebuffer_target.
This change adds a new extension for EGL implementations to indicate the
EGLConfigs that support use as a HWComposer framebuffer target layer.

Change-Id: Ia7c8fbe8da09d57b4ec8bf1d9ddb67ca21aa2885
2012-09-21 12:15:22 -07:00
Mathias Agopian 991c18586a am 278b3016: am 2a60824a: am 516efc1b: am 8a2b5423: Merge "libagl: Transform the vertex if using eye space lighting with point lights"
* commit '278b301690d5428e4ec97ac8cf2d9bfb8f901f0b':
  libagl: Transform the vertex if using eye space lighting with point lights
2012-09-20 09:29:13 -07:00
Mathias Agopian 2a60824abc am 516efc1b: am 8a2b5423: Merge "libagl: Transform the vertex if using eye space lighting with point lights"
* commit '516efc1bea1c05492c5d4636a589cfc686661842':
  libagl: Transform the vertex if using eye space lighting with point lights
2012-09-19 22:05:14 -07:00
Mathias Agopian 8a2b54235a Merge "libagl: Transform the vertex if using eye space lighting with point lights" 2012-09-19 19:31:53 -07:00
Jamie Gennis 7d33bc5588 am 8e7e5399: am f0f56f32: Merge "EGL: fix an extension string bug" into jb-mr1-dev
* commit '8e7e5399764c4ef44125c41b172a04dd1403d3a0':
  EGL: fix an extension string bug
2012-09-18 00:10:46 -07:00
Jamie Gennis a08cf6e3a4 EGL: fix an extension string bug
This change fixes a bug where initializing EGL multiple times (eglTerminate
followed by eglInitialize) would cause extensions to show up in the extension
string multiple times.

Change-Id: I707a3da62ed30ef13835087167f84a08bc6addd7
2012-09-17 17:23:29 -07:00
Jamie Gennis 29821a3010 am 688115bb: am e45b01f5: Merge "EGL: make max cache key size BoardConfig-able" into jb-mr1-dev
* commit '688115bbd75416d0c665e8a922223bbf8742edc0':
  EGL: make max cache key size BoardConfig-able
2012-09-13 03:21:40 -07:00
Steven Holte 646a5c593f Return back-end result from eglDestroyImageKHR
Change-Id: I0e972b778f9802c28f52092bb9af087285833e0b
2012-09-12 15:14:55 -07:00
Michael Chock 0673e1e2d7 Additional parameter validation for EGL functions
Change-Id: I841d005647559799edbc2c4824c61ea5791cf893
2012-09-12 15:13:16 -07:00
Jamie Gennis f478e6d18c EGL: make max cache key size BoardConfig-able
This change makes the maximum EGL blob cache key size configurable via a
BoardConfig.

Change-Id: Ic669cd25fc743662bd4f13aab62354fc3d54560c
2012-09-12 11:59:24 -07:00
Jamie Gennis db28e00184 am 26606ba0: am 010dd4fb: EGL: Add the EGL_ANDROID_wait_sync extension
* commit '26606ba0a0409c6ebc2e4b070f96c8d19743e260':
  EGL: Add the EGL_ANDROID_wait_sync extension
2012-09-10 17:15:12 -07:00
Jamie Gennis 010dd4fb89 EGL: Add the EGL_ANDROID_wait_sync extension
Change-Id: Ie9a78e07fcaf27c5c13797141ad3c692217607fb
2012-09-09 17:52:18 -07:00
Jamie Gennis 1d137fb623 am 0a8e3367: am 331841b9: EGL: add the native_fence_sync extension
* commit '0a8e33679240df2c7746eb5adf05d90265d3111c':
  EGL: add the native_fence_sync extension
2012-09-06 16:15:55 -07:00
Jamie Gennis 331841b96b EGL: add the native_fence_sync extension
This change adds support for the EGL_ANDROID_native_fence_sync extension to the
Android EGL layer.  It also fixes a couple minor issues with the extension spec.

Change-Id: Ic8829d21f37b701f33aa9c72c3d25e88e03fa3cd
2012-09-06 16:11:37 -07:00
Jamie Gennis d3b8840a13 am 2ec08f82: am 8893d5bb: EGL_ANDROID_native_fence_sync: fix the version
* commit '2ec08f825ff4ffa120b13272f575a179517636ce':
  EGL_ANDROID_native_fence_sync: fix the version
2012-09-06 15:02:02 -07:00
Jamie Gennis 8893d5bba1 EGL_ANDROID_native_fence_sync: fix the version
Change-Id: Ib43b8fec8f37bb847d7bcdbf7607fd56f19a0563
2012-09-05 19:46:34 -07:00
Jamie Gennis 111d71a905 am 6d53451b: am f42449e1: Merge "EGL_ANDROID_fence_sync: make it more generic" into jb-mr1-dev
* commit '6d53451b038591c57c0743ef4b5649d4e9240c45':
  EGL_ANDROID_fence_sync: make it more generic
2012-09-05 13:54:13 -07:00
Jamie Gennis a1d49ce1f1 EGL_ANDROID_fence_sync: make it more generic
This change updates the extension spec to refer to generic "native fence sync
objects" rather than "Android fence sync objects."

Change-Id: I15a79f08571586431845b54c58c8420b652f40ef
2012-09-04 19:49:51 -07:00
Bjorn Andersson f9752cc4cf egl: Reintroduce eglGetRenderBufferANDROID
eglGetRenderBufferANDROID was removed as it had no users. This commit
reintroduces this extensions as it's used by Qualcomm graphics HAL.

Change-Id: I493306830a0d4f8722a42bcc84fb49236afdabeb
2012-08-27 18:38:35 -07:00
Jean-Baptiste Queru 9024417a27 am ada50888: am 0adc8f26: am 6e820eec: am 6f89ebde: Merge "EGL: do not use sparse files for shader"
* commit 'ada508884284f9cd2025f683dd4ac4c66a1ffc08':
  EGL: do not use sparse files for shader
2012-08-20 09:47:25 -07:00
Jean-Baptiste Queru 0adc8f2600 am 6e820eec: am 6f89ebde: Merge "EGL: do not use sparse files for shader"
* commit '6e820eec21917f8e25c40dbc8b972468535af0e8':
  EGL: do not use sparse files for shader
2012-08-20 09:42:32 -07:00
Siva Velusamy 2fca168951 am 0bbd95b9: am c21fc05a: Merge "gltrace: flush trace buffer on createContext & makeCurrent" into jb-mr1-dev
* commit '0bbd95b9beece22fe7f833e6def244e39536a95e':
  gltrace: flush trace buffer on createContext & makeCurrent
2012-08-16 16:31:31 -07:00
Siva Velusamy ad9693f4f0 gltrace: flush trace buffer on createContext & makeCurrent
Certain apps (e.g. chrome) seem to create contexts which are unused
for long periods of time. If tracing is stopped before those contexts
are used, then the debugger never gets to know that these contexts
were created. Flushing the trace after these calls ensures that
the debugger knows about all created/used contexts.

Change-Id: I01baa11aa56ac89eddce3c2851e4bf01076984d1
2012-08-16 14:41:20 -07:00
Jesse Hall b4b138abaa am b58c6d5e: am 7e5099a9: Add compile-time option to systrace GL-ES calls
* commit 'b58c6d5ef1edcb04849d30f9b981a5f4bfd163e3':
  Add compile-time option to systrace GL-ES calls
2012-08-13 12:16:08 -07:00
Jesse Hall 7e5099a9ec Add compile-time option to systrace GL-ES calls
Change-Id: Ibec103bbf159626ad9745d0e071192ad424bc0e9
2012-08-13 12:13:05 -07:00
Thomas Tafertshofer 62a0a2a8ca Updated eglCreateWindowSurface stub for glgen
Updates the stub for eglCreateWindowSurface
to accept Surface as a native window.

Change-Id: I9ff7f68ad9ae4ff10439588aaef138b4564d959e
2012-08-09 11:30:58 -07:00
Keun young Park a610da900c Merge "enable java/jni build in PDK if supported" into jb-mr1-dev 2012-08-08 12:25:15 -07:00
Keun young Park 203a3357c7 enable java/jni build in PDK if supported
- testFramerate requires platform java API
  while all other tests only need SDK support

Change-Id: Iaefe23c41b3ace87522b5deefd6db2f5d80ed872
2012-08-07 17:09:19 -07:00
Jesse Hall b685c54283 Changes to support multi-display HWC
Change-Id: I07efff54f2980dcb013935747b03e099b8f1181b
2012-08-07 12:16:36 -07:00
Jesse Hall bc0d7dc8f5 Revert "Minimal changes to support multi-display HWC"
This reverts commit bddd724b17

Change-Id: Ib7db20b5b3de4779b6e173473a33976ae398abd4
2012-07-31 12:16:31 -07:00
Jesse Hall bddd724b17 Minimal changes to support multi-display HWC
Change-Id: I5efea78ac381c3e3118e6e92b508f336233ac319
2012-07-27 10:28:36 -07:00
Thomas Tafertshofer 36b285eac9 Fixed bug in opengl es binding generation
This fixes the glgen code generation for methods
which have a buffer arg that can be NULL.

Bug: 6845189
Change-Id: I5fb745b806601e5665f97bfd15fd865cd9c241ed
2012-07-23 17:06:52 -07:00
Mathias Agopian 493c4feb75 Merge "glgen stubs to fix bad methods in gles20 bindings" 2012-07-23 16:25:44 -07:00
Jamie Gennis 9a82fe645d Merge "Update the EGL_ANDROID_fence_sync spec." 2012-07-23 16:21:58 -07:00
Jamie Gennis 648654d741 Update the EGL_ANDROID_fence_sync spec.
Change-Id: I26589e51c2023aed4da8a25a098b01804200ddc2
2012-07-23 14:34:10 -07:00
vijay gupta a30cc7db8d EGL: do not use sparse files for shader
- Process is killed by system with SIGBUS signal if it writes
  data to mapped sparse file on full filesystem.
- Allocate space using write() function instead of ftruncate()
  to avoid creation of sparse files on full filesystem.
  Catch write() errors to handle out-of-space case during allocation.

Bug: http://code.google.com/p/android/issues/detail?id=35376
Change-Id: Ifc366454f34e71a43a0973eda4f591a920ea3a14
Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com>
2012-07-23 14:26:57 +03:00
Thomas Tafertshofer 55b4e553c8 glgen stubs to fix bad methods in gles20 bindings
this adds correct versions of the broken GLES20 methods
glGetShaderSource, glGetActiveAttrib and glGetActiveUniform.
the old broken methods are still there and need to be @hide later.

Bug: 6006380
Change-Id: Ide74242ada54b85459b459ae4f20cd26a23c7610
2012-07-19 16:58:40 -07:00
Mathias Agopian df5cbd7622 Merge "OpenGL bindings fix for methods with iobuffer args" 2012-07-18 18:31:41 -07:00
Thomas Tafertshofer c5ee93e5fe Remove @hide from the generated EGL 1.4 API
Change-Id: Ia5707533fcf1186ef648b8a4e25987f5e7e7dea3
2012-07-13 17:43:19 -07:00
Thomas Tafertshofer e58a97b5d7 OpenGL bindings fix for methods with iobuffer args
This changes generation of the OpenGL bindings to prevent
crashes of methods with more then one nio buffer argument.

Bug: 6772416
Change-Id: I4eff25c2f568dea78a6ffd3e95ff4620ab4b3b7d
2012-07-12 11:23:02 -07:00
Martin Storsjo d5b1cda91e libagl: Transform the vertex if using eye space lighting with point lights
This fixes lighting when using point lights, when eye space
lighting is used (which is the default).

Change-Id: I0cd0d2329893d6b5f8af3b1e595274c2076fc322
2012-07-12 16:59:20 +03:00
Thomas Tafertshofer 66a42db8cb improve glgen tool to support EGL1.4
- added EGL1.4 bindings generation
- fixed bugs in GLES bindings

Bug: 6709865
Change-Id: I04ac63f652e1968a51eb833f47e00336ea449980
2012-07-10 15:49:43 -07:00
Jamie Gennis d8e812ce6f Update ANativeWindow clients for sync
This change updates the uses of ANativeWindow to use the new ANW functions that
accept and return Sync HAL fence file descriptors.

Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
2012-06-20 15:48:30 -07:00
Jesse Hall 5880cc5738 Add support for HWC_DEVICE_API_VERSION_1_0
The acquire and release fences aren't yet used; this is just support
for the new version and temporary backwards compatibility for older
versions.

Change-Id: Ia5ccc05a97c86f649042b9a35e11042fa0187e84
2012-06-14 12:35:32 -07:00
Mathias Agopian fe6102f07c Merge "don't error out when eglTerminate()ing an already terminated display" 2012-06-13 16:27:54 -07:00
Mathias Agopian fe98127eaa don't error out when eglTerminate()ing an already terminated display
so says the EGL specification, section 3.2

Change-Id: Ice60530f8f6e47b4e14e06d2ab8eba799a7688a6
2012-06-13 15:21:21 -07:00
Mathias Agopian 4b3e4ae045 am 1d2eb663: am 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev
* commit '1d2eb663ef5cf69aa852045c8a1c1807dfa7039e':
  reduce PB size from 2MB to 512KB
2012-06-12 13:15:10 -07:00
Siva Velusamy 3ef9e9671c gltrace: Fixup vertex attrib pointers only for GLES2
Change-Id: Ibf280c2a4372ce6e598e164eef0d72b7c0a6d1c2
2012-06-11 11:16:56 -07:00
Mathias Agopian d75f84d641 reduce PB size from 2MB to 512KB
this allows us to enable h/w acceleration on low-end
devices while keeping memory usage down.

Bug: 6557760
Change-Id: I8af2de3038dc2579360b8b73aa452cb7a0e506a9
2012-06-05 21:44:43 -07:00
Jamie Gennis 1401ad526c Add the EGL_ANDROID_fence_sync spec.
Change-Id: I8c26e5caaf8d89a60a09a5308d55e336537b916e
2012-05-30 16:34:32 -07:00
Jesse Hall 83e7c8c431 Implement the EGL_KHR_fence_sync in libagl
Implementing this in libagl allows us to start using it for
SurfaceTexture in emulator builds, which is necessary to avoid
corruption in the Browser when using the host-accelerated GL path.

Bug: 6515813
Change-Id: Icafba8687cb5d010d8d42b3866b298d2be984fc9
2012-05-22 12:11:41 -07:00
Mathias Agopian cc2b1560e8 fix EGL_CLIENT_STRING
it should read OpenGL_ES (with an underscore)

Bug: 6529643

Change-Id: I7caf07793bffe5a8dcceaff496a222077486fc87
2012-05-21 14:02:53 -07:00
Siva Velusamy 2fdcc81ddf gltrace: Allow receiving commands of length > 4
Currently, gltrace offers very few trace collection options. As a
result, these options are encoded in a single integer. The trace
control task simply receives integers and interprets them as
commands.

This patch changes the control protocol to first receive the
command length followed by the actual command itself. This allows
for future flexibility to provide enable other commands.

Change-Id: Id5f56c80a025bbbe7613ab4457e092732e7d9dc9
2012-05-16 12:00:24 -07:00
Jesse Hall 201f3b2da5 Disable EGL hibernation due to jank
Hibernating EGL takes a long time (>100 ms) and blocks all other
rendering. During window animations, the outgoing activity begins
hibernation before the animation stops, causing visible stutter.
Hibernation is still available by setting 'BOARD_ALLOW_EGL_HIBERNATION
:= true' in the devices BoardConfig.mk

Change-Id: Iab4e00723a1adcd97481e81b2efdc821b3e9712f
2012-05-04 15:21:35 -07:00
Siva Velusamy c7d767ad57 gldebugger: Allow connections from root user
Change-Id: I26ce670ae93c43bd36843576e824a9d7acea644d
2012-04-26 09:07:41 -07:00
Mathias Agopian 4a8111bc8c Merge "Added an EGLTest for eglTerminate" 2012-04-19 17:22:48 -07:00
Jesse Hall a0fef1c8bb Fix deadlock when cleaning objects in eglTerminate
When eglTerminate() is called with a window surface still exists, a
deadlock would occur since egl_display_t::terminate() holds a lock
while destroying the window surface, which calls
onWindowSurfaceDestroyed() which attempts to take the same lock.

This change refactors the hibernation code and data into a separate
object with its own lock, separate from the egl_display_t lock. This
avoids the deadlock and better encapsulates the hibernation logic.

The change also fixes a bug discovered incidentally while debugging:
hibernating after calling eglTerminate() succeeds, but will cause
awakens from subsequent eglInitialize() to fail. We will no longer
hibernate a terminated display.

Change-Id: If55e5bb603d4f8953babc439ffc8d8a60af103d9
2012-04-17 14:52:13 -07:00
Daniel Lam 1cbcb98a25 Added an EGLTest for eglTerminate
This tests if eglTerminate can succeed while objects
are leaked.  Currently the test fails because of a deadlock.

Change-Id: Ibe26edfda28691284d0674e803e8d3114f3ce4c6
2012-04-16 22:25:13 -07:00
Jesse Hall 258385978c Hibernate the EGL implementation when idle
If the EGL implementation supports the EGL_IMG_hibernate_process
extension, use it to hibernate (and hopefully release memory or other
resources) when the process isn't actively using EGL or OpenGL ES. The
idleness heuristic used in this change is:

(a) Wake up when entering any EGL API call, and remain awake for the
    duration of the call.
(b) Do not hibernate when any window surface exists; this means the
    application is very likely in the foreground.
(c) Do not hibernate while any context is made current to a thread.
    The app may be using a client API without the EGL layer knowing,
    so it is not safe to hibernate.
(d) Only check these conditions and attempt to hibernate after a
    window surface is destroyed or a thread's context is detached. By
    not attempting to hibernate at the end of every EGL call, we avoid
    some transient wakeups/hibernate cycles when the app is mostly idle,
    or is starting to become active but hasn't created its window
    surface yet.

On a Galaxy Nexus, hibernating frees 1567 VM pages from the process.
Both hibernating and waking can take anywhere from 30ms to over 100ms
-- measurements have been very inconsistent.

Change-Id: Ib555f5d9d069aefccca06e8173a89625b5f32d7e
2012-04-09 21:36:17 -07:00
Jesse Hall b29e5e8c26 Increment/decrement a counter around EGL calls
This is in preparation for a change that will hibernate the underlying
EGL when idle. Instead of a bare egl_display_t*, get_display() now
returns a egl_display_ptr, which acts like a smart pointer. The
"wakecount" counter managed by the smart pointer isn't used for
anything in this change. It will be used to make sure we don't
hibernate when any thread is in an EGL call, without having to hold a
mutex for the duration of the call.

Change-Id: Iee52f3549a51162efc3800e1195d3f76bba2f2ce
2012-04-09 21:35:17 -07:00
Jamie Gennis 28ef8d7911 EGL: add GPU frame completion tracing
This change adds a debug option to EGL to use an EGLSyncKHR each frame to
determine when the GPU finishes rendering the frame.

Change-Id: I09ce071db904b44f07ca814c586c291c8b59385a
2012-04-06 09:23:13 -07:00
Colin Cross bb67556871 Merge "frameworks/native: prevent some opengl tests from building in pdk" 2012-03-27 10:28:58 -07:00
Colin Cross 9f64c2a9e4 frameworks/native: prevent some opengl tests from building in pdk
Some of the tests in frameworks/native/opengl/tests depend on java
or jni, and shouldn't be in frameworks/native.  Prevent them from
building in pdk builds for now.

Change-Id: Ie7a012513dd03992ac1f093bd245aeca826c9cb9
2012-03-26 16:01:43 -07:00
Mathias Agopian 7db993a98b debug.egl.finish can be used to force a glFinish() when eglSwapBuffers() is called
this debug property is evaludated at eglInitialize() time.

Change-Id: Ie439e4aac87f7fdc6ab2add86183d6d042f3ee8b
2012-03-25 00:49:46 -07:00
Mathias Agopian b0e76f456a remove dependency of EGL on ndk header
Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
2012-03-23 14:15:44 -07:00
Siva Velusamy 8e2f3858d5 gltrace: Only accept connections from the shell.
Only accept incoming connections from the shell user.

Change-Id: Ibef1a796d794d45f73db59949b39cb1ce68542b4
2012-03-15 16:41:35 -07:00
Siva Velusamy b13c78f852 gltrace: Expose a function to set OpenGL trace level.
This patch adds a function setGlDebugLevel() to libEGL to enable
GL tracing. This will be used by the Java layer to add an option
to "am start" that can enable tracing for a particular application.

Change-Id: Ie1dbdd550f502df8633553595cb33ee9d9ae44e1
2012-03-09 16:43:48 -08:00
Mathias Agopian 373c2b2869 fix include path
Change-Id: I84adf53594cd4083a4a8ab475f175abb7414cda5
2012-03-07 19:46:57 -08:00
Siva Velusamy 2178dcf149 Merge "gltrace: Send vertex attribute data after glDraw() call." 2012-03-06 08:59:32 -08:00
Mathias Agopian 622cfadc8f fixup include paths
- remove unneeded include deps
- remove some hardcoded include paths

Change-Id: Ifae0e2b2d738e0f94f8525c45be78f4227ce1673
2012-03-05 15:59:38 -08:00
Siva Velusamy 50129e4ae2 gltrace: Send vertex attribute data after glDraw() call.
This patch enables tracing of vertex attribute data that
is specified using glVertexAttribPointer().

At the time the glVertexAttribPointer() call is made, we
only receive a pointer in client space, without any indication
of the size (# of attributes). This size is known only at
the time of the glDraw() call.

This patch generates a new message glVertexAttribPointerData()
when a draw call is issued that contains the vertex attribute
data.

A glDrawArrays() call directly gives the size of data to copy.
A glDrawElements() call gives the indices to copy. In such a
case, all data between the min & max indices drawn are copied
and sent to the host. To support glDrawElements() with an
element array buffer, this patch also adds state that maintains
a copy of all element array buffers.

Change-Id: I434da794a0aa9ada8e7474e219ffb1d79b183ecf
2012-03-01 17:41:53 -08:00
Jamie Gennis 1c8e95cf86 Add tracing to various graphics components.
This change adds ATRACE call tracing to BufferQueue,
SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL.

Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
2012-02-27 17:50:35 -08:00
Mathias Agopian 864d2afbb3 libagl shouldn't export anything
Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
2012-02-27 13:03:04 -08:00
Siva Velusamy 640579b736 Merge "gltrace: Make code 64-bit safe." 2012-02-27 12:31:01 -08:00
Siva Velusamy 9801142afb gltrace: Make code 64-bit safe.
Currently, the trace API passes the pointers that need to be
patched up via 32 bit integers. Such code will not be 64 bit safe.
This patch sends all pointers in a separate array of pointers
for the fixup calls to read from.

Change-Id: If975333f11a6f6f9a74fba57de328affaed452a5
2012-02-27 12:08:47 -08:00
Siva Velusamy 0128a6b819 Merge "gltrace: attach buffer data sent with glBufferData" 2012-02-27 07:41:38 -08:00
Mathias Agopian 5f2165f945 remove dependency on android_native{s_priv|buffer}.h
Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
2012-02-24 18:26:01 -08:00
Mathias Agopian 870b8aa15c remove libui dependency on libEGL
Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
2012-02-24 16:42:46 -08:00
Siva Velusamy 9291da97cb gltrace: attach buffer data sent with glBufferData
Attach the buffer that is passed with glBufferData
and glBufferSubData to the proto buf.

Change-Id: I1b4c1172d405736b06cb0a356a6e241e1d60c4d5
2012-02-24 11:32:00 -08:00
Siva Velusamy 05df4504e5 gltrace: Trace thread time and wall clock time.
For each gl function, trace both the thread and wall clock
times.

Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
2012-02-17 11:09:47 -08:00
Mathias Agopian 3ac9473cb9 Merge "Don't wrap EGLImageKHR and EGLSyncKHR anymore" 2012-02-14 18:59:47 -08:00
Mathias Agopian 7c0441ac27 Don't wrap EGLImageKHR and EGLSyncKHR anymore
this simplify our EGL wrapper implementation a lot.
This wrapping is no longer needed now that we can only
support a single underlaying EGL implementation.

Change-Id: I8213df7ac69daac447f1fe6e37044b78aac4e9a9
2012-02-14 17:14:36 -08:00
Siva Velusamy fefddbc181 Merge "gltrace: Patch up all glUniform*() calls." 2012-02-14 16:36:44 -08:00
Siva Velusamy 88e8e5a3f1 gltrace: Patch up all glUniform*() calls.
This patch updates the trace information for all glUniform*() calls
to have the right data (the actual uniforms that are passed).

In addition, as soon as a program is linked, information regarding
all the active attributes and uniforms is passed on to the debugger.

Change-Id: Icfbc6722789b42c413a845cf546577fa6de7da2b
2012-02-14 15:08:20 -08:00
Mathias Agopian 7773c435bc EGLConfig is now not remaped to an internal EGLConfig
this is possible now that we support only a single
EGL implementation. this allows a large code simplification.

Change-Id: I7a6b9db4c5d60f4407c6061e7a68729af63d5242
2012-02-13 20:23:15 -08:00
Mathias Agopian ada798b7ca remove multiplexing of multiple EGL implementation
from now on, the system can only have one EGL
implementation. this means the software and h/w renderer
cannot be used at the same time on a device. Of course, the
h/w renderer is always prefered; in its absence we
default to the software renderer.

Change-Id: Ib579f58055dd0ce4c4a99144131efa11c16ca3d3
2012-02-13 18:11:42 -08:00
Mathias Agopian a4b2c04182 fix a dead-lock in eglMakeCurrent
this was introduced in a recent change. eglMakeCurrent can
end up calling eglDestroyImageKHR via ANativewWindow::disconnect
when the consumer is in the same process.

we make sure we don't hold the lock while this is happening.

Change-Id: Id17fe4fd76eecf5f962cefb9aa32be41fc1b042d
2012-02-03 15:24:51 -08:00
Siva Velusamy a7167f3647 gltrace: fixup Push & Insert Marker calls
Change-Id: I58ced7225fac79ec636a65da4883614a5dce6dff
2012-02-01 12:16:40 -08:00
Mathias Agopian fb87e54a9a fix a race condition in eglMakeCurrent()
it would happen when a context was made non-current, in this
case we would call the implementation's eglMakeCurrent() which
would succeed, if we're rescheduled at that point, another
eglMakeCurrent() could make that context current to another thread,
however, when we came back to the original call we would
overwrite egl_context_t internal state.

this is fixed by moving the critical section under
egl_display_t's lock.

Change-Id: I743c85696e13263d3a9570824940263df0caacdc
2012-01-30 18:20:52 -08:00
Mathias Agopian 0d6aa287d1 Merge "add all needed GL extension wrappers" 2012-01-30 17:44:09 -08:00
Mathias Agopian a6d86e5ea7 add all needed GL extension wrappers
when increasing MAX_NUMBER_OF_GL_EXTENSIONS to 256
we also needed to create all the corresponding wrappers.

Change-Id: I90edaaf0885ccdfab48e7a1396bcf88e039cfb25
2012-01-30 17:40:29 -08:00
Mathias Agopian 9e2464c4b9 Merge "add support for GL_EXT_debug_marker" 2012-01-30 15:23:47 -08:00
Siva Velusamy b8c3914547 Merge "gltrace: Use Unix Domain Socket rather than INET Socket" 2012-01-30 09:08:27 -08:00
Mathias Agopian 48d438d05f add support for GL_EXT_debug_marker
This extension is always added to the GL_EXTENSIONS
extension string for the current GL context, regardless
of if it's supported by the h/w driver.

The extension itself will be handled by GLES_trace (eventually),
when GLES_trace is not enabled, it'll result to a no-op.

If the h/w implementation has this extension, we'll call that version
instead of our dummy version.

Change-Id: Ie5dd3387c4d45cd5ed5f03b73bda6045620a96bc
2012-01-29 22:22:09 -08:00
Mathias Agopian 453851f3a0 Merge "update GLES headers and add support for corresponding new extensions." 2012-01-29 22:03:19 -08:00
Mathias Agopian 3127260614 update GLES headers and add support for corresponding new extensions.
Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
2012-01-28 20:41:35 -08:00
Mathias Agopian cf701aa9fe remove unused code
Change-Id: If900fcc50f9ffc424e270cb6063b16a2d7bc04d3
2012-01-28 18:47:13 -08:00
Siva Velusamy 0832fb6407 gltrace: Use Unix Domain Socket rather than INET Socket
Export trace information via abstract Unix Domain Socket (UDS).
This allows tracing of applications without INTERNET permission,
and should be faster as well.

Change-Id: Iabb67fcc2bc2484afd8128af07dca723b81c52c6
2012-01-27 17:24:18 -08:00
Jamie Gennis e8696a40e0 hack up frame latency measurement
Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
2012-01-24 15:41:50 -08:00
Siva Velusamy 34c726efb5 gltrace: fixup data for glTexSubImage2D & glDeleteBuffers
Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
2012-01-17 12:28:11 -08:00
Steve Block e6f43ddce7 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-08 13:19:13 +00:00
Steve Block 32397c1cd3 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Steve Block c267bab3d1 Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE" 2012-01-05 14:07:02 -08:00
Siva Velusamy 3f194e6e3a gltrace: add user settings to control data captured.
Currently users do not have control over the amount of data
captured during tracing. This patch adds 3 settings that users
can enable/disable at runtime:
  - capture framebuffer on eglSwap() calls
  - capture framebuffer on glDraw*() calls
  - capture texture data passed to glTexImage*() calls
Disabling these options when not needed signficantly decreases
the size of the trace file, and reduces performance overhead for
the running application.

These settings are stored in the per process GLTraceState.
A separate thread listens for commands from the host, and updates
the state based on the user commands.

Change-Id: Ic4518b94e8bcbc5330ac7138153721caa98b365d
2012-01-04 12:50:13 -08:00
Steve Block a19954ab37 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
2012-01-04 20:05:49 +00:00
Siva Velusamy 56ac6ff9bd gltrace: add start time & duration to each traced call.
Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
2012-01-04 11:38:37 -08:00
Siva Velusamy 93a826f78f gltrace: transport buffering and context management
This patch adds two improvements:
1. Protobuf messages are buffered and sent in chunks.
2. Multiple EGL contexts are handled properly: Corresponding
to each EGLContext, a GLTraceContext with a unique ID is created.
On eglMakeCurrent, the appropriate GLTraceContext is set and is
used while tracing subsequent GL Calls in that thread.

Change-Id: I34076376d3e5af205c87c7396ea47659844abd6e
2012-01-04 11:38:37 -08:00
Siva Velusamy 59511ad1cb Merge "gltrace: attach contents of the appropriate framebuffer" 2012-01-04 11:18:29 -08:00
Steve Block 9d45368352 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2012-01-03 22:38:27 +00:00
Jack Palevich 2b93f0bf44 Fix convert8To4, convert8To5
See b/5680952 "Compilation warnings in etc1.cpp" for discussion.

Fixes b/5680952

Change-Id: I0af6ba5ed5e60f3ed7a6a28eba3b09504fee1a3f
2011-12-09 14:06:07 -08:00
Siva Velusamy f132ac35d8 gltrace: attach contents of the appropriate framebuffer
Currently, gltrace always attaches the contents of the currently
bound framebuffer. This patch changes it to attach the contents
of FB0 on eglSwap, and the currently bound framebuffer for the
glDraw* calls.

Change-Id: Ice0520d45d75638fe61cd91149df773074216510
2011-12-07 16:00:58 -08:00
Siva Velusamy a8cfde8897 gltrace: Make framebuffer contents an optional message.
Currently, the contents of the FrameBuffer are sent by encoding
them as the last argument to the function call. As a result, it is
not possible to know if a message has the framebuffer encoded in it
without looking at the function type.

This patch modifies the protobuf definition to include a separate
optional framebuffer message.

Change-Id: Ief3a6950052d927ca0743e729457435b48c25a92
2011-12-05 14:13:16 -08:00
Siva Velusamy 73d2b3c7e5 Merge "glestrace: Framework for GLES tracing library" 2011-12-02 15:49:01 -08:00
Siva Velusamy 0469dd6d55 glestrace: Framework for GLES tracing library
This patch provides a framework for tracing GLES 1.0 and 2.0
functions. It is missing a lot of features, but here are the
things it accomplishes:

- Stop building the glesv2dbg library, and build the
    glestrace library instead.
- Replace the hooks for glesv2dbg with the ones for glestrace.
- Add the basics for the trace library. Currently, this
    traces all GL functions, but not all required data is
    sent for all the functions.  As a result, it will not
    be possible to reconstruct the entire GL state on the
    host side.

The files gltrace.pb.* and gltrace_api.* are both generated
using the tools/genapi.py script.

Change-Id: Id60a468f7278657f008bc6ea1df01f9bdfecfdd3
2011-12-02 15:30:17 -08:00
Mathias Agopian bc2d79ed7a add a way to access the version string of the h/w implementation of EGL
we use a hidden egl extension. the version string is printed
in SF's dumpsys log.

Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
2011-11-29 18:00:35 -08:00
Jamie Gennis e011aa2b0f Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1 2011-11-21 15:54:54 -08:00
Jamie Gennis 59769469e4 EGL: default to swap interval 1
This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.

Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
2011-11-21 14:37:29 -08:00
Jamie Gennis 89c1d61c16 EGL: Use cache sizes defined in the BoardConfig
This change introduces two new BoardConfig variables to control the size
limits of the EGL blob cache.  MAX_EGL_CACHE_ENTRY_SIZE is the size
limit for values inserted into the cache, and MAX_EGL_CACHE_SIZE is the
size limit for all entries in the entire cache (including both keys and
values).  If either of these BoardConfig variables are not defined then
a default size limit is used instead.

Change-Id: I6703d93f966b6389c6499f23d841e42339f9c9d7
2011-11-21 11:48:17 -08:00
Jamie Gennis 0f83b2f976 Merge "EGL: fix blob cache extension detection" into ics-mr1 2011-11-17 17:10:32 -08:00
Jamie Gennis 11f8fde84d Merge "GLES: add image external enums" into ics-mr1 2011-11-17 15:47:28 -08:00
Jamie Gennis 9f43009177 EGL: fix blob cache extension detection
Bug: 5474671
Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
2011-11-17 14:06:46 -08:00
Mathias Agopian f3ae82d813 be a bit more defensive when parsing extension strings
hopefully this will fix a crash in the emulator.

Bug: 5624674
Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
2011-11-16 16:49:25 -08:00
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