3463 Commits

Author SHA1 Message Date
Romain Guy
f09ef51889 Fix issue with drawColor(color, Mode.Clear)
Change-Id: I486b24a5b609c6f8adb0276037ddb24af2b888b2
2011-05-27 11:43:46 -07:00
Jason Sams
41d8165b94 Merge "Cleaup of rsComponent to remove GL types." 2011-05-27 11:37:45 -07:00
James Dong
ef9be20715 am 6c2db6fb: am 95f397ad: Merge "Revert "DO NOT MERGE Correctly implement the CLEAR xfermode."" into honeycomb-mr2
* commit '6c2db6fb1925f291cc9748cf3bf0897b9001c972':
  Revert "DO NOT MERGE Correctly implement the CLEAR xfermode."
2011-05-27 11:33:26 -07:00
James Dong
f1d8a30c95 Revert "DO NOT MERGE Correctly implement the CLEAR xfermode."
This reverts commit e324197ecd14591d7db0572f50c0d21bbd269bb4.
2011-05-27 11:17:39 -07:00
Romain Guy
eb2466b303 Merge "Prettify memory dump." 2011-05-27 10:23:09 -07:00
Romain Guy
d2ba50ab86 Prettify memory dump.
Change-Id: I071c6a04a144a96955d85f56dffc6162288ee33e
2011-05-27 10:21:07 -07:00
Romain Guy
8eed7aded7 Merge "Fix texture coordinates for sub-bitmap rendering." 2011-05-26 18:40:13 -07:00
Romain Guy
1e59f9d10d Fix texture coordinates for sub-bitmap rendering.
Change-Id: I05a31775e03f5b223a55a5144d420351abac89be
2011-05-26 18:39:34 -07:00
Jason Sams
66db3ab50f Cleaup of rsComponent to remove GL types.
Change-Id: I9f82bafe42f5fb30335b15f38eb251dc1ec62e80
2011-05-26 17:05:51 -07:00
Romain Guy
0f667ff5e5 am a33bb164: am 4686fb8a: Merge "DO NOT MERGE Correctly implement the CLEAR xfermode." into honeycomb-mr2
* commit 'a33bb164b2ac792d5bba76ba198fb052197fd520':
  DO NOT MERGE Correctly implement the CLEAR xfermode.
2011-05-26 17:00:14 -07:00
Romain Guy
4686fb8ac8 Merge "DO NOT MERGE Correctly implement the CLEAR xfermode." into honeycomb-mr2 2011-05-26 16:55:33 -07:00
Romain Guy
e324197ecd DO NOT MERGE Correctly implement the CLEAR xfermode.
This bug is a regression from the software pipeline and prevents
applications from implementing an "eraser" type tool (for instance
a drawing/painting apps.) This issue affects external applications
when they turn on hardware acceleration.

The previous implementation was using glBlendFunc with the parameters
GL_ZERO/GL_ZERO which doesn't work for text, paths and other alpha
sources (anti-aliasing.) The correct implementation is GL_ZERO/
GL_ONE_MINUS_SRC_ALPHA.

Change-Id: I1446e83480e46174b880120069d76fcad14ba300
2011-05-26 16:53:26 -07:00
Romain Guy
f9187df698 Merge "Correctly implement the CLEAR xfermode." 2011-05-26 16:43:26 -07:00
Romain Guy
f504a2fa14 Correctly implement the CLEAR xfermode.
The previous implementation was using glBlendFunc with the parameters
GL_ZERO/GL_ZERO which doesn't work for text, paths and other alpha
sources (anti-aliasing.) The correct implementation is GL_ZERO/
GL_ONE_MINUS_SRC_ALPHA.

Change-Id: I4cca65e57b6a37bbf5a41d382cb0648ee8e11e79
2011-05-26 16:40:55 -07:00
Jason Sams
0d92e3441f Merge "Start splitting allocation into hal and core." 2011-05-26 16:37:09 -07:00
Jason Sams
7e8aae7f76 Start splitting allocation into hal and core.
Change-Id: Ic506abb0469238cb0471eb1401cfcb7b2fbbe4bb
2011-05-26 16:33:01 -07:00
Jeff Brown
3c2fb0242b am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
* commit '8148cc3e47e50c916066e2fed562618b5827188f':
  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
2011-05-25 14:46:53 -07:00
Jeff Brown
fbc67977ae am d5358874: am 5ced76a1: Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
* commit 'd5358874e2cc90be3d7d3370ef7342c96c212451':
  Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
2011-05-25 14:46:37 -07:00
Jeff Brown
8e5799ed16 am af685f3b: am 85a7f99c: Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2
* commit 'af685f3bb566f297deee1615d55d4f33d5580ba3':
  Refactor how timeouts are calculated. (DO NOT MERGE)
2011-05-25 14:42:20 -07:00
Jeff Brown
7d0fb57044 am 16330e24: am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2
* commit '16330e249663fed890df0e95fce4016c2971120a':
  Improve VelocityTracker numerical stability. (DO NOT MERGE)
2011-05-25 14:42:06 -07:00
Jeff Brown
4e3ba25cc7 am 4bd89fb0: am 82e4373e: Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2
* commit '4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1':
  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
2011-05-25 14:42:01 -07:00
Jeff Brown
86ea1f5f52 Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements.  The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
2011-05-25 14:37:17 -07:00
Jeff Brown
5ced76a143 Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
Some drivers report individual finger updates one at a time
instead of all at once.  When 10 fingers are down, this can
cause the framework to have to handle 10 times as many events
each with 10 times as much data.  Applications like
PointerLocation would get significantly bogged down by all
of the redundant samples.

This change coalesces samples that are closely spaced in time,
before they are dispatched, as part of the motion event batching
protocol.

Increased the size of the InputChannel shared memory buffer so
that applications can catch up faster if they accumulate a
backlog of samples.

Change-Id: Ibc6abf8af027d9003011ac75caa12941080caba3
2011-05-25 14:37:16 -07:00
Jamie Gennis
dd386ccb90 SurfaceTexture: disable a failing test.
The SurfaceTextureSyncModeWaitRetire test was disabled.  It is failing
because of the synchronization hacks that were added to SurfaceTexture
to work around bugs in vendor device drivers.

Change-Id: I09a74538bfe14a04833acb6847471e00826cc7fc
2011-05-25 12:27:33 -07:00
Jamie Gennis
44e9e0d825 SurfaceTexture: fix an error check in dequeueBuffer.
This change fixes the MIN_UNDEQUEUED_BUFFERS error check in
dequeueBuffer.  The check should only be performed if a buffer has been
queued since the last time the buffer count was changed by the client.
The check must be applied conditionally because video decoders require
all the bufferes to be dequeued and registered before beginning the
decode.

Change-Id: I08d96b380544e395c2fcf0f3983a199bfd695b09
2011-05-25 12:27:33 -07:00
Jamie Gennis
a218715a7f SurfaceTexture: clean up some comments, tests, etc.
This change fixes up some stale comments, member variable names, log
messages and disables a failing test.

Change-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c
2011-05-25 12:27:33 -07:00
Simon Wilson
b9783b49f4 am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread
* commit 'c9cd2387b6938a6fbefc731d2177902266f2a130':
  Fix a race that could cause GL commands to be executed from the wrong thread.
  RefBase subclasses can now decide how they want to be destroyed.
  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
  Fix a race-condtion in SurfaceFlinger that could lead to a crash.
2011-05-24 17:29:12 -07:00
Jeff Brown
68d6075b4a Refactor how timeouts are calculated. (DO NOT MERGE)
Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454
2011-05-23 17:20:42 -07:00
Jeff Brown
5b2b4d9c0a Improve VelocityTracker numerical stability. (DO NOT MERGE)
Replaced VelocityTracker with a faster and more accurate
native implementation.  This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation.  This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces.  The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
2011-05-23 17:19:59 -07:00
Jeff Brown
96ad3979f3 Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
   While dragging, the pointer follows the finger that is moving
   fastest.  This is important if there are additional fingers
   down on the touch pad for the purpose of applying force
   to an integrated button underneath.
4. Two fingers near each other moving in the same direction
   are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
   transformed into touches in the vicinity of the pointer.
   This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd
2011-05-23 17:19:38 -07:00
Mathias Agopian
9e7636681e RefBase subclasses can now decide how they want to be destroyed.
This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.

Bug: 4483050
Change-Id: I8cbf6044a6fd3f01043a45592b5a60fa1e5fade2
2011-05-23 16:13:48 -07:00
Mathias Agopian
8e4ee2d709 Merge "Call RefBase::destroy() when OBJECT_LIFETIME_* is not the default" 2011-05-20 13:15:20 -07:00
Chet Haase
9162bca142 Merge "Enable large font rendering with GPU acceleration" 2011-05-20 07:33:41 -07:00
Dianne Hackborn
161e67ff3b resolved conflicts for merge of 06a8ceac to master
Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
2011-05-19 21:44:52 -07:00
Mathias Agopian
ba3cf46273 Call RefBase::destroy() when OBJECT_LIFETIME_* is not the default
Change-Id: Ifb2069e095dba57b7d97e9f2d942fd85fa975f58
2011-05-19 21:01:04 -07:00
Mathias Agopian
16fa5aae96 Merge "RefBase subclasses can now decide how they want to be destroyed." 2011-05-19 19:41:37 -07:00
Mathias Agopian
6db8c50539 RefBase subclasses can now decide how they want to be destroyed.
This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.
2011-05-19 19:40:01 -07:00
Dianne Hackborn
06a8ceacb0 am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.
* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
  Add new "-swNNNdp" resource qualifier.
2011-05-19 19:34:21 -07:00
Dianne Hackborn
69cb87576b Add new "-swNNNdp" resource qualifier.
Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
2011-05-19 18:23:29 -07:00
Chet Haase
44984ea0cb Enable large font rendering with GPU acceleration
Change-Id: I7b022100fb0762613f9cf7753dbb0217e1e75f8d
2011-05-19 16:39:37 -07:00
Jason Sams
d9d37cc1b6 Move context and device creation out of the spec file.
Change-Id: I79470d4fb9317bcad9d68921ce0c414aa133f3cb
2011-05-18 17:40:34 -07:00
Alex Sakhartchouk
60108e629c Merge "Preparing libRS for for compilation on host." 2011-05-18 16:39:05 -07:00
Mathias Agopian
4235e03417 Merge "Disable error report temporarily to enable inline video" 2011-05-18 14:43:53 -07:00
Teng-Hui Zhu
bca2d5b3df Disable error report temporarily to enable inline video
bug:4435022

Change-Id: I06f05a4781ad432ab71db93f0815eb89cd2e7a69
2011-05-18 14:37:51 -07:00
Eino-Ville Talvala
706804e2e4 Merge "Add auto-white balance locking to the Camera API." 2011-05-18 08:54:40 -07:00
Jamie Gennis
9539d9f65a libutils: add a binary blob cache implementation.
This change adds an implementation of a cache that stores key/value
pairs of unstructured binary blobs.

Change-Id: Idd01fdabedfa3aed6d359a6efb0592967af52651
2011-05-17 16:58:37 -07:00
Alex Sakhartchouk
6c72eec06e Preparing libRS for for compilation on host.
Change-Id: I851add79831331c8a8b20dcccdb0817f8ad0c359
2011-05-17 16:42:24 -07:00
Alex Sakhartchouk
51c07e717b Merge "Moves fbo support in renderscript behind the hal" 2011-05-17 15:40:29 -07:00
Jason Sams
3badb0d0ca Merge "Core to client fifo on sockets." 2011-05-17 15:05:50 -07:00
Jason Sams
edbfabdb98 Core to client fifo on sockets.
Change-Id: I3b84a7d4c3c5fa0d764ad4db22dfd142d5cfa95b
2011-05-17 15:01:29 -07:00