summaryrefslogtreecommitdiffstats
path: root/libs/ui/FramebufferNativeWindow.cpp
Commit message (Collapse)AuthorAgeFilesLines
* native frameworks: 64-bit compile issuesMark Salyzyn2014-03-121-3/+3
| | | | | | | - Fix format (print/scanf) - Suppress unused argument warning messages (bonus) Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
* Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-281-6/+12
|\ | | | | | | | | | | | | Conflicts: include/media/hardware/CryptoAPI.h Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
| * libs/ui: Add support for triple framebuffersNaseer Ahmed2012-07-091-6/+12
| | | | | | | | Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
* | Move remaining bits of lockBuffer to dequeueBufferJesse Hall2012-06-211-13/+4
| | | | | | | | | | | | | | FramebufferNativeWindow::dequeueBuffer now waits for the next buffer to be non-front in addition to being free. Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c
* | Update ANativeWindow clients for syncJamie Gennis2012-06-201-4/+34
|/ | | | | | | 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
* remove dependency on android_native{s_priv|buffer}.hMathias Agopian2012-02-241-7/+3
| | | | Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
* libui: add ability to force a framebuffer format for EGL's useDima Zavin2012-02-221-0/+12
| | | | | | | | | | | | This does not actually change the framebuffer format. It merely fakes this format to surfaceflinger so that when it creates framebuffer surfaces it will use this format. It's really a giant HACK to allow interworking with buggy gralloc+GPU driver implementations. You should *NEVER* need to set this for shipping devices. Change-Id: I03eeb5b4d72838ef219df386ecc489fc20ab9cc7 Signed-off-by: Dima Zavin <dima@android.com>
* remove dead/usnused codeMathias Agopian2012-01-111-15/+0
| | | | Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-4/+4
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* connect/disconnect is now called from our EGL wrapperMathias Agopian2011-08-011-0/+2
| | | | | | | | | | | 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
* Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINTMathias Agopian2011-07-211-21/+7
| | | | | | | | | - fixed uninitialized variable - set hint to indentity when transform is too complex - make sure FrameBufferNativeWindow doesn't fail on needed perform commands Bug: 4487161 Change-Id: I7cb2b0869b72404732eca7cb2d145ff669e2ed9b
* implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an ↵Mathias Agopian2011-07-191-0/+12
| | | | | | | optimal buffer orientation" Bug: 4487161 Change-Id: I883f34efe542c2a566d04966f873374f40c50092
* Add set_scaling_mode() to ANativeWindow.Mathias Agopian2011-07-191-5/+25
| | | | | | | This allows to specify the scaling mode independently from the buffer size. Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
* move lock/unlock implementaion outside of Surface into SurfaceTextureClientMathias Agopian2011-07-151-0/+4
| | | | | | | | | | This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work with ANativeWindows implemented by Surface and SurfaceTextureClient. Also, Surface now inherits directly from SurfaceTextureClient. Bug: 5003724 Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
* EGL: fix the ANativeWindow size/fmt overrideJamie Gennis2011-07-111-0/+1
| | | | | | | | | | | | | | | | | | | 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
* frameworks/base: android_native_buffer_t -> ANativeWindowBufferIliyan Malchev2011-05-031-8/+8
| | | | | Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
* frameworks/base: make the ANativeWindow query() method constIliyan Malchev2011-05-031-2/+2
| | | | | | | query() does not modify the object's data, so it needs to be a const method Change-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f Signed-off-by: Iliyan Malchev <malchev@google.com>
* ANativeWindow: add query for the concrete type.Jamie Gennis2011-03-141-0/+3
| | | | | | | | This change adds a query to the ANativeWindow interface for getting the concrete type of the ANativeWindow. Bug: 4086509 Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
* surfaceflinger: add support for gralloc dump hooksErik Gilling2010-12-081-0/+10
| | | | Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
* am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in ↵Jean-Baptiste Queru2010-11-171-19/+26
|\ | | | | | | | | | | | | the UI" * commit 'a15e4886de8f75f3cb137f51743d330414c910e8': Framebuffer: Support variable number of framebuffers in the UI
| * Framebuffer: Support variable number of framebuffers in the UIRodrigo Obregon2010-11-031-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | This change defines a macro NUM_FRAME_BUFFERS to set the desired number of framebuffers to be used by the UI, instead of hard-coding 2 framebuffers. Aditional logic has been added to handle the initialization and destruction of NUM_FRAME_BUFFERS buffers. Change-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46 Signed-off-by: Rodrigo Obregon <robregon@ti.com>
* | Add logging of various important graphics eventsMathias Agopian2010-09-131-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
* | Introduce official public NativeWindow type.Dianne Hackborn2010-06-301-18/+18
|/ | | | | | | Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
* implement connect/disconnect in our native_window_t implementationsMathias Agopian2010-03-111-0/+2
| | | | | | | | the framebuffer implementation doesn't do anything special with this but the surfaceflinger implementation makes sure the surface is not used by two APIs simultaneously. Change-Id: Id4ca8ef7093d68846abc2ac814327cc40a64b66b
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-111-1/+0
|
* Revert change incorrectly submitted as part of change #32153.Romain Guy2009-11-051-2/+0
| | | | Change-Id: I31c52beff03c0d038a257fc151eff3b8da60eddc
* Prevent crash in Home when using widgets whose ids collide with Home'sRomain Guy2009-11-051-0/+2
| | | | | | | | | | resources. Bug #2228943. Approved by mcleron, triaged by ryanpc. Change-Id: Idf40f3b09502ae5d0d3b9a6a72c265a2de2ffca2
* fbDev wasn't initialized of hw_get_module failed, but was then used anyway.Marco Nelissen2009-09-231-8/+10
|
* Android side of the fix for [2121211] Sholes has stutter during animationsMathias Agopian2009-09-171-0/+8
| | | | a new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to
* second take, hopefully this time it doesn't break one of the builds: ↵Mathias Agopian2009-08-111-0/+13
| | | | "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
* Revert "SurfaceFlinger will now allocate buffers based on the usage ↵Fred Quintana2009-08-111-13/+0
| | | | | | specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything." This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
* SurfaceFlinger will now allocate buffers based on the usage specified by the ↵Mathias Agopian2009-08-111-0/+13
| | | | | | | clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything. This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored). Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
* better error handlingMathias Agopian2009-08-061-9/+32
|
* added NATIVE_WINDOW_FORMAT attribute to android_native_window_tMathias Agopian2009-08-061-0/+3
|
* fixed some issues with the software renderer when surfaces are made current.Mathias Agopian2009-07-301-0/+18
| | | | | | | | | | there was several issues: - when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked - when a surface was made current the 2nd time, it would not dequeue a new buffer now, queue/dequeue are done when the surface is made current. for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
* make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few ↵Mathias Agopian2009-06-251-6/+0
| | | | hacks added recently
* hack copybit back in for video playback on msm7k. we have h/w accelerated ↵Mathias Agopian2009-06-241-0/+6
| | | | video again
* add support for update-on-demand in SurfaceFlingerMathias Agopian2009-05-071-1/+11
|
* get rid off unneeded flagsMathias Agopian2009-05-051-22/+1
|
* move android_native_buffer_t declaration into its own ↵Mathias Agopian2009-05-051-0/+2
| | | | private/ui/android_native_priv.h header, since user code should never have access to it.
* move opengl/include/EGL/android_natives.h to ↵Mathias Agopian2009-05-051-0/+19
| | | | | | include/ui/egl/android_natives.h and don't include it from egl.h the android_native_ types are just forward declared in egl.h
* minor clean-up in FramebufferNativeWindowMathias Agopian2009-05-041-14/+0
|
* update surfaceflinger, libui and libagl to the new gralloc apiMathias Agopian2009-05-041-0/+214
- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually. - factor all the lock/unlock code in SurfaceBuffer. - fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers(). - improved the situation with the dirty-region and fixed a problem that caused GL apps to not update. - make use of LightRefBase() where needed, instead of duplicating its implementation - add LightRefBase::getStrongCount() - renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp - disabled copybits test, since it clashes with the new gralloc api - Camera/Video will be fixed later when we rework the overlay apis