| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
bug:17600162
Transparent draws are not safe to reject for all xfermodes other than
clear. Now, to be safe, only perform the rejection for SrcOver draws
since other modes are fairly uncommon.
We could specifically determine whether the xfermode could change the
output given a transparent input, but there's little to be gained from
the additional complexity.
Change-Id: Ia699ac4bdc4da3353955840b53f1922d3cb1d85d
|
|\ |
|
| |
| |
| |
| |
| | |
bug:17587220
Change-Id: Ic7f2dea95302b713dc93edb4a0193a7be77fb2eb
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AAPT has traditionally assigned resource IDs to public attributes,
and then followed those public definitions with private attributes.
--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background
--- PRIVATE ---
| 0x01010236 | attr/secret
| 0x01010237 | attr/shhh
Each release, when attributes are added, they take the place of the private
attributes and the private attributes are shifted down again.
--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background
| 0x01010236 | attr/shinyNewAttr
| 0x01010237 | attr/highlyValuedFeature
--- PRIVATE ---
| 0x01010238 | attr/secret
| 0x01010239 | attr/shhh
Platform code may look for private attributes set in a theme. If an app
compiled against a newer version of the platform uses a new public
attribute that happens to have the same ID as the private attribute
the older platform is expecting, then the behavior is undefined.
We get around this by detecting any newly defined attributes (in L),
copy the resource into a -v21 qualified resource, and delete the
attribute from the original resource. This ensures that older platforms
don't see the new attribute, but when running on L+ platforms, the
attribute will be respected.
We still need to address this problem in the platform moving forward,
as this will only help us in the transition from pre L to L.
Bug:17520380
Change-Id: Ia2a985798b50006c21c7c3431d30d9598f27cd91
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | | |
Bug: 17479800
Change-Id: I4d4a3eeda510e037f806052025184f3cde18c847
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bug:17463894
Fixes the setViewport method to immediately affect the return values
of getViewportWidth/Height methods.
Also works around tiling extension issues observed on first frame
after window resize by disabling tiling for that frame.
Change-Id: Ie172d572d20d74a1be9cc58ad389af2cffa0e4b6
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Bug: 17516789
Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 17479800
FBO cache is very expensive and no longer necessary, disable
it by just setting size to 0.
Change-Id: I664616f262c8339919e1d20baaafa5de2b628d7e
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:17405627
Previously, the input content to the color matrix computation was left
premultiplied. Since the color matrix could reduce the alpha channel,
the alpha was re-multiplied, but this was incomplete, and incorrect.
Instead, apply the color matrix in unpremultiplied space.
Change-Id: I87b8e03d2e228e6ded81f7bbfea952605d7a095c
|
|/
|
|
|
| |
Bug: 17506181
Change-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:17379260
Unclipped save layers need to isolate their clips and matrices
so that the save time readout of background content matches clip and
position with the restore/compose step.
Change-Id: I2de474cda76e960d080852f1716d6ddfa8a512d4
|
|\ \ |
|
| |/
| |
| |
| |
| | |
bug:17483792
Change-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
b/17486691
Change-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5
|
|\ \ |
|
| |/
| |
| |
| |
| | |
bug:17208461
Change-Id: Ibbdf3ec79c4fd19e1935a559d425d074b611e162
|
|/
|
|
|
| |
bug:17403105
Change-Id: I65b5d7103aac58ba6feb4b021c276c67e9341716
|
|\
| |
| |
| | |
lmp-dev
|
| |
| |
| |
| |
| |
| | |
b/14976551
Change-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2
|
|\ \
| |/
|/|
| | |
filter preference" into lmp-dev
|
| |
| |
| |
| |
| |
| |
| | |
preference
bug:17455286
Change-Id: I3b0e04833f0c2699a1322fdd7e98c155841c0d93
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix the valid umbra detection.
This looks better b/c every vertex will have one ray shooting at it, such that
we don't miss the corner.
This performs better too, due to the polygon intersection is removed and less ray
intersection. 2x performance for rect and circle for spot shadow in test app.
b/17288227
b/15598793
b/16712006
Change-Id: I4a5ee397b9e192e93c8e35e6260b499e3e38a6f4
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
bug:17208461
Track layer's last known state.
Change-Id: Ic1799191f5839a1d6cc56f598f2ac2671dc27a6f
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bug:17441218
GLConsumer uses glBindTexture() directly instead of going through
Caches::bindTexture(). This can cause libhwui to draw with the wrong
texture bound in the following case which involves 2 TextureViews:
Frame 1:
GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 1)
HWUI renders TextureView A:
calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 1) and draws
Frame 2:
GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 1)
GLConsumer::updateTexImage() calls glBindTexture(GL_TEXTURE_EXTERNAL_OES, 2)
HWUI renders TextureView A:
calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 1) and draws
HWUI renders TextureView B:
calls Caches::bindTexture(GL_TEXTURE_EXTERNAL_OES, 2) and draws
In this case, HWUI will incorrectly draw TextureView A using texture 2 on
frame 2, because mBoundTextures[0]=1, even though the texture currently
bound to GL_TEXTURE_EXTERNAL_OES is 2.
Since GLConsumer is always used with a target of GL_TEXTURE_EXTERNAL_OES,
work around this problem by having mBoundTextures[] store only the
textures bound to the target GL_TEXTURE_2D. This is the common case
where the extra performance is needed. Since it's legal to have
different textures bound to GL_TEXTURE_2D and GL_TEXTURE_EXTERNAL_OES
on one texture unit, Caches::bindTexture() does not need to clear
mBoundTextures[mTextureUnit] when target != GL_TEXTURE_2D.
Change-Id: I8bc54ab8adcfacad7f3ed17a31236dc7a86c967a
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bug:17401066
Now correctly accounts for scale, both in hairline case (where scale
needs to be accounted for), and in standard case (where scale
shouldn't be applied, since bounds are in local space)
Change-Id: I597a20834dce42ddb741b46e4c1a4f3169a48ccc
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:17208461
They are destroyed via finalizer-enqueued destroy method, so it's not
valid to check that they've been destroyed at gl context destruction
time.
Change-Id: I670f69825547facd5f31d44acb406418881fee00
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
bug:17388541
Change-Id: I7cb1139b8cd30f72ae7c6de2074c3c5865b8f309
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 17317184
Unfortunately this will disable *all* RT animations in a scene,
but we don't have more selective targetting currently
Change-Id: I57e1c0ae43957f45229473bdcdaf34c05825fab7
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 17372309
AnimationContext::startFrame() happens both with and without
the UI thread lock. Pass the TraversalMode into it so
that ThreadedRenderer's subclass can correctly decide
when it is safe to push over mPendingAnimatingRenderNodes, as doing
so outside of the lock is Very Bad.
Change-Id: Ife5dd3a2b46b0a207cd9234c159a674afdbf5efd
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
bug:15777980
Change-Id: Ic3d24326f585d2d2b9889486f0ed322eb98b5af8
|
|/ /
| |
| |
| |
| | |
bug:17208461
Change-Id: I006d432a3b633235dde0b81ad2bf28b835b5335f
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
Bug: 17208461
Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:15780987
bug:17350602
Also update docs around clipping nesting behavior,
and some Z ordering behavior.
Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
|
|\ \ |
|