summaryrefslogtreecommitdiffstats
path: root/include/gui/Surface.h
Commit message (Collapse)AuthorAgeFilesLines
* Tunneled Video Playback supportRachad2014-08-041-0/+1
| | | | | | | | | Added native_window_set_sideband_stream() method to Surface.[h|cpp] Added ConfigureVideoTunnelModeParams OMX configuration structure to HardwareAPI.h Bug: 16132368 Change-Id: I28fa1b9dbe858d93e353e0991098cad45c626bd9
* Add sticky transform to surfaceflinger.Ruben Brunk2014-07-141-0/+8
| | | | | | | | | | Bug: 15116722 - Adds a sticky transform field that can be set from a SurfaceFlinger client Surface. This transform is added to any transform applied to the Surface. Change-Id: Idaa4311dfd027b2d2b8ea5e2c6cba2da5779d753
* BufferQueue: Add allocateBuffers methodDan Stoza2014-06-201-0/+10
| | | | | | | | | | | | | | This adds an allocateBuffers method to BufferQueue, which instructs it to allocate up to the maximum number of buffers allowed by the current configuration. The goal is that this method can be called ahead of render time, which will prevent dequeueBuffers from blocking in allocation and inducing jank. This interface is also plumbed up to the native Surface (and, in another change, up to the Java Surface and ThreadedRenderer). Bug: 11792166 Change-Id: I4aa96b4351ea1c95ed5db228ca3ef98303229c74
* Add sideband streams to BufferQueue and related classesJesse Hall2014-03-111-0/+13
| | | | | | | | | | | | Sideband streams are essentially a device-specific buffer queue that bypasses the BufferQueue system. They can be used for situations with hard real-time requirements like high-quality TV and video playback with A/V sync. A handle to the stream is provided by the source HAL, and attached to a BufferQueue. The sink HAL can read buffers via the stream handle rather than acquiring individual buffers from the BufferQueue. Change-Id: Ib3f262eddfc520f4bbe3d9b91753ed7dd09d3a9b
* SurfaceFlinger now uses GLES 2.x when availableMathias Agopian2013-08-131-1/+0
| | | | | | Bug: 8679321 Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
* Make ANW.setSwapInterval(0) work againMathias Agopian2013-07-191-0/+4
| | | | | | | | | | | we can now queue/dequeue a buffer in asynchrnous mode by using the async parameter to these calls. async mode is only specified with those calls (it is not modal anymore). as a consequence it can only be specified when the buffer count is not overidden, as error is returned otherwise. Change-Id: Ic63f4f96f671cb9d65c4cecbcc192615e09a8b6b
* BufferQueue improvements and APIs changesMathias Agopian2013-07-181-1/+8
| | | | | | | | | | | | | | | | | | | | 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
* Surface can now be created only from an IGraphicBufferProducerMathias Agopian2013-03-121-11/+0
| | | | | | | it can't write itself to a parcel, nor can it be created from a parcel. Change-Id: I69165d5c54d6024b3e546e80d8b57e3dedda7893
* get rid of Surface::getISurfaceTexture()Mathias Agopian2013-02-191-7/+25
| | | | | | this was there just for legacy reasons. Change-Id: I0a48d6e04d7efa65033f9f10c91bba557f16ae8b
* fix build: SurfaceTextureClient to Surface renameMathias Agopian2013-02-151-1/+1
| | | | Change-Id: I0041e6f49bc637bc52161c83f0bd44101246f480
* fix build: SurfaceTextureClient to Surface renameMathias Agopian2013-02-151-0/+4
| | | | Change-Id: I54d68241f1080eef640aefe71f33912ad79345ef
* Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-141-122/+191
| | | | Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
* remove access ANDROID_VIEW_SURFACE_JNI_IDMathias Agopian2013-02-131-2/+0
| | | | Change-Id: I0ef474ed9be2cd26fa520ef871ffcf21a25e4994
* get rid of Surface identity and tokenMathias Agopian2013-02-131-9/+3
| | | | | | we use the IBinder instead. Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
* Add some comments.Andy McFadden2013-01-111-4/+2
| | | | | | Also, minor tweak to SurfaceTextureLayer. Change-Id: If616d5ee4e8226dd0e16c5dbb0e0f80db553110e
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-4/+4
| | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: Ia03e468888025b5cae3c0ee1995434515dbea387
* Added some commentsAndy McFadden2012-12-171-0/+7
| | | | | | | Added a quick intro section at the top of the class. Also noted the proposed new name for the class. Change-Id: I3f79663527544aa4e910db0e5a1374b54d16ba2f
* Remove unused "layer" argument from show().Jeff Brown2012-08-271-1/+1
| | | | Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
* Banish DisplayID from the SurfaceFlinger API.Jeff Brown2012-08-271-0/+1
| | | | | | | | | | | | | | | Use only display tokens in the API to refer to new displays. Don't require the caller to specify the display when creating a surface (since in general a surface could be shown on any display). This is intended to be a minimum change just to update the API. Note that SurfaceFlinger still uses DisplayID in a few places internally that might cause some features not to work properly when there are multiple displays (LayerScreenshot, for example). Change-Id: I3d91eec2da406eefd97bcd53655d403ad865a7e6
* Remove freeze(), unfreeze() and setFreezeTint().Jeff Brown2012-07-161-3/+0
| | | | | | This is all dead code. Change-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce
* SurfaceFlinger: add a crop to the layer stateJamie Gennis2012-05-111-0/+1
| | | | | | | | | This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
* fix libgui header locationMathias Agopian2012-02-271-0/+175
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe