| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Added native_window_set_sideband_stream() method to Surface.[h|cpp]
Added ConfigureVideoTunnelModeParams OMX configuration structure to
HardwareAPI.h
Bug: 16132368
Change-Id: I28fa1b9dbe858d93e353e0991098cad45c626bd9
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Bug: 8679321
Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
it can't write itself to a parcel, nor can it be created from a
parcel.
Change-Id: I69165d5c54d6024b3e546e80d8b57e3dedda7893
|
|
|
|
|
|
| |
this was there just for legacy reasons.
Change-Id: I0a48d6e04d7efa65033f9f10c91bba557f16ae8b
|
|
|
|
| |
Change-Id: I0041e6f49bc637bc52161c83f0bd44101246f480
|
|
|
|
| |
Change-Id: I54d68241f1080eef640aefe71f33912ad79345ef
|
|
|
|
| |
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
|
|
|
|
| |
Change-Id: I0ef474ed9be2cd26fa520ef871ffcf21a25e4994
|
|
|
|
|
|
| |
we use the IBinder instead.
Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
|
|
|
|
|
|
| |
Also, minor tweak to SurfaceTextureLayer.
Change-Id: If616d5ee4e8226dd0e16c5dbb0e0f80db553110e
|
|
|
|
|
|
|
|
|
|
| |
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 a quick intro section at the top of the class. Also noted
the proposed new name for the class.
Change-Id: I3f79663527544aa4e910db0e5a1374b54d16ba2f
|
|
|
|
| |
Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is all dead code.
Change-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce
|
|
|
|
|
|
|
|
|
| |
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
|
|
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|