summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* fix an issue where the screen could be stale after a surface size changeMathias Agopian2011-08-011-0/+10
| | | | | | | | | | | | | | | | | | some GLES drivers dequeue buffers before a frame is started (which is allowed), which can cause a that frame to be rendered into a buffer of the wrong size. Such buffer will be ignored by the compositor. If the application draws only once after a size change, the screen might stay in this stale state. this can be avoided by telling the GL driver to purge all its pending buffers, which is done by making the surface not current and then current again. this solution is specific to android, but acceptable because handled solely in the framework. Bug: 2263168 Change-Id: I3d3c9a019979a9186e329d3160fa54adac78d3f7
* 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
* Add new OpenGL testRomain Guy2011-07-192-0/+486
| | | | Change-Id: Icab48d71945bf94dd53f58b728a951d46380d945
* EGL: update EGL_ANDROID_recordable extension.Jamie Gennis2011-07-172-5/+37
| | | | | | | | 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
* Merge "fix typo in a comment"Mathias Agopian2011-07-121-1/+1
|\
| * fix typo in a commentMathias Agopian2011-07-121-1/+1
| | | | | | | | Change-Id: If913611a65e8b578021e9f9a9546f05e0ce6ef44
* | Merge "Remove the simulator target from all makefiles. Bug: 5010576"Jeff Brown2011-07-1212-84/+36
|\ \
| * | Remove the simulator target from all makefiles.Jeff Brown2011-07-1112-84/+36
| |/ | | | | | | | | | | Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
* | Merge changes I002177a6,Ibaff52feJamie Gennis2011-07-113-0/+333
|\ \ | | | | | | | | | | | | | | | * changes: Add the EGL_ANDROID_recordable spec. Add the spec for EGL_ANDROID_blob_cache.
| * | Add the EGL_ANDROID_recordable spec.Jamie Gennis2011-07-112-0/+125
| | | | | | | | | | | | Change-Id: I002177a68fafd6bb941aa64445c85fd5ff56223a
| * | Add the spec for EGL_ANDROID_blob_cache.Jamie Gennis2011-07-111-0/+208
| |/ | | | | | | Change-Id: Ibaff52fee5c856283536ad37251cc80a9f3f938b
* | 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
* Add a simple EGL testMathias Agopian2011-07-082-0/+170
| | | | | | currently it just tests EGLConfig selection Change-Id: Id9d9971012d733147dd7dc02fa2054307960235e
* Properly refcount SurfaceTexture in the JNI layer.Romain Guy2011-06-151-2/+2
| | | | Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
* 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
* fix libagl surface initializationMathias Agopian2011-05-111-0/+4
| | | | | | this broke recently when removing copybit support. Change-Id: I5cc7ff7f49268411c6c2cfb2d97590d52b13dbd5
* frameworks/base: android_native_buffer_t -> ANativeWindowBufferIliyan Malchev2011-05-036-38/+38
| | | | | Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Merge "Allows to render with an OpenGL context inside a TextureView."Romain Guy2011-05-021-4/+14
|\
| * Allows to render with an OpenGL context inside a TextureView.Romain Guy2011-05-021-4/+14
| | | | | | | | Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
* | remove last traces of copybitMathias Agopian2011-05-022-2/+0
|/ | | | Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
* get rid of dependency on copybit HAL moduleMathias Agopian2011-04-282-1768/+1650
| | | | Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
* 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
* Merge "GLES2Dbg: noop - format & comment"David Li2011-04-222-6/+6
|\
| * GLES2Dbg: noop - format & commentDavid Li2011-04-212-6/+6
| | | | | | | | | | Change-Id: Ibb36508181d4322e236b6595b28d253f282c36d7 Signed-off-by: David Li <davidxli@google.com>
* | Fix typo in Matrix.mPerspective.Jack Palevich2011-04-211-1/+1
| | | | | | | | | | | | | | (Introduced by a copy-and-paste mistake when factoring out a common expression. D'Oh!) Change-Id: I5e97dde2d2f4564fc74ba69bfa4a2f9db44c8873
* | Add utility method Matrix.perspectiveMJack Palevich2011-04-211-2/+37
|/ | | | Change-Id: Ic9d5e5d967bbc08acc524c5092ce61a1cdbfd360
* 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>
* 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>