4446 Commits

Author SHA1 Message Date
Romain Guy
4930649d35 am 68cefd20: Merge "Textured text calls could be invisible Bug #6597730" into jb-dev
* commit '68cefd201809372a547257a273b805cabbd0da68':
  Textured text calls could be invisible Bug #6597730
2012-06-12 12:43:36 -07:00
Romain Guy
16c8808525 Textured text calls could be invisible
Bug #6597730

Text would sometimes not appear when rendered with textured content
(BitmapShader, LinearGradientShader, etc.) This was due to a misuse
of OpenGL texture unit in FontRenderer. Textured text normally uses
two texture units:
- texture unit 0 for the font cache
- texture unit 1 for the textured content (gradient, etc.)

Recent changes to the font renderer allow it to bind new textures
while processing the text's geometry (this happens when caches get
full or when switching font size for instance.) The bindings were
done without ensuring the texture unit was the correct one
(unit 0), thus replacing the content of another texture unit
(unit 1).

This lead to text being drawn using the font cache itself as the
content texture, making the text invisible.

Change-Id: I392b4c884f09223305f6cbc6253e2ef9a98944c9
2012-06-11 16:11:56 -07:00
Chet Haase
ca43c96127 am 44b2fe3f: Track canvas clearing for swap buffers logic.
* commit '44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2':
  Track canvas clearing for swap buffers logic.
2012-06-07 09:45:16 -07:00
Chet Haase
44b2fe3fc1 Track canvas clearing for swap buffers logic.
A previous fix made it necessary for a frame to render something to GL
in order to cause a call to eglSwapBuffers(). Besides the calls being
tracked as part of issuing a DisplayList, there is also a potential call
to clear the canvas (via glClear()) on non-opaque surfaces. This call is also
good to track, since a surface that gets cleared without any other drawing operations
is worth flipping to the screen (to erase old contents on that surface).

This fix tracks the status of the pre-draw operations to find out whether
glClear() was called and then sets the drawing status appropriately.

Issue #6606422 QuickContact dismissal is janky again (Tracking)

Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
2012-06-07 06:25:04 -07:00
Chris Craik
6d99a02464 am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev
* commit '8f1f714f831bf8bf10f94211c42e36ef2851810d':
  Revert "Add more temporary logging for investigating detachFunctor"
2012-06-06 16:47:57 -07:00
Chris Craik
932b7f6765 Revert "Add more temporary logging for investigating detachFunctor"
bug:6608646

This reverts commit 8857b2f76abad1e4ec742dfd85d0c997880be376

Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
2012-06-06 14:02:55 -07:00
Chris Craik
34e5f5a534 am 3676b137: Merge "Add more temporary logging for investigating detachFunctor" into jb-dev
* commit '3676b137ecf2f24e88e8a3567c11234e7d4416d2':
  Add more temporary logging for investigating detachFunctor
2012-06-05 12:31:31 -07:00
Chris Craik
8857b2f76a Add more temporary logging for investigating detachFunctor
bug:6596807
Change-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f
2012-06-05 11:24:46 -07:00
Jeff Brown
78f04a364f am 51df04b9: Port the legacy velocity tracker strategy.
* commit '51df04b93e8e362edd867abd7efaf1659b8b8b82':
  Port the legacy velocity tracker strategy.
2012-06-04 13:13:34 -07:00
Jeff Brown
ba58221769 am a5b06982: Implement a second order integrating VT strategy.
* commit 'a5b0698231459ac5b54cf8e8952ac5c2b2b2198b':
  Implement a second order integrating VT strategy.
2012-06-04 13:13:30 -07:00
Jeff Brown
2fd6baef59 am 18f329e9: Implement a weighted least squares VelocityTracker strategy.
* commit '18f329e9480fca75210bb7496e5b4bc987b4ad8f':
  Implement a weighted least squares VelocityTracker strategy.
2012-06-04 13:13:27 -07:00
Jeff Brown
51df04b93e Port the legacy velocity tracker strategy.
For comparison purposes, port the legacy velocity tracker
algorithm as it behaved prior to ICS.

Bug: 6413587
Change-Id: I7e8e56584dcdb1a3c660ca9d8f9c5bd5d868e449
2012-06-04 12:34:03 -07:00
Jeff Brown
a5b0698231 Implement a second order integrating VT strategy.
Bug: 6413587
Change-Id: I51bc7b8cbff22b10b728fc84ee15370e9984dd55
2012-06-04 12:34:03 -07:00
Jeff Brown
18f329e948 Implement a weighted least squares VelocityTracker strategy.
No change to the default strategy.

Bug: 6413587
Change-Id: I08eb6f9a511e65ad637359b55b5993c26ba93b40
2012-06-04 12:34:03 -07:00
Jeff Brown
767bc6d26c am 1fbbc071: Merge "Implement an integrating VelocityTracker strategy." into jb-dev
* commit '1fbbc0716f9b70c6dcee00c4550757077ef7f7b5':
  Implement an integrating VelocityTracker strategy.
2012-06-03 21:19:16 -07:00
Jeff Brown
7d3fa093bb am f47e76e2: Merge "Make velocity tracker strategy configurable." into jb-dev
* commit 'f47e76e2c78e78e26110786e99548d718d177c32':
  Make velocity tracker strategy configurable.
2012-06-03 21:19:13 -07:00
Jeff Brown
1fbbc0716f Merge "Implement an integrating VelocityTracker strategy." into jb-dev 2012-06-03 21:16:38 -07:00
Jeff Brown
f47e76e2c7 Merge "Make velocity tracker strategy configurable." into jb-dev 2012-06-03 21:16:18 -07:00
Jeff Brown
53dd12a668 Implement an integrating VelocityTracker strategy.
This algorithm better tolerates certain kinds of errors in the
touch input than the least squares strategy but it may underestimate
the velocity of accelerating movements.  This algorithm is
mainly of interest as a baseline for testing and comparison with the
least squares algorithm, which remains the default.

Bug: 6413587
Change-Id: I8ddb50084e44875e234717907e5b06d03f59788c
2012-06-03 19:23:58 -07:00
Jeff Brown
9eb7d86181 Make velocity tracker strategy configurable.
This change is very useful for testing purposes because it makes it
easy to compare different implementations to see how they behave.

There is no change to the current default strategy.

Bug: 6413587
Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
2012-06-03 19:21:49 -07:00
Chet Haase
d0140062db am 561ff8a7: Merge "Skip eglSwapBuffers() call when we do not draw to GL" into jb-dev
* commit '561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b':
  Skip eglSwapBuffers() call when we do not draw to GL
2012-06-01 07:32:39 -07:00
Chet Haase
486590963e Skip eglSwapBuffers() call when we do not draw to GL
The fix is to track when we issue GL drawing commands, and to skip the
call to eglSwapBuffers() when a DisplayList does not result in
any actual rendering calls to GL.

Issue #6364143 QuickMuni list items and buttons flicker instead of fade

Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
2012-05-31 17:22:27 -07:00
Chris Craik
9970bbac1f am 3534e134: Merge "Avoid crash if onDetachedFromWindow called after destroy" into jb-dev
* commit '3534e13486a0081b1229e698f13bd3a37efa3fb0':
  Avoid crash if onDetachedFromWindow called after destroy
2012-05-22 17:22:19 -07:00
Chris Craik
3534e13486 Merge "Avoid crash if onDetachedFromWindow called after destroy" into jb-dev 2012-05-22 17:20:07 -07:00
Chris Craik
9e08012869 Avoid crash if onDetachedFromWindow called after destroy
This also removes the temporary logging from commit
f8dafa14e058cdc2f408b59be7911abaceb73c47.

bug:6535911
Change-Id: Icf1d0438b349a0e92e7d9cefed57a252eed2b9b0
2012-05-22 16:52:00 -07:00
Chris Craik
49413bcccb am 7a9328a3: Merge "Add temporary functor lifetime logging" into jb-dev
* commit '7a9328a3118725389564fe2a9b926837fa3d58a9':
  Add temporary functor lifetime logging
2012-05-22 14:41:35 -07:00
Chris Craik
7a9328a311 Merge "Add temporary functor lifetime logging" into jb-dev 2012-05-22 14:39:13 -07:00
Romain Guy
5ba87a0076 am e5a4a3dc: Merge "Ensure we always set the proper blending mode Bug #6527305" into jb-dev
* commit 'e5a4a3dc1648844f06d29efd42c9306c3cdf177e':
  Ensure we always set the proper blending mode Bug #6527305
2012-05-22 14:32:20 -07:00
Romain Guy
e5a4a3dc16 Merge "Ensure we always set the proper blending mode Bug #6527305" into jb-dev 2012-05-22 14:28:58 -07:00
Chris Craik
f8dafa14e0 Add temporary functor lifetime logging
bug:6535911

Change-Id: Ida5cc1def7fe1fc314317bbc5df50e1465753deb
2012-05-22 14:26:15 -07:00
Romain Guy
ddf7437361 Ensure we always set the proper blending mode
Bug #6527305

At the beginning of a frame, always set the blending mode that we
think GL is using just in case it was modified by another entity
(for instance a WebView functor.)

Change-Id: I0e1d0abee8a2abb2b8e7622aed28346e89562c06
2012-05-22 14:08:10 -07:00
Chris Craik
1ff2c7fe91 am 12fd5db4: Merge "Don\'t clear the functor at every draw" into jb-dev
* commit '12fd5db435043681371ca7e9694744d71b6ba271':
  Don't clear the functor at every draw
2012-05-22 13:13:17 -07:00
Chris Craik
c8538ade8d Don't clear the functor at every draw
instead clear functors at invoke time, and let them detach themselves as needed.

bug:6511995
Change-Id: I9115fcadffb27eb850c1d1773c098d3d2e22788b
2012-05-22 11:54:06 -07:00
Romain Guy
d568e4d2ac am 196a7dae: Merge "Sanitize display list properties" into jb-dev
* commit '196a7dae6387b118f73c78b7ae16ebfa604ae249':
  Sanitize display list properties
2012-05-18 15:59:44 -07:00
Romain Guy
f26c8be01b Sanitize display list properties
The comparisons used in the various properties setters could fail badly
in some specific conditions. The scale properties in particular did not
use the same comparisons.

This change also clamps alpha to the 0..1 range which avoids overflow
issues with lowp registers in GLSL computations.

Change-Id: I3e73b584e907a14e2c33d0865ca0d2d4d5bff31d
2012-05-18 10:58:45 -07:00
Romain Guy
952a4512a8 am 2298fe22: Merge "Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390" into jb-dev
* commit '2298fe223f1ae45d45dbdd69e115a24a8ea2df10':
  Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390
2012-05-15 11:32:55 -07:00
Romain Guy
d5cfec8d34 am 7b8523aa: Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev
* commit '7b8523aaed11a3b5ee286776023233036ac0759d':
  Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
2012-05-15 11:31:54 -07:00
Jeff Brown
aebfdc231a am e4db99cf: Merge "Detect when pointer has stopped moving." into jb-dev
* commit 'e4db99cf87c47730e80dc1431f07f4f1062c648e':
  Detect when pointer has stopped moving.
2012-05-15 11:31:47 -07:00
Jeff Brown
634ec69aa9 am 08b544c7: Merge "Fix pointer indexing issue in VelocityTracker." into jb-dev
* commit '08b544c7be67343b10a4130611318b8273d06433':
  Fix pointer indexing issue in VelocityTracker.
2012-05-15 11:31:45 -07:00
Jeff Brown
7469f8bb94 am 47a4a50d: Merge "Improve touch event resampling." into jb-dev
* commit '47a4a50df09b5ab76ee06cb8845fe5a02952ec32':
  Improve touch event resampling.
2012-05-15 11:31:32 -07:00
Jeff Brown
e2ec70bf92 am 00ff4748: Merge "More VelocityTracker refactoring." into jb-dev
* commit '00ff47484f8137aa3e59f680ff07d2662cfb4088':
  More VelocityTracker refactoring.
2012-05-15 11:31:08 -07:00
Romain Guy
769bccea29 am c9ade202: Merge "Forget the name of a texture after freeing Bug #6408362" into jb-dev
* commit 'c9ade202ed6a43a4edba6596492aa810530b88b6':
  Forget the name of a texture after freeing Bug #6408362
2012-05-15 11:30:21 -07:00
Romain Guy
f0e5e27bf4 am 2be45697: Merge "Fix two memory leaks Bug #6408362" into jb-dev
* commit '2be45697f93291e1740c3b7e4ba0af5d4ae81ed6':
  Fix two memory leaks Bug #6408362
2012-05-15 11:30:00 -07:00
Romain Guy
49c5fc0b9e Avoid unnecessary copy when invoking drawBitmap(int[])
Bug #6483390

Change-Id: I4d2d725ef50c9401b4bd998b6160128102b40745
2012-05-15 11:15:24 -07:00
Romain Guy
7b8523aaed Merge "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)" into jb-dev 2012-05-14 20:12:09 -07:00
Romain Guy
e651cc6239 Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)
Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
2012-05-14 19:44:40 -07:00
Romain Guy
8efd02cc49 am 00fdfe41: Merge "Properly pre-cache latin glyphs Bug #6408362" into jb-dev
* commit '00fdfe4106922502232d747d87bedc5343b5d4be':
  Properly pre-cache latin glyphs Bug #6408362
2012-05-14 19:34:12 -07:00
Jeff Brown
e4db99cf87 Merge "Detect when pointer has stopped moving." into jb-dev 2012-05-14 19:18:15 -07:00
Jeff Brown
08b544c7be Merge "Fix pointer indexing issue in VelocityTracker." into jb-dev 2012-05-14 19:17:48 -07:00
Jeff Brown
90729403d5 Detect when pointer has stopped moving.
Some input devices do not generate ACTION_MOVE events while all
pointers have stopped, thereby lulling the VelocityTracker into
a false sense of complacency.  Before handling the following sample,
reset the VelocityTracker state so as not to be influenced by
earlier samples before the pointer stopped.  The velocity after
stopping is assumed to be discontinuous.

Bug: 6413587
Change-Id: I6387bc036ff141d083d3d17a89e37eeaa3188349
2012-05-14 18:57:05 -07:00