summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
* Reject transparent draws more conservativelyChris Craik2014-09-231-1/+1
| | | | | | | | | | | | | 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
* Merge "Account for alpha in hasShadow()" into lmp-devChris Craik2014-09-191-1/+3
|\
| * Account for alpha in hasShadow()Chris Craik2014-09-191-1/+3
| | | | | | | | | | bug:17587220 Change-Id: Ic7f2dea95302b713dc93edb4a0193a7be77fb2eb
* | Merge "Fix backwards compat problem with AAPT public attrs" into lmp-devAdam Lesinski2014-09-192-1/+41
|\ \
| * | Fix backwards compat problem with AAPT public attrsAdam Lesinski2014-09-182-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "glFinish to flush deletes" into lmp-devJohn Reck2014-09-191-0/+1
|\ \ \ | |_|/ |/| |
| * | glFinish to flush deletesJohn Reck2014-09-191-0/+1
| | | | | | | | | | | | | | | Bug: 17479800 Change-Id: I4d4a3eeda510e037f806052025184f3cde18c847
* | | Merge "Fix garbage showing up beneath dialogs" into lmp-devChris Craik2014-09-194-2/+15
|\ \ \ | |/ / |/| |
| * | Fix garbage showing up beneath dialogsChris Craik2014-09-184-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Special case EGL_BAD_SURFACE" into lmp-devJohn Reck2014-09-173-6/+20
|\ \ \
| * | | Special case EGL_BAD_SURFACEJohn Reck2014-09-173-6/+20
| |/ / | | | | | | | | | | | | | | | Bug: 17516789 Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6
* | | Merge "Change default fbo cache size to 0" into lmp-devJohn Reck2014-09-171-1/+1
|\ \ \
| * | | Change default fbo cache size to 0John Reck2014-09-171-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Bug: 17479800 FBO cache is very expensive and no longer necessary, disable it by just setting size to 0. Change-Id: I664616f262c8339919e1d20baaafa5de2b628d7e
* | | Handle premultiplication correctly for ColorMatrixColorFiltersChris Craik2014-09-172-1/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | 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
* | Use RenderThread for navigation bar ripplesJorim Jaggi2014-09-163-0/+49
|/ | | | | Bug: 17506181 Change-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9
* Merge "Force isolation of clip and matrix within layer" into lmp-devChris Craik2014-09-152-0/+6
|\
| * Force isolation of clip and matrix within layerChris Craik2014-09-142-0/+6
| | | | | | | | | | | | | | | | | | | | 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
* | Merge "Correctly initialize animator asynchronousity" into lmp-devChris Craik2014-09-131-1/+2
|\ \
| * | Correctly initialize animator asynchronousityChris Craik2014-09-121-1/+2
| |/ | | | | | | | | bug:17483792 Change-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9
* | Merge "Update the shadow strength" into lmp-devztenghui2014-09-121-1/+1
|\ \
| * | Update the shadow strengthztenghui2014-09-121-1/+1
| |/ | | | | | | | | | | b/17486691 Change-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5
* | Merge "Disable layer leak tracking" into lmp-devChris Craik2014-09-122-0/+6
|\ \
| * | Disable layer leak trackingChris Craik2014-09-122-0/+6
| |/ | | | | | | | | bug:17208461 Change-Id: Ibbdf3ec79c4fd19e1935a559d425d074b611e162
* | Snap outline clipping to integer coordinates correctlyChris Craik2014-09-111-2/+5
|/ | | | | bug:17403105 Change-Id: I65b5d7103aac58ba6feb4b021c276c67e9341716
* Merge "Finer tessellation can draw better looking shadows for circles." into ↵ztenghui2014-09-111-1/+1
|\ | | | | | | lmp-dev
| * Finer tessellation can draw better looking shadows for circles.ztenghui2014-09-111-1/+1
| | | | | | | | | | | | b/14976551 Change-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2
* | Merge "Update HWUI paint filter to understand new location of skia bitmap ↵Chris Craik2014-09-111-7/+17
|\ \ | |/ |/| | | filter preference" into lmp-dev
| * Update HWUI paint filter to understand new location of skia bitmap filter ↵Chris Craik2014-09-111-7/+17
| | | | | | | | | | | | | | preference bug:17455286 Change-Id: I3b0e04833f0c2699a1322fdd7e98c155841c0d93
* | Merge "Re-triangulate the spot shadow." into lmp-devztenghui2014-09-116-304/+843
|\ \
| * | Re-triangulate the spot shadow.ztenghui2014-09-106-304/+843
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Additional layer loggingChris Craik2014-09-105-7/+32
| |/ |/| | | | | | | | | | | | | bug:17208461 Track layer's last known state. Change-Id: Ic1799191f5839a1d6cc56f598f2ac2671dc27a6f
* | Merge "hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D" into lmp-devChris Craik2014-09-092-2/+7
|\ \
| * | hwui: Caches: use mBoundTextures only for GL_TEXTURE_2DFred Fettinger2014-09-092-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge "Fix tessellation bounds computation" into lmp-devChris Craik2014-09-091-5/+12
|\ \ \
| * | | Fix tessellation bounds computationChris Craik2014-09-081-5/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Don't track TextureLayer lifecycles in RenderStateChris Craik2014-09-084-17/+22
|/ / | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix save count offsetting within DisplayList chunks" into lmp-devChris Craik2014-09-081-2/+2
|\ \
| * | Fix save count offsetting within DisplayList chunksChris Craik2014-09-051-2/+2
| | | | | | | | | | | | | | | bug:17388541 Change-Id: I7cb1139b8cd30f72ae7c6de2074c3c5865b8f309
* | | Merge "Disable RT-anim for AnimatorSet" into lmp-devJohn Reck2014-09-062-0/+8
|\ \ \ | |/ / |/| |
| * | Disable RT-anim for AnimatorSetJohn Reck2014-09-052-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 17317184 Unfortunately this will disable *all* RT animations in a scene, but we don't have more selective targetting currently Change-Id: I57e1c0ae43957f45229473bdcdaf34c05825fab7
* | | Merge "Fix race condition" into lmp-devJohn Reck2014-09-053-6/+5
|\ \ \
| * | | Fix race conditionJohn Reck2014-09-053-6/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Add shadow/clipping properties to HierarchyViewer" into lmp-devChris Craik2014-09-051-0/+4
|\ \ \
| * | | Add shadow/clipping properties to HierarchyViewerChris Craik2014-09-051-0/+4
| |/ / | | | | | | | | | | | | | | | bug:15777980 Change-Id: Ic3d24326f585d2d2b9889486f0ed322eb98b5af8
* | | Additional layer logging, and added mutexChris Craik2014-09-052-0/+12
|/ / | | | | | | | | bug:17208461 Change-Id: I006d432a3b633235dde0b81ad2bf28b835b5335f
* | Merge "Yet more layer tracking logging" into lmp-devJohn Reck2014-09-0511-0/+54
|\ \
| * | Yet more layer tracking loggingJohn Reck2014-09-0411-0/+54
| |/ | | | | | | | | | | Bug: 17208461 Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
* | Merge "Prioritize reveal clipping over Outline clipping" into lmp-devChris Craik2014-09-045-8/+19
|\ \ | |/ |/|
| * Prioritize reveal clipping over Outline clippingChris Craik2014-09-045-8/+19
| | | | | | | | | | | | | | | | | | | | bug:15780987 bug:17350602 Also update docs around clipping nesting behavior, and some Z ordering behavior. Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
* | Merge "Remove invalid premul step from HWUI's matrix color filter." into lmp-devDerek Sollenberger2014-09-041-2/+1
|\ \