Commit Graph

38 Commits

Author SHA1 Message Date
Robert Carr f3954fba2d Add comment to keep enum in sync.
Now that we expose SCALING_MODE_* constants
out to Java add a comment to keep the bindings
in sync.

Bug: 26010823
Change-Id: I35473c673b79223ea3bebc118d3a31fc82f37381
2015-12-17 11:38:39 -08:00
Pablo Ceballos 923d27f20d Expose setSingleBufferMode in ANativeWindow
Bug 24940410

Change-Id: Ied57f1bef1988bdd0bf4dd95572f0985c9d43c2d
2015-11-03 10:56:25 -08:00
Dan Stoza 0a866ea450 ANativeWindow: Add NATIVE_WINDOW_BUFFER_AGE query
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)
2015-04-28 13:42:30 -07:00
Dan Stoza 238ec985f9 Add NATIVE_WINDOW_SET_SURFACE_DAMAGE
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
2015-04-15 12:49:41 -07:00
Eino-Ville Talvala b93343d199 DO NOT MERGE Add ANativeWindow dataSpace; update graphics formats, color spaces
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
2015-03-19 13:19:48 -07:00
Rachad d6d4c61a93 Tunneled Video Playback support
Added native_window_set_sideband_stream() method to window.h

Bug: 16132368
Change-Id: Iff5770cb2e2d27176bee37edacaed7b783bbce2a
2014-08-04 21:57:37 +00:00
Ruben Brunk a5e65d86a2 Allow sticky transform to be set in ANativeWindow.
Bug: 15116722

- Adds methods to set the sticky transform field.

Change-Id: Idaa4311dfd027b2d2b8ea5e2c6cba2da5779d753
2014-07-14 22:14:49 +00:00
Ian Rogers de8b983357 Rename __unused to __UNUSED for glibc support.
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
2014-06-27 17:40:32 -07:00
Mark Salyzyn 289e111a00 system/window.h: add deprecation warnings
Change-Id: I38de3d281f28e0750b4abb86f28509f98dfc7a72
2014-05-23 15:10:06 -07:00
Mark Salyzyn 4887842c92 include: cleanup for -Wsystem-header
- warnings as errors, or errors introduced when -Wsystem-header
  was experimentally introduced.

Change-Id: Ia8f5b3c1c1096e191741223d52526aa48c7f1cc4
2014-05-23 15:09:57 -07:00
Rom Lemarchand ddc20de148 move sync headers from include to libsync
Make sw_sync.h private

Change-Id: I0b120ebe81fd4a191b7aa4b6a8de4f64d16e2b3e
2014-01-03 21:27:05 +00:00
Mathias Agopian 96675ed91f Fix rotation in camera2 API
Bug: 10804238
Change-Id: I093945789d9c6d373392fc9dfd18ec2c6058d3b9
2013-09-17 23:48:54 -07:00
Eino-Ville Talvala f88a5b4f88 Window: Add query for consumer usage bits.
Bug: 9592202
Change-Id: Ied2fdb985dc59dd9c0f26c515353abdc37f0eb77
2013-07-30 21:38:13 +00:00
Mathias Agopian bcfa910611 Refactoring: Rename SurfaceTextureClient to Surface
Change-Id: Ie745d9adf5465834bb8bf751a2f88b19435fdf46
2013-02-15 12:48:01 -08:00
Jesse Hall bc930eda39 Move dequeue-buffer-and-wait out-of-line
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
2012-10-01 14:02:45 -07:00
Jamie Gennis 96094ae27c ANW: fix my fix for a file descriptor leak
Change-Id: Ief7b973fbdb76920abed19707963a0c3d306af31
2012-09-20 17:25:23 -07:00
Jamie Gennis 9bd8dd3b13 ANW: fix an fd leak
Change-Id: Id44cae6732c6694d2f470cbdfa5f59e7474f704f
2012-09-20 11:43:43 -07:00
Jamie Gennis 22aec573b7 ANativeWindow: update queue/dequeue/cancel w/ sync
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
2012-06-19 09:52:24 -07:00
Jamie Gennis d21113ac46 ANativeWindow: add set_post_transform_crop
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
2012-05-07 14:21:46 -07:00
Jamie Gennis 190b6e2698 ANativeWindow: fix up some comments
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
2012-04-30 16:32:06 -07:00
Mathias Agopian c36cc3b598 Merge "ANativeWindow: add set_active_rect" 2012-04-24 17:30:33 -07:00
Jamie Gennis aa3f4c3591 add query for finding out if consumer runs behind of producer
Change-Id: I3baae99d4da00d962d3afe6bdfc16e3eb04ede24
2012-04-24 17:29:42 -07:00
Jamie Gennis fb1ee57144 ANativeWindow: add set_active_rect
This change adds the set_active_rect 'method' to the ANativeWindow interface.

Change-Id: Iae910d259ba5c3e94594fa1ffec5fc0662546ad0
2012-04-17 19:37:48 -07:00
Mathias Agopian aab19bbcb6 Merge "Added flag for cropped scaling mode" 2012-04-12 17:34:51 -07:00
Daniel Lam 29392a4e5b Added flag for cropped scaling mode
NATIVE_WINDOW_SCALING_MODE_CROP forces the SurfaceTexture
to match the crop rect's aspect ratio to that of the window.

Change-Id: Id126b106eac06fd34d2d650a1bc66ffbac26c501
2012-04-12 14:33:31 -07:00
Michael I. Gold afcdef6357 window: add API for native_window_set_buffers_user_dimensions
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
2012-04-10 18:15:48 -07:00
Mathias Agopian c958a7f498 add missing include
Change-Id: Id93278c59cfdf72a62a4fe26178bd5c3e43b089e
2012-02-25 21:13:36 -08:00
Jesse Hall 7cd3e0a3a2 Document ANativeWindow's buffer refcounting
Change-Id: I5454e90afd1a1b7d4a75c503f8dca712dba33790
2011-12-12 16:54:14 -08:00
Mathias Agopian 319f4e2793 fix a typo that prevented api_connect/api_disconnect to work
also make the original connect/disconnect inlines be no-ops.

Change-Id: Ic723e21455491c63ccbbcd01d3a47cd7ed788319
2011-08-03 11:37:27 -07:00
Mathias Agopian 8ad545297c connect/disconnect is now deprecated.
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
2011-07-29 17:52:36 -07:00
Mathias Agopian 5100916182 support for "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation"
Bug: 4487161
Change-Id: I36708fd155415adbb666137692252381c19abcf6
2011-07-19 17:09:35 -07:00
Mathias Agopian ae3736a3d1 Add lock/unlock perform codes
these will be used to implement lock/unlock on
surfacetexture.

Change-Id: I75f8d8dd136433bd5d61610caeb763d836f8b4e7
2011-07-13 18:40:38 -07:00
Mathias Agopian 42cc1edfe7 Add setScalingMode to ANativeWindow
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
2011-07-13 15:49:58 -07:00
Jamie Gennis 5423e9e4ce ANativeWindow: add more connectable APIs
This change adds three new possible values for the 'api' argument to
native_window_connect: CPU, MEDIA and CAMERA.

Change-Id: I9305a5c0c87ab06a2c2bd7c585f54c7c7470408a
Bug: 5020877
2011-07-12 13:54:59 -07:00
Jamie Gennis 208ec5ec56 ANativeWindow: add setters for dimensions and fmt
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
2011-07-07 11:51:48 -07:00
Glenn Kasten c322f67140 Bug 4571308 Timestamps are not always monotonic
Change-Id: Ia4e89a286a514d91d76268235c716e328cd3d0c2
2011-06-27 10:42:39 -07:00
tedbo 1ffdb38213 Fix broken comment on closing #endif in window.h
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
2011-05-24 00:55:33 -07:00
Iliyan Malchev 0ab886bdab move ANativeWindow and friends under system/core
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>
2011-05-02 19:19:54 -07:00