Now that we expose SCALING_MODE_* constants
out to Java add a comment to keep the bindings
in sync.
Bug: 26010823
Change-Id: I35473c673b79223ea3bebc118d3a31fc82f37381
Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.
Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
(cherry picked from commit 19df32cd19)
Adds a new perform action: NATIVE_SET_WINDOW_SURFACE_DAMAGE, which
allows the producer to describe the region of the surface that has
changed since the previous frame.
Bug: 11239309
Change-Id: Ie645e6a52b37b5c1b3be19481e8348570d1aa62c
First stage of adding a new dataSpace field for ANativeWindow,
for communicating format- (and endpoint-) dependent information
about graphics buffers. For most formats, dataSpace describes the
color space of the buffer, while format describes the memory layout.
For some formats, the dataSpace may also specify that the buffer
contains depth measurements, encoded images, or other kinds of
information that is not necessarily a simple 2D image.
Rename the existing colorspace enumeration to dataspace, with an added
dataspace for depth, and sRGB gamma-corrected and linear colorspaces.
Add in a definition for Android depth point clouds as a
variable-length list of float-triplet coordinates, as the underlying
layout of buffers with format HAL_PIXEL_FORMAT_BLOB and dataSpace of
HAL_DATASPACE_DEPTH.
Also remove now-unnecessary sRGB HAL graphics formats, and remove the
alias RAW_SENSOR that was left in to ease transition to RAW16.
Cherry pick of I8797f67fb9c2b18da5975f2145303ca0bf98e62d with the
following diff to maintain source compatibility:
@@ -58,6 +58,11 @@ enum {
HAL_PIXEL_FORMAT_RGB_565 = 4,
HAL_PIXEL_FORMAT_BGRA_8888 = 5,
+ // Deprecated sRGB formats for source code compatibility
+ // Not for use in new code
+ HAL_PIXEL_FORMAT_sRGB_A_8888 = 0xC,
+ HAL_PIXEL_FORMAT_sRGB_X_8888 = 0xD,
+
/*
* 0x100 - 0x1FF
*
@@ -189,6 +194,9 @@ enum {
*/
HAL_PIXEL_FORMAT_RAW16 = 0x20,
+ // Temporary alias for source code compatibility; do not use in new code
+ HAL_PIXEL_FORMAT_RAW_SENSOR = HAL_PIXEL_FORMAT_RAW16,
+
/*
* Android RAW10 format:
*
Change-Id: I5c5ba98b297436f950e06a181eb0ff955747680f
Glibc declares unused fields as __unused and so a #define for __unused causes
issues when we built against glibc on the host. Rename __unused to __UNUSED as
a workaround.
This fixed checkbuild for 64-bit host builds. Bug: 13751317
Change-Id: Ic2cd52518c16661497cc819cb3fd7f1fa5c6f0fb
The dequeueBuffer_DEPRECATED function also waits for the buffer fence,
so we can just call that. That way the wait call is compiled into our
code (instead of driver code) and we can see/modify it for debugging.
Bug: 7217641
Change-Id: Ie2ea85ed1543a4ff7986d0162aee773e93591309
This change deprecates the existing queueBuffer, dequeueBuffer, lockBuffer, and
cancelBuffer functions, and replaces them with a queueBuffer, dequeueBuffer,
and cancelBuffer function that accepts or returns a libsync fence file
descriptor. It also adds the native_window_dequeue_buffer_and_wait convenience
function.
Change-Id: Ifaac91164d014993d7d1d96e0303e04e429f4d00
This change replaces the set_active_rect function with set_post_transform_crop.
There is a temporary set_active_rect function that calls
set_post_transform_crop for compatibility while commiting to multiple git
repositories.
Change-Id: Ia7c171186fd277d5a36f6068ace93a9ce1c82d28
This change clarifies in the ANativeWindow perform docs which perform calls are
private to the framework and should not be made by code below the HAL level.
Change-Id: Ibfeba0760d9a3f74996e6358d5ad89a408f80dfe
NATIVE_WINDOW_SCALING_MODE_CROP forces the SurfaceTexture
to match the crop rect's aspect ratio to that of the window.
Change-Id: Id126b106eac06fd34d2d650a1bc66ffbac26c501
Add token and wrapper function for a new private function
native_window_set_buffers_user_dimensions which overrides the native window
size as the default buffer size. This is intended for use primarily by
ANativeWindow_SetBuffersGeometry so that application-set buffer dimensions may
co-exist with pre-rotation in e.g. the GLES driver which calls
native_window_set_buffers_dimension.
Change-Id: I6c0fc334c070290cc15b04daae1484d0a28cd8ad
these hooks are replaced by api_connect/api_disconnect
which serve exactly the same purpose than before.
the old hooks are deprecated because they won't be called
from the gl driver anymore, but instead will be called
by our EGL wrapper. to maintain binary compatibility
it was necessary to introduce these new hooks.
Change-Id: I11756a5d99e3ea3d6fb61b943f82037932dfa56a
Also cleanup the header a bit. Give fixed values to enum
because these can never change. And try to make all
comments C (as opposed to C++)
Change-Id: Ie0914ccd81a0231f32e8c21a8ff730985c5c3607
This change adds three new possible values for the 'api' argument to
native_window_connect: CPU, MEDIA and CAMERA.
Change-Id: I9305a5c0c87ab06a2c2bd7c585f54c7c7470408a
Bug: 5020877
This change adds two new 'perform' setters to set the dimensions and
pixel format of the buffers that will be dequeued from the
ANativeWindow. These new setters provide the same functionality as
_SET_BUFFERS_GEOMETRY, but allow the format and dimensions to be set
independently. The _SET_BUFFERS_GEOMETRY setter is still supported to
maintain backwards compatibility.
Change-Id: Ib49b7798ffebe61eff2c8e4202fc3048cfec7bdd
The closing #endif comment is missing the comment delimiters. This
change adds them and fixes a compile warning about extra tokens after
endif.
Change-Id: If8295aa6fbb2b21c2b56fe57a467dcde79c65de3
This patch moves the definition of ANativeWindow from frameworks/base into
system/core. We move ANativeWindow for two reasons.
Firstly, the native-window interface may need to be used by lower-level code
than the framework. Such code (such as the camera HAL) is not allowed to use
definitions from frameworks/base, since the latter is stacked on top of the
former. Thus moving (the interface definition) ANativeWindow under system/core
lowers the level at which we can work with windows.
Secondly, this enables an implementation of ANativeWindow that lies outside of
frameworks, enabling quick initial bringup of graphics.
Change-Id: I851b9bb2834bcec73255b5af82f66411e54bb1a5
Signed-off-by: Iliyan Malchev <malchev@google.com>