summaryrefslogtreecommitdiffstats
path: root/opengl/libs
Commit message (Collapse)AuthorAgeFilesLines
* fix logging of eglMakeCurrent() errorsMathias Agopian2011-08-251-0/+3
| | | | Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
* EGL: move disconnect to surface dtorJamie Gennis2011-08-242-9/+9
| | | | | | | | | 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
* connect/disconnect is now called from our EGL wrapperMathias Agopian2011-08-011-2/+17
| | | | | | | | | | | 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
* Merge "Remove the simulator target from all makefiles. Bug: 5010576"Jeff Brown2011-07-123-40/+24
|\
| * Remove the simulator target from all makefiles.Jeff Brown2011-07-113-40/+24
| | | | | | | | | | | | Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
* | Merge "EGL: fix the ANativeWindow size/fmt override"Jamie Gennis2011-07-111-1/+6
|\ \
| * | EGL: fix the ANativeWindow size/fmt overrideJamie Gennis2011-07-111-1/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Always make GL calls with a valid EGL context.Romain Guy2011-07-111-0/+5
|/ | | | | | Bug #5010760 Change-Id: If7500ef69683948e727df1406f458f18b11259d1
* fix x86 buildMathias Agopian2011-05-2311-151/+161
| | | | Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
* eglTerminate() now actually frees up all active egl objectsMathias Agopian2011-05-166-160/+176
| | | | | | | | 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
* refactor EGL source codeMathias Agopian2011-05-1615-2074/+2421
| | | | | no changes is functionality. split various objects into their own files. make egl_display objec's lock internal.
* fix (Again) adding OES postfix when looking for gl functionsMathias Agopian2011-05-111-9/+6
| | | | Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
* add OES postfix without truncating functionJeff Boody2011-05-111-4/+6
| | | | Change-Id: Id47304cf38914190cec58d703801f456ab916f63
* EGL: Allow creating a SurfaceTexture EGLSurface.Jamie Gennis2011-04-251-10/+0
| | | | | | | This change removes the check that disallowed the creation of an EGLSurface that would send frames to a SurfaceTexture. Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
* GLES2Dbg: noop - format & commentDavid Li2011-04-212-6/+6
| | | | | Change-Id: Ibb36508181d4322e236b6595b28d253f282c36d7 Signed-off-by: David Li <davidxli@google.com>
* GLES2Dbg: send some GL implementation constants to clientDavid Li2011-04-197-21/+107
| | | | | Change-Id: Ic6c51c09b1c3d2e1e1a28c6ed552714c3243827c Signed-off-by: David Li <davidxli@google.com>
* GLES2Dbg: initial testsDavid Li2011-04-199-18/+991
| | | | Change-Id: Ibf07eff68d39267fd5c9bec2870f59a5ae2f51e3
* GLES2Dbg: added CaptureDraw and CaptureSwap optionsDavid Li2011-04-128-51/+203
| | | | | | | | CaptureDraw specifies how many glDrawArrays/Elements to glReadPixel CaptureSwap similarly applies to eglSwapBuffers Change-Id: Ie7a7e3392b4ecdc0659dcee04f4bab97c35267dc Signed-off-by: David Li <davidxli@google.com>
* GLES2Dbg: use dump.gles2dbg file when fails to create socketDavid Li2011-04-128-31/+71
| | | | | | | | | | | | 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>
* GLES2Dbg: add EXTEND_AFTER_CALL_Debug_* macro and improve protocolDavid Li2011-04-1212-120/+245
| | | | | | | | | | 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>
* GLES2Dbg: change GLES2_dbg to shared libraryDavid Li2011-04-1211-53/+101
| | | | | Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2 Signed-off-by: David Li <davidxli@google.com>
* Initialize reference counter for egl_display_tEric Hassold2011-03-311-1/+1
| | | | | | | Add missing member initialization for reference counter, used to determine if a context is ready. Change-Id: I45f81177ac2851129681f827afe015b60b3cd73c
* GLES2Dbg: use 256KB chunks for lzf compressionDavid Li2011-03-284-39/+43
| | | | | | | | | | | | 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>
* Make objects collection a member of egl_display objectEric Hassold2011-03-251-68/+68
| | | | | | | | | | | 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
* Merge "GLESv2Dbg: ability to create GL calls from client"David Li2011-03-247-9/+1308
|\
| * GLESv2Dbg: ability to create GL calls from clientDavid Li2011-03-227-9/+1308
| | | | | | | | | | | | | | | | 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>
* | Merge "GLES2Dbg: added SETPROP expectResponse"David Li2011-03-2413-614/+343
|\ \ | |/
| * GLES2Dbg: added SETPROP expectResponseDavid Li2011-03-2213-614/+343
| | | | | | | | | | | | | | | | to allow "stepping" in functions. Also fix bug in reference frame. Change-Id: Ia33620eaf2c5f4e615f7aad2df277b6afc617060 Signed-off-by: David Li <davidxli@google.com>
* | Merge "GLES2Dbg: added reference frame for glReadPixels"David Li2011-03-249-44/+318
|\ \ | |/
| * GLES2Dbg: added reference frame for glReadPixelsDavid Li2011-03-229-44/+318
| | | | | | | | Change-Id: I37398d8d835e54a1764dfabd617fdc2c640864c2
* | Merge "GLES2Dbg: use libLZF for compressing images"David Li2011-03-247-133/+55
|\ \ | |/
| * GLES2Dbg: use libLZF for compressing imagesDavid Li2011-03-217-133/+55
| | | | | | | | | | | | | | liblzf is in external/liblzf, it's BSD-type licence (optionally GPL2) Change-Id: Idc7883fe2155f366cda384e64796a1493335ae4f Signed-off-by: David Li <davidxli@google.com>
* | Check for initialized EGLDisplay when required by specificationEric Hassold2011-03-231-77/+115
|/ | | | | | | | | 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
* Merge "GLES2Debugger: Make command exchange async to improve performance."David Li2011-03-1710-69/+98
|\
| * GLES2Debugger: Make command exchange async to improve performance.David Li2011-03-1110-69/+98
| | | | | | | | | | | | | | | | 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>
* | am 9405d987: am a05a8ac5: am af831a7b: Merge "fix [4107131] nvidia driver ↵Mathias Agopian2011-03-161-4/+5
|\ \ | | | | | | | | | | | | | | | | | | call takes a very long time" into honeycomb-mr1 * commit '9405d98705db1c8102b77ef960f344ac416d165c': fix [4107131] nvidia driver call takes a very long time
| * | fix [4107131] nvidia driver call takes a very long timeMathias Agopian2011-03-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | We were leaking all EGLSyncKHR objects, over time the list would grow and become very slow to operate on. Bug: 4107131 Change-Id: I6c82daf49fe3189d04550781d64d57c30c95f552
* | | am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." ↵Jamie Gennis2011-03-151-0/+10
|\ \ \ | |/ / | | / | |/ |/| | | | | into honeycomb-mr1 * commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1': SurfaceTexture: disallow unsupported uses.
| * SurfaceTexture: disallow unsupported uses.Jamie Gennis2011-03-151-0/+10
| | | | | | | | | | | | | | | | | | | | 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
* | GLES2Debugger: Added DbgContext and vertex data capturing.David Li2011-03-1017-1999/+532
| | | | | | | | | | | | | | | | | | 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>
* | Added screenshot after glDraw* option to GLES2 DebuggerDavid Li2011-03-0421-5890/+6131
| | | | | | | | | | | | | | | | | | | | 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>
* | Initial commit of GLESv2 debugger serverDavid Li2011-03-0321-7/+9995
|/ | | | | | | | | | 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>
* Clean up use of HAVE_ANDROID_OSKenny Root2011-02-161-1/+1
| | | | | | | | 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
* Clear all EGL errors when entering EGL funcs.Jamie Gennis2011-01-311-4/+3
| | | | | | | | | 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
* egl: clear error on function entryMichael I. Gold2011-01-251-1/+92
| | | | | | | | 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
* egl: fix GetProcAddress for EGLimage extensionsMichael I. Gold2011-01-161-0/+33
| | | | | | | | Return wrappers from GetProcAddress for glEGLImageTargetTexture2DOES and glEGLImageTargetRenderbufferStorageOES which unwrap the EGLimage handle before calling through to the implementation. Change-Id: I2f5b180ab3ccdb28a4f510a2bd8c2eee941a84df
* egl: expose EGLimage extensionsMichael I. Gold2011-01-161-0/+2
| | | | | | | | 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
* egl: fixes for object refcountsMichael I. Gold2010-12-231-20/+31
| | | | | | | | 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
* am 054ae782: am e1752f41: Merge "fix [3258603] \'Quadrant\' benchmark ↵Mathias Agopian2010-12-081-2/+2
|\ | | | | | | | | | | | | crashes inside eglQueryContext on GB/Crespo" into gingerbread * commit '054ae78245fe9b4c14bbc372ae77cd0a977ded73': fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
| * fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/CrespoMathias Agopian2010-12-081-2/+2
| | | | | | | | | | | | | | eglQueryContext(..., EGL_CONFIG_ID, ...) is dereferencing an uninitialized pointer due to a typo. Change-Id: I100addf3150f19cb6dfbce9987fb5239dd240878