summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Kill the global references in the OpenGL wrappers.Elliott Hughes2011-04-1126-578/+401
| | | | | | | | | | | | | | | 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
* 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
* Merge "Add a simple OpenGL ES 2.0 test program that displays a camera ↵Eino-Ville Talvala2011-03-294-0/+581
|\ | | | | | | preview stream."
| * Add a simple OpenGL ES 2.0 test program that displays a camera preview stream.Eino-Ville Talvala2011-03-284-0/+581
| | | | | | | | | | | | | | | | | | 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
* | Merge "GLES2Dbg: use 256KB chunks for lzf compression"David Li2011-03-294-39/+43
|\ \
| * | 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>
* | Add Java support for a few accidentally omitted OpenGL ES APIs.Jack Palevich2011-03-281-25/+9
|/ | | | | | Fixes 3491494 Support OpenGL APIs: glBlendEquationSeparate and friends Change-Id: I8fdc94b6ea14e9a7e3d402a965d500790a3d8f77
* 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
* | | Merge "frameworks/base: remove LOCAL_PRELINK_MODULE"Iliyan Malchev2011-03-146-6/+6
|\ \ \
| * | | frameworks/base: remove LOCAL_PRELINK_MODULEIliyan Malchev2011-03-146-6/+6
| | |/ | |/| | | | | | | | | | Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481 Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | am dcbc2557: am c313b59b: am 071929b2: Merge "gl2_yuvtex: use the ↵Jamie Gennis2011-03-141-5/+5
|\ \ \ | |/ / |/| / | |/ | | | | | | gralloc-provided stride." into honeycomb-mr1 * commit 'dcbc255734e506bacd36d8d9483b7f3d6d96d10b': gl2_yuvtex: use the gralloc-provided stride.
| * gl2_yuvtex: use the gralloc-provided stride.Jamie Gennis2011-03-141-5/+5
| | | | | | | | | | | | | | | | 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
* | 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>
* | Merge "Added screenshot after glDraw* option to GLES2 Debugger"David Li2011-03-0921-5890/+6131
|\ \
| * | 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>
* | | Merge "Initial commit of GLESv2 debugger server"David Li2011-03-0921-7/+9995
|\ \ \ | |/ /
| * | 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>
* | | Initial commit of libAgl2 using Pixelflinger2 in external/mesa3dDavid Li2011-03-0811-0/+4162
| |/ |/| | | | | | | | | | | | | | | | | 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>
* | Fix EGL JNI bugsRomain Guy2011-03-073-0/+47
|/ | | | | | | | | Bug #3461349 Before this change, eglGetCurrent*() could not be used to compare contexts, displays and surfaces at the Dalvik level. Change-Id: I442037dae37bc357b64810ab10c779b5754e9153
* 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
* Extend recycled bitmap check to all GLUtils APIs.Jack Palevich2011-02-071-0/+18
| | | | Change-Id: I9ea0022b167af2153190b6642aa303232e257379
* Throw an exception when trying to upload a recycled bitmap.Jack Palevich2011-02-021-0/+3
| | | | | | Previously we would upload garbage. Change-Id: Id785792a16f9d24685687f4e6b64ec893ccad225
* Merge "Clear all EGL errors when entering EGL funcs."Jamie Gennis2011-01-311-4/+3
|\
| * 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
* | am cf675303: am 8df2c424: Merge "Fix a multithreading bug in libagl\'s EGL." ↵Jamie Gennis2011-01-311-0/+5
|\ \ | |/ |/| | | | | | | | | into honeycomb * commit 'cf675303927d8008c5952759d534dcc6c0ca3d4a': Fix a multithreading bug in libagl's EGL.
| * Fix a multithreading bug in libagl's EGL.Jamie Gennis2011-01-301-0/+5
| | | | | | | | | | | | | | | | | | 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
* | Add GL11ExtensionPack support to GLDebugWrapperJack Palevich2011-01-273-1/+721
|/ | | | | | | Allows calling GL11ExtensionPack APIs in a GL context that has been wrapped for debugging. Change-Id: Ib0695b51a92f5dcce32db8b0dc7ee948e5059e7f
* 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
* Unhide GLSurfaceView.get/setPreserveEGLContextOnPauseJack Palevich2011-01-181-2/+0
| | | | Change-Id: I882b8fa7888e2baae41c81b75af7fc1f639d38d6
* Merge "Add support for preserving EGL contexts when pausing / resuming." ↵Jack Palevich2011-01-181-7/+43
|\ | | | | | | into honeycomb
| * Add support for preserving EGL contexts when pausing / resuming.Jack Palevich2011-01-141-7/+43
| | | | | | | | | | | | Hidden for now. Change-Id: I350576c11960a1aa232da7aebc5c6ec60ff796b5