summaryrefslogtreecommitdiff
path: root/libs/ui/FramebufferNativeWindow.cpp
AgeCommit message (Collapse)Author
2012-03-07remove files that moved to frameworks/nativeMathias Agopian
Change-Id: I140d291e520097b1148930f736823650e08488f7
2012-02-24remove dependency on android_native{s_priv|buffer}.hMathias Agopian
Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
2012-02-22libui: add ability to force a framebuffer format for EGL's useDima Zavin
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>
2012-01-11remove dead/usnused codeMathias Agopian
Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
2012-01-08Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2011-08-01connect/disconnect is now called from our EGL wrapperMathias Agopian
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
2011-07-21Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINTMathias Agopian
- 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
2011-07-19implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an ↵Mathias Agopian
optimal buffer orientation" Bug: 4487161 Change-Id: I883f34efe542c2a566d04966f873374f40c50092
2011-07-19Add set_scaling_mode() to ANativeWindow.Mathias Agopian
This allows to specify the scaling mode independently from the buffer size. Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
2011-07-15move lock/unlock implementaion outside of Surface into SurfaceTextureClientMathias Agopian
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
2011-07-11EGL: fix the ANativeWindow size/fmt overrideJamie Gennis
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
2011-05-03frameworks/base: android_native_buffer_t -> ANativeWindowBufferIliyan Malchev
Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-05-03frameworks/base: make the ANativeWindow query() method constIliyan Malchev
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>
2011-03-14ANativeWindow: add query for the concrete type.Jamie Gennis
This change adds a query to the ANativeWindow interface for getting the concrete type of the ANativeWindow. Bug: 4086509 Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
2010-12-08surfaceflinger: add support for gralloc dump hooksErik Gilling
Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
2010-11-17am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in ↵Jean-Baptiste Queru
the UI" * commit 'a15e4886de8f75f3cb137f51743d330414c910e8': Framebuffer: Support variable number of framebuffers in the UI
2010-11-03Framebuffer: Support variable number of framebuffers in the UIRodrigo Obregon
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>
2010-09-13Add logging of various important graphics eventsMathias Agopian
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
2010-06-30Introduce official public NativeWindow type.Dianne Hackborn
Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
2010-03-11implement connect/disconnect in our native_window_t implementationsMathias Agopian
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
2010-02-11split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian
2009-11-05Revert change incorrectly submitted as part of change #32153.Romain Guy
Change-Id: I31c52beff03c0d038a257fc151eff3b8da60eddc
2009-11-05Prevent crash in Home when using widgets whose ids collide with Home'sRomain Guy
resources. Bug #2228943. Approved by mcleron, triaged by ryanpc. Change-Id: Idf40f3b09502ae5d0d3b9a6a72c265a2de2ffca2
2009-09-23fbDev wasn't initialized of hw_get_module failed, but was then used anyway.Marco Nelissen
2009-09-17Android side of the fix for [2121211] Sholes has stutter during animationsMathias Agopian
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
2009-08-11second take, hopefully this time it doesn't break one of the builds: ↵Mathias Agopian
"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."
2009-08-11Revert "SurfaceFlinger will now allocate buffers based on the usage ↵Fred Quintana
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.
2009-08-11SurfaceFlinger will now allocate buffers based on the usage specified by the ↵Mathias Agopian
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.
2009-08-06better error handlingMathias Agopian
2009-08-06added NATIVE_WINDOW_FORMAT attribute to android_native_window_tMathias Agopian
2009-07-30fixed some issues with the software renderer when surfaces are made current.Mathias Agopian
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).
2009-06-25make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few ↵Mathias Agopian
hacks added recently
2009-06-24hack copybit back in for video playback on msm7k. we have h/w accelerated ↵Mathias Agopian
video again
2009-05-07add support for update-on-demand in SurfaceFlingerMathias Agopian
2009-05-05get rid off unneeded flagsMathias Agopian
2009-05-05move android_native_buffer_t declaration into its own ↵Mathias Agopian
private/ui/android_native_priv.h header, since user code should never have access to it.
2009-05-05move opengl/include/EGL/android_natives.h to ↵Mathias Agopian
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
2009-05-04minor clean-up in FramebufferNativeWindowMathias Agopian
2009-05-04update surfaceflinger, libui and libagl to the new gralloc apiMathias Agopian
- 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