3608 Commits

Author SHA1 Message Date
Dave Burke
4982b6918a Revert "error out when SurfaceTexture APIs are called while not connected"
This reverts commit a04cda9986366ab480ad8008c4d923271b05d78e.

Conflicts:

	include/gui/SurfaceTexture.h
	libs/gui/SurfaceTexture.cpp

Change-Id: Ib655016462c496ee2a27f7cb33a6e8b18cfe684a
2011-08-11 15:13:19 +01:00
Mathias Agopian
246ae5011c Merge "Read leftover parcel data when a parceled Surface is found in the cache." 2011-08-10 19:45:34 -07:00
Mathias Agopian
5c71575983 fix a crasher in SurfaceTexture::updateTexImage()
we now make sure to drain the buffer queue on disconnect.
this happens only when in synchrnous mode. in async mode
we clear all buffers except the head of the queue.

for extra safety we also catch the null pointer
in updateTexImage (which should  never happen) and return
an error.

Bug: 5111008

Change-Id: I5174a6ecbb0de641c6510ef56a611cbb4e9e1f59
2011-08-10 17:35:52 -07:00
Mathias Agopian
71fd1213b4 rework dequeueBuffer()'s main loop.
this simplifies the code a bit and also makes sure
we reevaluate mAbandoned and mConnectedApi each time
we come back from waiting on mDequeueCondition

Change-Id: I1f8538b62ad321b51ed79d953b700036daba796d
2011-08-10 17:35:26 -07:00
Mathias Agopian
a04cda9986 error out when SurfaceTexture APIs are called while not connected
- also log a warning when freeAllBuffers is called with a non empty buffer queue
- rename freeAllBuffers to freeAllBuffersLocked

Change-Id: Idb71fdcf233b9ccae62d5a2a7c3c4bad2501d877
2011-08-10 17:33:46 -07:00
Ted Bonkenburg
3f945fa5ef Read leftover parcel data when a parceled Surface is found in the cache.
This fixes an issue where the Surface readFromParcel code was leaving
unread parcel data in the case where the Surface was re-used from the
sCachedSurfaces cache. On a cache miss the code is creating a new
Surface from the remainder of the parcel data. On a hit that data was
being left unread, so anything that parcels a Surface followed by
additional arguments may end up reading the wrong values.

Change-Id: I25365159d945c125bd1fcc9f17e39a4f00aece55
2011-08-09 22:45:38 -07:00
Mathias Agopian
4954193651 fix a crasher in dumpsys
Bug: 5141729
Change-Id: Ib104d49c8660621180966be099198fe29c5bebf5
2011-08-09 15:49:26 -07:00
Mathias Agopian
f6d08b9528 Merge changes Ie06e73e5,I7ac6b5b0
* changes:
  free all buffers when ANativeWindow::disconnect is called
  return correct value from query after connecting a surface
2011-08-09 15:23:19 -07:00
Alex Sakhartchouk
9ce7c0971d Merge "add renderscript doc comments for exposed headers" 2011-08-09 14:13:09 -07:00
Stephen Hines
9940c60af4 Merge "Start refactoring RS headerfiles for docs." 2011-08-09 14:00:51 -07:00
Alex Sakhartchouk
6b2b8bdb28 add renderscript doc comments for exposed headers
Change-Id: Ia7dd82f890775045e543963d64e6dcd3ea4db825
2011-08-09 11:36:19 -07:00
Jason Sams
573fa62074 Start refactoring RS headerfiles for docs.
Change-Id: Ieb7797601f94beec2835e1d936dc2dd0c38cb48c
2011-08-09 11:34:33 -07:00
Mathias Agopian
43a3d91dff free all buffers when ANativeWindow::disconnect is called
Change-Id: Ie06e73e5b44398cda9e99876f78175b5eef765dc
2011-08-08 20:25:45 -07:00
Mathias Agopian
053b02df2d return correct value from query after connecting a surface
the first time a surface was connected, the values returned
by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and
NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call
to queueBuffer was performed.

Bug: 5137366, 5121607
Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
2011-08-08 20:25:44 -07:00
Mathias Agopian
fc4ba11415 Merge "improve dumpsys SurfaceFlinger output" 2011-08-08 20:13:16 -07:00
Mathias Agopian
03edb5d6a6 Merge "add some logs to track a crash in eglCreateImageKHR" 2011-08-08 19:39:58 -07:00
Mathias Agopian
95dfd05c2c add some logs to track a crash in eglCreateImageKHR
Bug: 5111008

Change-Id: I3e7f5b986151e80cbded39e0dec057770da52fc1
2011-08-08 19:36:22 -07:00
Stephen Hines
514a0b3612 Merge "Migrate perf-critical functions away from librs." 2011-08-08 16:12:56 -07:00
Mathias Agopian
0c3367f1bb improve dumpsys SurfaceFlinger output
we now output the handle and size of all buffers of each layer.

Change-Id: I8d011ee4ae9199f4198bd07bed770ec3bcf02986
2011-08-08 16:02:13 -07:00
Jason Sams
d1bfd12704 Add RS docs for rs_core.rsh
Change-Id: Ic961138b2ce7730b38c7673e83c8891407580306
2011-08-08 15:54:14 -07:00
Stephen Hines
e004058419 Migrate perf-critical functions away from librs.
BUG=3497315

Change-Id: Ieaa0d64933767d422aa62740d72b31042dcd4a2f
2011-08-08 15:09:10 -07:00
Jason Sams
00ac96b819 Merge "Add docs to rs_types.rsh" 2011-08-08 14:35:16 -07:00
Jason Sams
a00e6d8bf1 Add docs to rs_types.rsh
Change-Id: Id2352f325c3ef9564cc226c6c5df908df16bb26a
2011-08-08 14:31:25 -07:00
Alex Sakhartchouk
75e0254731 Merge "Fixing rs crash when no texture is bound." 2011-08-08 11:25:03 -07:00
Romain Guy
4974bc1be6 Prevent crash when purging the gradients cache.
Bug #5133876

Change-Id: I3d1fa4e29498044796d725337ac93e6a1e8f0bcb
2011-08-08 10:55:55 -07:00
Alex Sakhartchouk
bbc41c034b Fixing rs crash when no texture is bound.
Change-Id: I2c15106f50de995c63691f27e2c4d89dbffc758e
2011-08-05 15:27:25 -07:00
Stephen Hines
8f019d6305 Merge "Start using bcinfo components within librs." 2011-08-05 13:47:00 -07:00
Wu-cheng Li
09f6d67f37 Merge "Add camera bayer image format." 2011-08-04 01:46:56 -07:00
Wu-cheng Li
70fb908504 Add camera bayer image format.
The API are hidden.

bug:5086073

Change-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc
2011-08-04 16:40:28 +08:00
Stephen Hines
4382467a80 Start using bcinfo components within librs.
BUG=4942491

Change-Id: I3a46783511c4954bac9eadbbbefe5abf85498c16
2011-08-03 18:46:56 -07:00
Mathias Agopian
ec46b4e1ca Add a 'release' method to the SurfaceTexture public Java API
Bug: 5063618
Change-Id: I689cb0c01c14e597ccfb4eb0972e64fa570bd4e8
2011-08-03 17:23:44 -07:00
Romain Guy
7006064a28 Merge "Paint style and stroke width affect text rendering. Bug #5112207" 2011-08-02 17:34:06 -07:00
Romain Guy
bd496bc3d4 Paint style and stroke width affect text rendering.
Bug #5112207

Change-Id: Ic34037ace21a5058ba23dd15e51aae58c998454d
2011-08-02 17:32:41 -07:00
Wu-cheng Li
bb1e275c0e Pass camera frame metadata from camera service to Java.
bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
2011-08-02 15:48:41 +08:00
Wu-cheng Li
0175028b73 Merge "Add camera recording hint parameter." 2011-08-02 00:16:28 -07:00
Wu-cheng Li
25d8fb51da Add camera recording hint parameter.
The API is still hidden.

bug:4266229
Change-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2
2011-08-02 14:27:58 +08:00
Shih-wei Liao
d6793460ea Merge "Finish the refactor work of bccPrepareExecutable" 2011-08-01 23:26:39 -07:00
Romain Guy
4b51247071 Merge "Reduce the amount of data cached by the gradients cache." 2011-08-01 18:57:43 -07:00
Romain Guy
6203f6c814 Reduce the amount of data cached by the gradients cache.
Change-Id: I8546f5a5ecf38031c9a40bdcc434d4c7f22da63d
2011-08-01 18:56:21 -07:00
Jeff Brown
2a2ec87b55 Merge "Refactor input reader to add stylus support. Bug: 5064702" 2011-08-01 17:48:21 -07:00
Mathias Agopian
34e1fb1ee2 Merge "connect/disconnect is now called from our EGL wrapper" 2011-08-01 16:36:02 -07:00
Romain Guy
de7c93948f Merge "Use high precision iterators on specific GPUs Bug #5098359" 2011-08-01 15:29:56 -07:00
Romain Guy
a60c388971 Use high precision iterators on specific GPUs
Bug #5098359

Change-Id: I52ee8c7b4c9e8d4c7bedb684eaf7bef6c44c74b9
2011-08-01 15:28:16 -07:00
Mathias Agopian
982d2da4ee connect/disconnect is now called from our EGL wrapper
the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.

Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
2011-08-01 14:06:20 -07:00
Jamie Gennis
d356b2d5e3 Merge "SurfaceTexture: allow set_buffer_count(2)" 2011-08-01 13:25:03 -07:00
Jeff Brown
be1aa8250c Refactor input reader to add stylus support.
Bug: 5064702

Introduced the concept of an InputListener to further decouple
the InputReader from the InputDispatcher.  The InputListener
exposes just the minimum interface that the InputReader needs
to communicate with the outside world.  The InputReader
passes arguments to the InputListener by reference, which makes
it easy to queue them up.

Consolidated all of the InputReader locks into one simple global
Mutex.  The reason this wasn't done before was due to potential
re-entrance in outbound calls to the InputDispatcher.  To fix this,
the InputReader now queues up all of the events it wants to send
using a QueuedInputListener, then flushes them outside of the
critical section after all of the event processing is finished.
Removing all of the InputMapper locks greatly simplifies the
implementation.

Added tests for new stylus features such as buttons, tool types,
and hovering.

Added some helpers to BitSet32 to handle common code patterns
like finding the first marked bit and clearing it.

Fixed a bug in VelocityTracker where the wrong pointer trace
could get cleared when handling ACTION_POINTER_DOWN.  Oops.

Changed PointerCoords so it no longer stores useless zero
axis values.  Removed editAxisValue because it is not very
useful when all zero value axes are absent and therefore
cannot be edited in place.

Added dispatch of stylus hover events.

Added support for distance and tool types.

Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
2011-07-31 15:38:09 -07:00
Jamie Gennis
d995b08353 SurfaceTexture: allow set_buffer_count(2)
This change relaxes an error check in SurfaceTexture::setBufferCount to
allow clients to explicitly set a buffer count of 2.  The clients that
will do this are camera and video decode.  Previously it was thought
that for those clients we would always use async mode, which requires a
minimum of 3 buffers.  However, we now believe that for some devices it
may make sense to use synchronous mode (with 2 buffers) to reduce memory
usage.

Bug: 5088418
Change-Id: I620a0ef75075745be9d6c8219e0246aaf33ba950
2011-07-30 16:00:11 -07:00
Logan Chien
8ce8a1af76 Finish the refactor work of bccPrepareExecutable
Rename bccPrepareExecutableEx to bccPrepareExecutable.
(These functions are the same, and we will remove
 bccPrepareExecutableEx several commits later.)

Change-Id: I519130bb3b731bf927cb92924f355d7d1ea0242c
2011-07-30 16:55:02 +08:00
Mathias Agopian
8bb824566f improve GraphicAllocator dump method
GraphicAllocator debugging cannot deal with
custom HAL formats. make this more obvious in the
log.

Change-Id: I202e58a7f213f32e725aa4eac62cdf6e50ca5894
2011-07-29 16:35:41 -07:00
Romain Guy
b50149825f Correctly apply linear filter to drawBitmap(Rect, Rect)
Change-Id: I1049282e1996b1020c92cb7bec46e9f28e94e967
2011-07-28 15:40:47 -07:00