summaryrefslogtreecommitdiffstats
path: root/include/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the ↵Mathias Agopian2010-08-241-0/+3
|\ | | | | | | | | | | | | | | | | orientation of an ANativeWindow" into gingerbread Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64' * commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64': fix [2931513] Add support for setting the orientation of an ANativeWindow
| * fix [2931513] Add support for setting the orientation of an ANativeWindowMathias Agopian2010-08-241-0/+3
| | | | | | | | | | | | Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
* | Change the framework to use the new camera preview path.Jamie Gennis2010-08-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | This change makes the camera HAL interface take an ANativeWindow interface from which all the camera preview buffers will be allocated. The framework code running in application processes now passes a Surface object rather than an ISurface to the camera server via Binder when setting the preview surface. The camera server then forwards that Surface object (which implements the ANativeWindow interface) to the camera HAL, which uses it to communicate with SurfaceFlinger to allocate the camera preview buffers. Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
* | Squashed commit of the following:Andreas Huber2010-08-231-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | commit 35cc68814a9537c31fde146e171e7b0bbdfe211e Author: Andreas Huber <andih@google.com> Date: Mon Aug 16 08:48:42 2010 -0700 Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else. commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 13:56:44 2010 -0700 The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise. commit 684972074b74318bdcb826ed9b5b0864d2d2e273 Author: Andreas Huber <andih@google.com> Date: Fri Aug 13 09:34:35 2010 -0700 A first shot at supporting the new rendering APIs. Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
* Re-use existing Surface objects when reading them from parcels.Jamie Gennis2010-07-161-2/+8
| | | | | | | | | | | | This change adds a process-global cache of previously deserialized Surface objects so that if a Surface object wrapping the same ISurface gets received again the same Surface can be used. This is important because the 'tail' pointer in the SharedBufferClient is stored only on the client side, and needs to be the same for all the Surface objects wrapping an ISurface instance. This solves the problem by making there only be one Surface object wrapping an ISurface per process. Change-Id: I4bf0b8787885c56277622fca053022d2bb638902
* Introduce official public NativeWindow type.Dianne Hackborn2010-06-301-8/+8
| | | | | | | Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
* allow re-targetting of surfacesMathias Agopian2010-06-081-3/+3
| | | | | | | | | Surfaces can now be parcelized and sent to remote processes. When a surface crosses a process boundary, it looses its connection with the current process and gets attached to the new one. Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
* optimize Surface.readFromParcel()Mathias Agopian2010-06-041-4/+3
| | | | | | | | | | | | this is called for each relayout() and used to create a full Surface (cpp) which in turn did some heavy work (including an IPC with surfaceflinger), most of the time to destroy it immediatelly when the returned surface (the one in the parcel) was the same. we now more intelligentely read from the parcel and construct the new object only if needed. Change-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267
* split surface management from surface's buffers managementMathias Agopian2010-06-044-26/+28
| | | | Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
* more clean-up in preparation of bigger changesMathias Agopian2010-05-285-17/+31
| | | | | | | the most important change here is the renaming of ISurfaceFlingerClient to ISurfaceComposerClient Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
* more clean-up of Surfaceflinger's client managementMathias Agopian2010-05-272-19/+27
| | | | | | | | | | | | SurfaceComposerClient now only exist on the WindowManager side, the client side uses the new SurfaceClient class, which only exposes what a client needs. also instead of keeping mappings from IBinder to SurfaceComposerClients we have a SurfaceClient per Surface (referring to the same IBinder), this is made possible by the fact that SurfaceClient is very light. Change-Id: I6a1f7015424f07871632a25ed6a502c55abfcfa6
* fix [2712278] The preview buffer left some black borders in left and bottom ↵Mathias Agopian2010-05-252-14/+12
| | | | | | | | edges we were incorrectly flagging push_buffer surfaces as invalid Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
* added the notion of fixed-size buffersMathias Agopian2010-05-242-6/+34
| | | | | | | | | the new native_window_set_buffers_geometry allows to specify a size and format for all buffers to be dequeued. the buffer will be scalled to the window's size. Change-Id: I2c378b85c88d29cdd827a5f319d5c704d79ba381
* added native_window_set_buffer_count()Mathias Agopian2010-05-211-0/+1
| | | | | | | this method can be used to change the number of buffers associated to a native window. the default is two. Change-Id: I608b959e6b29d77f95edb23c31dc9b099a758f2f
* SharedBufferStack now can grow up to 16 buffers.Mathias Agopian2010-05-122-0/+3
| | | | | | there is a new resize() api, which currently only allows growing. Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
* cleanup. waitForCondition() now uses polymorphsim instead of templtesMathias Agopian2010-04-281-23/+33
| | | | | | | | | the reason for the above change is that waitForCondition() had become large over time, mainly to handle error cases, using inlines to evaluate the condition doesn't buys us much anymore while it increases code size. Change-Id: I2595d850832628954b900ab8bb1796c863447bc7
* better fix for [2420565] Surface.lockCanvas() updates the dirty region too oftenMathias Agopian2010-04-211-1/+1
| | | | Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
* added setCrop() to android_native_window_tMathias Agopian2010-04-202-0/+12
| | | | | | | hooked up the new method up to Surface.cpp the actual crop is not implemented in SF yet Change-Id: Ic6e313c98fd880f127a051a0ccc71808bd689751
* don't hardcode "mSurface" throughout our source codeMathias Agopian2010-04-121-0/+2
| | | | | | | this is used in a few places to get access to the android.view.Surface native surface. use a macro instead. Also rename the field to mNativeSurface. Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
* implement connect/disconnect in our native_window_t implementationsMathias Agopian2010-03-111-0/+8
| | | | | | | | 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
* Added a name to Surface created by SurfaceFlingerMathias Agopian2010-03-012-0/+12
| | | | | Updated the window manager to use this new facility. Surfaces name are now printed by "dumpsys".
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-115-0/+764