Commit Graph

25 Commits

Author SHA1 Message Date
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