2587 Commits

Author SHA1 Message Date
Tim Murray
36103c80b1 Move RSTest to compatibility library.
Change-Id: I486f485fe9798d81dcd8e1ca9001bb851bcfc9b8
2013-01-18 16:28:02 -08:00
Kristian Monsen
21af9258f3 Merge "Better detecting if current threasd is main thread" 2013-01-18 23:58:33 +00:00
Stephen Hines
70b900cded Merge "Actually test fract(float)." 2013-01-18 23:36:12 +00:00
Kristian Monsen
0a30328c10 Better detecting if current threasd is main thread
Old approach got broken after:
https://googleplex-android-review.googlesource.com/#/c/266421/2

Change-Id: I12ae23efdbaebd8ba24acb1b7eff75c912d24f1d
2013-01-18 14:50:07 -08:00
Romain Guy
8ce00301a0 Implement clipRect with a transform, clipRegion & clipPath
Bug #7146141

When non-rectangular clipping occurs in a layer the render buffer
used as the stencil buffer is not cached. If this happens on a
View's hardware layer the render buffer will live for as long
as the layer is bound to the view. When a stencil buffer is
required because of a call to Canvas.saveLayer() it will be allocated
on every frame. A future change will address this problem.

If "show GPU overdraw" is enabled, non-rectangular clips are not
supported anymore and we fall back to rectangular clips instead.
This is a limitation imposed by OpenGL ES that cannot be worked
around at this time.

This change also improves the Matrix4 implementation to easily
detect when a rect remains a rect after transform.

Change-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9
2013-01-17 15:39:31 -08:00
Stephen Hines
4e17a9e671 Actually test fract(float).
Change-Id: I402c7ea43ea626f9748982919cb3753015df3da7
2013-01-16 18:50:24 -08:00
Amith Yamasani
5ebefec5bd Merge "Fix test build failure" 2013-01-17 00:10:16 +00:00
Amith Yamasani
45c0924fbb Fix test build failure
Change-Id: Ic96c2490439a78af2fb92db49b25b67b56954a20
2013-01-16 16:04:00 -08:00
Xia Wang
b6cf3c02de Merge "Fix image processing test to include all benchmark tests -- each test case can be excuted separately -- add a test case to run all benchmarks." 2013-01-15 18:03:01 -08:00
Xia Wang
b2d98ceb27 Fix image processing test to include all benchmark tests
-- each test case can be excuted separately
-- add a test case to run all benchmarks.

Change-Id: I3c61dfe50267a6db11bc1895a4f37ed618a9103b
2013-01-15 18:00:38 -08:00
Xia Wang
2439c921fb am cfa979b2: am b88564d2: am 12798957: am d1a18011: Merge "Fix image processing test to include all benchmark tests -- each test case can be excuted separately -- add a test case to run all benchmarks." into jb-mr1-dev
* commit 'cfa979b200a016dd24e851e0da0ce956aa932e2e':
  Fix image processing test to include all benchmark tests -- each test case can be excuted separately -- add a test case to run all benchmarks.
2013-01-14 15:14:43 -08:00
Xia Wang
1279895720 am d1a18011: Merge "Fix image processing test to include all benchmark tests -- each test case can be excuted separately -- add a test case to run all benchmarks." into jb-mr1-dev
* commit 'd1a18011a68b2cac907d080d9044d527fd4c5853':
  Fix image processing test to include all benchmark tests -- each test case can be excuted separately -- add a test case to run all benchmarks.
2013-01-14 15:00:38 -08:00
Romain Guy
735738c4dd Preliminary Support for region clipping
Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires
a stencil buffer to be always present. In addition, extra wiring is
required in JNI and display lists.

This change only adds the necessary JNI/C++ APIs and some extra
plumbing to start the real work on properly supporting region
clipping.

A new debug define called DEBUG_CLIP_REGIONS can be used to draw
the current clip region. It is off by default, as is region
clipping.

The default implementation of clipPath() and clipRegion(), now
in native, mimics the previous Dalvik implementation to prevent
regressions.

Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
2013-01-14 14:27:54 -08:00
Xia Wang
a178d672b7 Fix image processing test to include all benchmark tests
-- each test case can be excuted separately
-- add a test case to run all benchmarks.

DO NOT MERGE

Change-Id: I3c61dfe50267a6db11bc1895a4f37ed618a9103b
2013-01-14 11:19:16 -08:00
Stephen Hines
bb469bde8d Merge "Add parentheses for latest Clang warnings." 2013-01-10 15:23:49 -08:00
Stephen Hines
9be5f0a306 Add parentheses for latest Clang warnings.
Change-Id: I843fd3eb44e1ab0a177d7045ca97cf146fd81231
2013-01-10 15:09:02 -08:00
Dianne Hackborn
53897adeb4 Merge "Maybe fix build." 2013-01-09 18:37:41 -08:00
Dianne Hackborn
54372e9402 Maybe fix build.
Change-Id: If9bf7b7e2725cb472918fbbbf0cfb5070d0c6d46
2013-01-09 18:36:16 -08:00
Tim Murray
8d1127ef3f Merge "Update IP2 to use bitmap-backed allocations." 2013-01-09 18:15:15 -08:00
Tim Murray
f9485d0313 Update IP2 to use bitmap-backed allocations.
Change-Id: I2967fff71db40b4a8a00cd0152bcc04c43b87f80
2013-01-09 16:33:57 -08:00
Romain Guy
5341cead27 Cleanup 9patch mesh matching code
Bug #7970966

The bug described in #7970966 should normally never happen but just in
case, change the detection code to be more robust.

Change-Id: I7040a6087590e34abe8803cb8f83f051d77f3944
2013-01-09 14:15:58 -08:00
Jason Sams
16ad17705e Merge "Add 3D LUT intrinsic java class" 2013-01-08 17:57:25 -08:00
Romain Guy
e3a9b24b5e Add plumbing for better text scaling
Fonts are now described by a transform matrix. This lead to switching
from a vector to a hashmap. This change therefore adds new comparators
and hash computations to Font.

Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
2013-01-08 15:21:42 -08:00
Jason Sams
40f1fa6ed6 Add 3D LUT intrinsic java class
Add test for 3D LUT

Change-Id: I52bc20fd5458afda6de0a6015e9c8bc6a4970055
2013-01-08 11:52:56 -08:00
Romain Guy
5b4628aeea Add more tests for libhwui
These tests verify the behavior when scaling paths and text

Change-Id: I0f3259175bcee93186e30296759996e0447cba99
2013-01-07 18:11:52 -08:00
Romain Guy
886b275e52 Properly support ALPHA_8 bitmaps in all drawBitmap() methods
Change-Id: I869993c59e0a0d76f369c09acbae711753908f48
2013-01-04 15:15:16 -08:00
Jason Sams
09e2835fad Fix off by 1 in color cube.
Tested with 2x2x2 and 32x32x16 cubes.
Bit exact in 2x2x2

Change-Id: I0ca3e3736d1d9c611a02bba8ee9bfea3befd0e76
2013-01-02 16:22:59 -08:00
Jason Sams
a22f980f99 Merge "Fix color cube tests." 2012-12-28 14:37:44 -08:00
Jason Sams
ddf66ce679 Fix color cube tests.
Change-Id: I644ac26c6d234bf5b9cf4c549bebdfee67e98f50
2012-12-28 13:24:03 -08:00
Jason Sams
69bf687e53 Merge "Add API support for 3D allocations." 2012-12-28 11:53:46 -08:00
Jason Sams
d1c306a9e6 Add API support for 3D allocations.
Change-Id: I19c525f90135d83caec545e77e8f61a957d220ee
2012-12-27 20:26:41 -08:00
Tim Murray
2c1dc9a0e9 Switch to simpler createFromBitmap in ImageProcessing.
Change-Id: I61034689ed83b6536abc034e21c39adac2cdf553
2012-12-18 14:21:39 -08:00
Stephen Hines
2e28e2b324 Revert "Turn off IP2."
This reverts commit bc897302afcc40aee2bbce75a156a0d61883ff55

Change-Id: Ie2d0f32e248a20c26e8251195614d8df751c99ae
2012-12-14 11:39:47 -08:00
Stephen Hines
bc897302af Turn off IP2.
Change-Id: I1d45b0077c1a57c74e36fa8df45428b06a454253
2012-12-13 14:26:12 -08:00
Stephen Hines
a52b503b2e Merge "Compatibility lib changes for IP2." 2012-12-12 15:02:54 -08:00
Stephen Hines
f43ac732e1 Compatibility lib changes for IP2.
Bug: 7419958
Change-Id: Ibd62c06b60875e17d232e27f1845ce0ffafff834
2012-12-11 19:59:52 -08:00
Jason Sams
0d0c4e136a Merge "Minor cleanup of a few RS filter ports." 2012-12-11 17:06:45 -08:00
Jason Sams
f914db7c42 Minor cleanup of a few RS filter ports.
on Manta these reduce the times from
Contrast: 180ms to 21ms
Exposure: 177ms to 19ms

Change-Id: I1224ecaeaee22dc49069383e2f000a193c331b4c
2012-12-11 14:28:21 -08:00
Stephen Hines
cca2455dc1 Test bounds on rsForEach calls.
Change-Id: I1dedfda90200bac984b552d52e1ac26523085357
2012-12-10 17:45:33 -08:00
Tim Murray
906380a876 Merge "add filters from Gallery to ImageProcessing" 2012-12-06 18:06:25 -08:00
Tim Murray
d7940c89e8 add filters from Gallery to ImageProcessing
Change-Id: Iaf90f4a9468adde4bc8d94ec3ceed41846f424d0
2012-12-06 17:19:54 -08:00
Stephen Hines
afa528e438 Merge "Fix app bug related to same input/output bitmap." 2012-12-06 15:22:44 -08:00
Stephen Hines
b6d04f84c3 Fix app bug related to same input/output bitmap.
Due to our new bitmap storage optimization, we can't reuse the same
bitmap as input and output safely (since we modify the output directly).
This change updates ImageProcessing to appropriately create a distinct
output Bitmap Allocation and actually use it.

Change-Id: Iecf6c2d203bd1c370b8d0a9fb7e69b419d2eb69b
2012-12-06 15:03:21 -08:00
Guang Zhu
07e186ea54 am 32ec47c1: am 63cc22a5: am 4eab3d88: Merge "more app launch test tweaks" into jb-mr1.1-dev
* commit '32ec47c1b15b5a9c8f8d9e9f324bb6fe353119fe':
  more app launch test tweaks
2012-12-05 12:23:34 -08:00
Guang Zhu
32ec47c1b1 am 63cc22a5: am 4eab3d88: Merge "more app launch test tweaks" into jb-mr1.1-dev
* commit '63cc22a5c393fec725d271f5a7d82fb2fe05647f':
  more app launch test tweaks
2012-12-04 16:35:09 -08:00
Guang Zhu
13f7734977 more app launch test tweaks
to get closer to the previous harness:
* sleep 750ms after launch then press HOME
* force close app after launch
* sleep 2s then move to next app

Change-Id: I70fefa7f3e87c637ed8b4cb2981c26d665c94319
2012-12-04 14:40:30 -08:00
Dianne Hackborn
f9ae5f75af am 23307cbb: am e0a676a3: Merge "Fix issue #7649590: Background windows sometimes not being hidden for secondary users" into jb-mr1.1-dev
* commit '23307cbb6b432b658b0fd7437dacfedd6298af94':
  Fix issue #7649590: Background windows sometimes not being hidden for secondary users
2012-12-03 16:08:35 -08:00
Dianne Hackborn
e0a676a3bb Merge "Fix issue #7649590: Background windows sometimes not being hidden for secondary users" into jb-mr1.1-dev 2012-12-03 15:51:47 -08:00
Dianne Hackborn
bb4ca5271a Fix issue #7649590: Background windows sometimes not being hidden for secondary users
There are two things going on here:

(1) In secondary users, some times theme information such as whether
the window is full screen opaque was not being retrieved, so the window
manager didn't know that it could hide the windows behind the app.
This would just be a performance problem, except that:

(2) There appear to be a number of applications that declare that they
are full screen opaque, when in fact they are not.  Instead they are
using window surfaces with an alpha channel, and setting some pixels
in their window to a non-opaque alpha level.  This will allow you to
see whatever is behind the app.  If the system happens to completely
remove the windows behind the app, and somebody is filling the frame
buffer with black, then you will see what the app intends -- those
parts of its UI blended with black.  If one of those cases doesn't
hold (and though we have never guaranteed they would, in practice this
is generally what happens), then you will see something else.

At any rate, if nothing else than for performance reasons, we need to
fix issue #1.

It turns out what is happening here is that the AttributeCache used
by the activity manager and window manager to retreive theme and other
information about applications has not yet been updated for multi-user.

One of the things we retrieve from this is the theme information telling
the window manager whether an application's window should be treated
as full screen opaque, allowing it to hide any windows behind it.  In
the current implementation, the AttributeCache always retrieves this
information about the application as the primary user (user 0).

So, if you have an application that is installed on a secondary user but
not installed on the primary user, when the AttributeCache tries to retrieve
the requested information for it, then from the perspective of the primary user
it considers the application not installed, and is not able to retrieve that
info.

The change here makes AttributeCache multi-user aware, keeping all of its
data separately per-user, and requiring that callers now provide the user
they want to retrieve information for.  Activity manager and window manager
are updated to be able to pass in the user when needed.  This required some
fiddling of the window manager to have that information available -- in
particular it needs to be associated with the AppWindowToken.

Change-Id: I4b50b4b3a41bab9d4689e61f3584778e451343c8
2012-12-03 14:09:06 -08:00
Guang Zhu
ca4f3473b9 am 5732aaf1: am 8732bee8: am fdc0d929: Merge "app launch test fixes and improvements" into jb-mr1.1-dev
* commit '5732aaf1bb38d0d7bc3535ee934c32a8fb8e8dd6':
  app launch test fixes and improvements
2012-12-03 11:23:58 -08:00