summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Disable the egl_khr_gl_colorspace extensionJesse Hall2013-09-161-3/+29
| | | | | Bug: 10777398 Change-Id: Ib50ea8b9d5d960537701b85929d6312304993a0f
* fix a possible null dereference when eglMakeCurrent() failsMathias Agopian2013-09-061-1/+2
| | | | | Bug: 10648797 Change-Id: Iee0be47f2646feb25de4ea199bbb9b707452916e
* remove adreno 130 workaround supportMathias Agopian2013-08-282-19/+0
| | | | Change-Id: I8ea5ee65d405114b30cfaa44e1a0c971d1ef2a61
* try to keep omap4 aliveMathias Agopian2013-08-283-35/+22
| | | | | Bug: 10527646 Change-Id: Iec572a910e932115cf4f2e1215142b10cd91bd6f
* only use format compatible with CPU consumersMathias Agopian2013-08-211-15/+28
| | | | | | | | | EGL now picks the buffer format out of a small set of formats compatible with CPU consumers instead of using the EGL_NATIVE_VISUAL_ID. Bug: 10194508 Change-Id: If423cd29601b7a3ace8670f4c73004132cfc4b31
* Replace sRGB_888 with sRGB_X_8888Jesse Hall2013-08-161-3/+3
| | | | | Bug: 10357459 Change-Id: I3a1d92cce2c9d3e930408129fb20887276fffddc
* Add support for EGL_KHR_gl_colorspaceJesse Hall2013-08-133-19/+77
| | | | Change-Id: I684d0b8556cd6c84ee4b4d67e1bb95c3b96fccfb
* Don't swallow eglCreateContext errorsJesse Hall2013-08-121-6/+0
| | | | | | | | | | If the implementation eglCreateContext failed, we called eglGetError(), so we could check that it set the EGL error properly. But since we'd already called this, when the app called eglGetError() it would get EGL_SUCCESS! Bug: 10181333 Change-Id: Ic45d3a8fcb8c4421e04844c6d2f52761790b5948
* make sure we have a context when creating the 1st surfaceMathias Agopian2013-08-081-0/+5
| | | | | | | also add an option to dump the stack trace when calling a GL function without a context. Change-Id: I57b72bb8c322ac4253c3077bf150621bd9863b69
* Merge "Add EGL_KHR_get_all_proc_addresses to extension string"Jesse Hall2013-08-072-18/+26
|\
| * Add EGL_KHR_get_all_proc_addresses to extension stringJesse Hall2013-08-062-18/+26
| | | | | | | | | | | | | | | | | | We've had the extended behavior since Android 4.3, but the extension hadn't been ratified by Khronos yet so we couldn't add it to the extension string. Bug: 9681677 Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
* | All consumers now take an IGraphicBufferConsumer instead of a BufferQueueMathias Agopian2013-08-061-4/+4
|/ | | | | | | | | | this means they only have access to the consumer end of the interface. we had a lot of code that assumed consumers where holding a BufferQueue (i.e.: both ends), so most of this change is untangling in fix that Bug: 9265647 Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
* Merge "Binderize the consumer side of BufferQueue"Mathias Agopian2013-08-022-1/+2
|\
| * Binderize the consumer side of BufferQueueMathias Agopian2013-08-012-1/+2
| | | | | | | | | | | | | | | | | | | | While currently untested, this should allow to move the BuffereQueue in the consumer process and have everything work as usual. Bug: 9265647 Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
* | Drop frames based on presentation timestampAndy McFadden2013-08-011-5/+0
|/ | | | | | | | | | | | | If there are two or more buffers pending that are ready for immediate presentation, drop all but the last one. Any code that didn't explicitly specify timestamps for buffers was using the default value (auto-generated "now"). As a result, surfaceflinger would drop frames whenever more than one buffer was queued. We now use zero as the auto-generated timestamp, and we don't set the timestamp in eglBeginFrame(). Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
* Make Flattenable not virtualMathias Agopian2013-07-301-4/+2
| | | | | | | | | | | | | | | | | Fallout from the Flattenable change, update all its uses. Additionnaly, fix/tighten size checks when (un)flatten()ing things. Removed the assumption by some flattenables (e.g.: Fence) that the size passed to them would be exact (it can and will be larger in some cases) The code in Parcel is a bit complicated so that we don't have to expose the full implementation (and also to keep the code smallish). Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
* Merge "EGL: fix eglTerminate blob cache behavior"Jamie Gennis2013-07-301-6/+3
|\
| * EGL: fix eglTerminate blob cache behaviorJamie Gennis2013-07-301-6/+3
| | | | | | | | | | Bug: 9610573 Change-Id: I258e7e0d82ab76fbacf0b9c25d4f92fca6df04ac
* | get rid of HAL pixelformats 5551 and 4444Mathias Agopian2013-07-263-12/+0
|/ | | | Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
* BufferQueue improvements and APIs changesMathias Agopian2013-07-181-2/+6
| | | | | | | | | | | | | | | | | | | | this is the first step of a series of improvements to BufferQueue. A few things happen in this change: - setSynchronousMode() goes away as well as the SynchronousModeAllowed flag - BufferQueue now defaults to (what used to be) synchronous mode - a new "controlled by app" flag is passed when creating consumers and producers those flags are used to put the BufferQueue in a mode where it will never block if both flags are set. This is achieved by: - returning an error from dequeueBuffer() if it would block - making sure a buffer is always available by replacing the previous buffer with the new one in queueBuffer() (note: this is similar to what asynchrnous mode used to be) Note: in this change EGL's swap-interval 0 is broken; this will be fixed in another change. Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
* am 082fc1ca: am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"Jesse Hall2013-07-171-1/+1
|\ | | | | | | | | * commit '082fc1cae6a0c283de3ad0d848e0757de3154d0b': EGL: Fix error for eglCreateWindowSurface
| * am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"Jesse Hall2013-07-171-1/+1
| |\ | | | | | | | | | | | | * commit 'ae9610220b5f509687b840532f95f3638ee0146b': EGL: Fix error for eglCreateWindowSurface
| | * EGL: Fix error for eglCreateWindowSurfaceJonathan Hamilton2013-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The EGL 1.4 spec section 3.5.1 states that EGL_BAD_ALLOC should be set if the supplied window already has an associated EGLSurface, not EGL_BAD_NATIVE_WINDOW as is currently set. Change-Id: If1598617f4e31904f2045560ae1cdf49d8a697dc
* | | resolved conflicts for merge of 5477d0e4 to masterJesse Hall2013-07-113-24/+55
|\ \ \ | |/ / | | | | | | Change-Id: I7ca75a44018a68bf3a7ac1de17a3ef568a48d2ac
| * | am c07b5206: Find non-extension GLES wrappers in eglGetProcAddressJesse Hall2013-07-093-1/+32
| |\ \ | | | | | | | | | | | | | | | | * commit 'c07b52060acd627c8510c1a9151e0753fce76330': Find non-extension GLES wrappers in eglGetProcAddress
| | * | Find non-extension GLES wrappers in eglGetProcAddressJesse Hall2013-07-043-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows apps to find OpenGL ES 3.0 functions using eglGetProcAddress() instead of dlopen/dlsym. Bug: 9681677 Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
* | | | improve GLES jumptablesMathias Agopian2013-07-016-133/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the common case this saves one instructions per jump (which will help with the i-cache). this change also gets rid of the "use slow tls" option, which was useless. So at least now architectures that don't have assembly bindings will perform much better. Change-Id: I31be6c06ad2136b50ef3a1ac14682d7812ad40d2
* | | | Merge "Small clarifications to EGL_ANDROID_presentation_time"Jesse Hall2013-06-261-3/+18
|\ \ \ \
| * | | | Small clarifications to EGL_ANDROID_presentation_timeJesse Hall2013-06-261-3/+18
| | | | | | | | | | | | | | | | | | | | Change-Id: I4365a981776ab0a5719c268258b87ff1418f9aeb
* | | | | am db8c267e: am 3c0425cd: am 0ecf0b8d: Merge "Additional parameter ↵Jean-Baptiste Queru2013-06-251-6/+11
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | | | | | | | | | validation for EGL functions" * commit 'db8c267ec26997771eb718c29d3dacd4e738051b': Additional parameter validation for EGL functions
| * | | am 0ecf0b8d: Merge "Additional parameter validation for EGL functions"Jean-Baptiste Queru2013-06-251-6/+11
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit '0ecf0b8db74682222bf095a235e28edefff871a5': Additional parameter validation for EGL functions
| | * | Merge "Additional parameter validation for EGL functions"Jean-Baptiste Queru2013-06-251-6/+11
| | |\ \
| | | * | Additional parameter validation for EGL functionsMichael Chock2012-09-121-6/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I841d005647559799edbc2c4824c61ea5791cf893
* | | | | Fix wrapper equals()Andy McFadden2013-06-215-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it faster and correcter. Also, fixed the "gen" script to update the static/egl/*.java files as part of doing an update. Altered the "git" lines to change directories before invoking git -- necessary because we're now split between frameworks/base and frameworks/native. Bug 9204146 Change-Id: Ie60504b1932349e6f2c9d3868dee6a645ef2b36e
* | | | | free EGL resources associated to a thread when it terminatesMathias Agopian2013-05-304-20/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | destroyed but current-to-a-thread resources are only destroyed when they're made not-current; however, we were not destroying those when the thread itself terminated, causing these resources to be leaked forever. we now install a tls-key destructor that takes care of this by calling eglReleaseThread upon thread termination. Bug: 9209776 Change-Id: I88298a34e3a27488eb81eab76717715569c7d57c
* | | | | am 7a486528: am f0dcff89: Merge "gl_code.cpp: Remove a DOS style newline"Jesse Hall2013-05-131-1/+1
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '7a4865287460a5f0ff26e22be5f0271735d32ac7': gl_code.cpp: Remove a DOS style newline
| * | | | am f0dcff89: Merge "gl_code.cpp: Remove a DOS style newline"Jesse Hall2013-05-131-1/+1
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| | * commit 'f0dcff89acb998179757ca66b5c6a2c585a980e9': gl_code.cpp: Remove a DOS style newline
| | * | Merge "gl_code.cpp: Remove a DOS style newline"Jesse Hall2013-05-131-1/+1
| | |\ \
| | | * | gl_code.cpp: Remove a DOS style newlineBernhard Rosenkränzer2013-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id3edd6e511371fa8b0afef2e90baed4662ed76c4 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* | | | | Merge "change how the userspace GLES drivers are named"Mathias Agopian2013-05-022-63/+127
|\ \ \ \ \
| * | | | | change how the userspace GLES drivers are namedMathias Agopian2013-04-262-63/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for single library: /vendor/lib/egl/GLES.so for multiple libraries: /vendor/lib/egl/EGL.so /vendor/lib/egl/GLESv1_CM.so /vendor/lib/egl/GLESv2.so EGL_BOARD_CONFIG as well as egl.cfg are not needed anymore. To facilitate the transition, the loader will also look for the older naming scheme. Bug: 8631636 Change-Id: Id4b113468df29bae72b323f76598229914e1c7a1
* | | | | | am 958ef3d7: am c8639351: Generate new EGLExt classJesse Hall2013-05-028-24/+195
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | * commit '958ef3d79c48ddef3afa5327f7ed15a5ecfd2d1d': Generate new EGLExt class
| * | | | | Generate new EGLExt classJesse Hall2013-05-028-24/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initially populated with EGL_ANDROID_presentation_time (moved from the EGL14 class) and the ES-relevant parts of EGL_KHR_create_context. Bug: 8678160 Change-Id: Ifed2ee3da264ca701ae1f4b309a0758f7fcc3acc
* | | | | | am 34c0fb18: am cc8f8ad3: Merge "Fix glGetUniformIndices JNI prototype" into ↵Jesse Hall2013-04-301-1/+1
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jb-mr2-dev * commit '34c0fb183767b80e93a7cd77233ead5fe50bd822': Fix glGetUniformIndices JNI prototype
| * | | | | Merge "Fix glGetUniformIndices JNI prototype" into jb-mr2-devJesse Hall2013-05-011-1/+1
| |\ \ \ \ \
| | * | | | | Fix glGetUniformIndices JNI prototypeJesse Hall2013-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 8657863 Change-Id: I130d1b54d0cbd1f8613d3108482526d05d73d9e4
* | | | | | | am ef4dbb6a: am 5d46b04b: Merge "Recommend different time source" into ↵Andy McFadden2013-04-301-2/+2
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jb-mr2-dev * commit 'ef4dbb6af3db147f4c25ae1d7013b1a30fd8fed2': Recommend different time source
| * | | | | | Merge "Recommend different time source" into jb-mr2-devAndy McFadden2013-05-011-2/+2
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| | * | | | | Recommend different time sourceAndy McFadden2013-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were recommending SystemClock#uptimeMillis() from Java code, but millisecond resolution is a little coarse. We don't have an appropriate call in SystemClock, so use System.nanoTime() instead. Bug 8733179 Change-Id: Ifb85a03eabf7ff168966adcb5ed5914bbf3884b2
* | | | | | | am 8369c473: am f6d1c393: EGL: expose the EGL_KHR_create_context extensionJamie Gennis2013-04-291-0/+1
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | * commit '8369c4739a58367e9636c84facc272cf8ddcb070': EGL: expose the EGL_KHR_create_context extension