| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
buffer
Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same".
This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
|
|
|
|
|
|
| |
the first buffer"
This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
|
|
|
|
| |
buffer
|
|
|
|
| |
Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrote SurfaceFlinger's buffer management from the ground-up.
The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice.
The main new feature is to be able to dequeue all buffers at once (very important when there are only two).
A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued.
The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time.
eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q
eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
|
|
|
|
|
| |
what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly.
in particular this caused query(FORMAT) to return the requested format instead of the effective format.
|
| |
|
|
|
|
|
|
| |
the first time.
also fixed a few locking issues in Surface and commented how each member is protected.
|
| |
|
|
|
|
|
|
| |
automatically if needed.
this also ripples into the window manager API by making some constant there deprecated as well.
|
|
|
|
| |
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
| |
architecture as camera services
|
|
|
|
| |
"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."
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
* changes:
update most gl tests to use EGLUtils
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
|
| |
| |
| |
| | |
or native window type
|
| | |
|
|/
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The major things going on here:
- The MotionEvent API is now extended to included "pointer ID" information, for
applications to keep track of individual fingers as they move up and down.
PointerLocation has been updated to take advantage of this.
- The input system now has logic to generate MotionEvents with the new ID
information, synthesizing an identifier as new points are down and trying to
keep pointer ids consistent across events by looking at the distance between
the last and next set of pointers.
- We now support the new multitouch driver protocol, and will use that instead
of the old one if it is available. We do NOT use any finger id information
coming from the driver, but always synthesize pointer ids in user space.
(This is simply because we don't yet have a driver reporting this information
from which to base an implementation on.)
- Increase maximum number of fingers to 10. This code has only been used
with a driver that reports up to 2, so no idea how more will actually work.
- Oh and the input system can now detect and report physical DPAD devices.
|
|
|
|
| |
hardware accelerated blitting.
|
|\
| |
| |
| |
| | |
* changes:
fixed some issues with the software renderer when surfaces are made current.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|/ |
|
|\
| |
| |
| |
| | |
* changes:
Hardware overlay support
|
| |
| |
| |
| | |
Enable hardware overlay support for camera and video playback use cases
|
|/
|
|
|
|
|
| |
This will be used to avoid unnecessarily listening to data from sensors
that function as event devices.
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The kernel can now publish a property describing the layout of virtual
hardware buttons on the touchscreen. These outside of the display
area (outside of the absolute x and y controller range the driver
reports), and when the user presses on them a key event will be
generated rather than a touch event.
This also includes a number of tweaks to the absolute controller
processing to make things work better on the new screens. For
example, we now reject down events outside of the display area.
Still left to be done is the ability to cancel a key down event,
so the user can slide up from the virtual keys to the touch screen
without causing a virtual key to execute.
|
|\ |
|
| |
| |
| |
| | |
Bug 1927069.
|
|\ \ |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit 'c7396025e59524e7ef639fd86fc23123939ee91c'
* commit 'c7396025e59524e7ef639fd86fc23123939ee91c':
Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
|
| | |
| | |
| | |
| | | |
1956726)
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit '17a80081a42410f541a220ab7e6afc64fc6cc399'
* commit '17a80081a42410f541a220ab7e6afc64fc6cc399':
Pipe all the camera callbacks to Java to facilitate the addition
|
| | |
| | |
| | |
| | |
| | |
| | | |
of new features. This will make it easy to add things like zoom
callbacks without modifying the entire camera stack.
Bug 1837832.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
hacks added recently
|
| | |
| | |
| | |
| | | |
video again
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit 'a93466f5ca41c2ba6c3524c8d1edc2138bf753e3'
* commit 'a93466f5ca41c2ba6c3524c8d1edc2138bf753e3':
Cleanup header file. Disallow copy of Camera object by making copy
|
| | |
| | |
| | |
| | | |
constructor and operator= private.
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e'
* commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e':
Remove deprecated callback function support.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the last of a 3-part change to modify the camera to use
a more streamlined callback interface. This change removes the
old code.
Bug 1884362
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282'
* commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282':
Use a ref-counted callback interface for Camera.
|