1622 Commits

Author SHA1 Message Date
John Reck
6afc5cf3d9 Merge "Prevent calling GL functions with an invalid surface" 2014-12-01 21:28:27 +00:00
Sangkyu Lee
f76d36f96b Prevent calling GL functions with an invalid surface
When destroying CanvasContext, the surface can be invalid
state. So the surface should be updated to null prior to
destroying GL resources to ensure that GL functions
are not called with an invalid surface.
Some GL implementation makes an error if GL functions
are called with an invalid surface. (Adreno 3xx)

Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
2014-11-26 09:59:39 +09:00
Dohyun Lee
adc0d9da86 Enable stencil clipping within clearLayerRegions
Previously stencil clipping within clearLayerRegions is disabled by commit
62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer
regions causes black-colored triangle regions when a TextView has
RotateAnimation because the draw within clearLayerRegions does not
affected by the current stencil clip.

Change-Id: Id32a0b16754b109905f833e063ebfa156bd953f2
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
2014-11-24 21:08:15 +09:00
John Reck
8b59a528b5 Revert "Frameworks/base: Unused parameters in hwui"
This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507.

Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
2014-11-22 00:10:02 +00:00
Andreas Gampe
42ddc18d10 Frameworks/base: Unused parameters in hwui
Remove Clang cutout for unused parameters. Fix warnings.

Remove Clang cutout for deprecated Skia function usage. Has been
fixed in the L push.

Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
2014-11-21 10:39:21 -08:00
Dan Albert
6698749dd4 Add appropriate casts for char16_t.
C++11 defines a real char16_t, which is not implicitly convertible to
uint16_t (and by extension jchar). Add casts as needed.

Bug: 18300613
Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
2014-11-20 11:47:40 -08:00
Bernhard Rosenkränzer
c44958c786 Use fabsf() rather than abs()
abs() operates on integers -- to check floats accurately, fabsf
should be used.

Change-Id: I1a4e85f8f5e0d08ff38d307c5c31e2b6783ab7af
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-17 23:12:18 +01:00
Dan Albert
ff1d8a6635 Move frameworks/base over to libc++.
Bug: 15193147
Change-Id: I96109d2d383f0c8a4aaa611f29fcf887afb3c69e
2014-11-12 11:22:20 -08:00
Andreas Gampe
1e19674107 Frameworks/base: Wall Werror in libs/hwui
Turn on -Wall -Werror in libs/hwui. Fix errors.

Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
2014-11-10 15:58:04 -08:00
Narayan Kamath
4ed472ab33 resolved conflicts for merge of 3028394c to stage-aosp-master
Change-Id: I980e4c95cdc6a4778cef3298338692656d23e7c6
2014-10-29 12:12:37 +00:00
Chih-Hung Hsieh
d3448e437a Suppress Clang compilation warnings.
Ignore warnings about unused parameters and initialization of static
constant float data members.

Change one potential error of allocating variable length
array of non-POD element type on stack.

Fix mismatch of class and struct declaration tags.

BUG: 17512760
Change-Id: I3a09c945fb1c17f27aff74a7e439dd4c35d1fb32
2014-10-24 15:42:14 -07:00
John Reck
b0d6cd236c am d988a45d: Merge "Cleanup DeferredLayerUpdater" into lmp-dev
* commit 'd988a45d60cd2ff05e41a44c78cb09d307bd90cb':
  Cleanup DeferredLayerUpdater
2014-10-03 23:57:09 +00:00
John Reck
749906b468 Cleanup DeferredLayerUpdater
Bug: 17765082

DeferredLayerUpdater had fallen behind RT updates. Re-snap to
latest expectations, ensuring to call requireGlContext() prior
to detachSurfaceTexture to avoid leaking SurfaceTextures

Change-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699
2014-10-03 15:02:19 -07:00
ztenghui
6d0eaf45a9 am f9033048: Merge "+ correcting shadow visual appearance (b/17610926)" into lmp-dev
* commit 'f903304896809039430c5e52bd0c24052f51b14f':
  + correcting shadow visual appearance (b/17610926)
2014-10-01 23:33:51 +00:00
ztenghui
8def74de33 + correcting shadow visual appearance (b/17610926)
+ adjusting spot and ambient shadow opacity constants to achieve desired appearance
+ reducing ambient scale ratio back to 1.0 to address over-lightening at higher elevations
+ partially revert ag/546290

Change-Id: I9d7f664f73a7b9b83df73b739103c97054bd4f6e
2014-10-01 16:12:28 -07:00
Chris Craik
ed2f0f53df am fd0a1df1: am 737dfe57: Merge "Reject transparent draws more conservatively" into lmp-dev
* commit 'fd0a1df16fba712fb569eb637d960a7e78e3e62c':
  Reject transparent draws more conservatively
2014-09-23 03:07:05 +00:00
Chris Craik
bc341912b1 Reject transparent draws more conservatively
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
2014-09-23 01:22:00 +00:00
Chris Craik
4d4b3aa3d9 am 91a40be0: am fe01ab10: Merge "Account for alpha in hasShadow()" into lmp-dev
* commit '91a40be04f8d1822c27888cc47124bf965633f4f':
  Account for alpha in hasShadow()
2014-09-19 23:56:46 +00:00
Chris Craik
9e7c919191 Merge "Account for alpha in hasShadow()" into lmp-dev 2014-09-19 23:36:22 +00:00
Chris Craik
9fa364dc72 Account for alpha in hasShadow()
bug:17587220
Change-Id: Ic7f2dea95302b713dc93edb4a0193a7be77fb2eb
2014-09-19 16:04:45 -07:00
Dan Albert
c04d92cac9 resolved conflicts for merge of 1a4527ce to lmp-dev-plus-aosp
Change-Id: Iee4e93e3a2b049ec5f13166dbbffdd77b301fe5c
2014-09-19 15:57:26 -07:00
John Reck
6cc6219f6f Merge "glFinish to flush deletes" into lmp-dev 2014-09-19 17:22:17 +00:00
John Reck
4ced2620b7 glFinish to flush deletes
Bug: 17479800
Change-Id: I4d4a3eeda510e037f806052025184f3cde18c847
2014-09-19 10:10:19 -07:00
Chris Craik
651486d018 Merge "Fix garbage showing up beneath dialogs" into lmp-dev 2014-09-19 15:31:18 +00:00
Chris Craik
284b243584 Fix garbage showing up beneath dialogs
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
2014-09-18 16:05:35 -07:00
John Reck
f16b4940e6 Merge "Special case EGL_BAD_SURFACE" into lmp-dev 2014-09-17 23:30:44 +00:00
John Reck
2cdbc7d228 Special case EGL_BAD_SURFACE
Bug: 17516789

Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6
2014-09-17 16:09:57 -07:00
John Reck
5083943ff8 Merge "Change default fbo cache size to 0" into lmp-dev 2014-09-17 21:35:02 +00:00
John Reck
e9cd97ee88 Change default fbo cache size to 0
Bug: 17479800

 FBO cache is very expensive and no longer necessary, disable
 it by just setting size to 0.

Change-Id: I664616f262c8339919e1d20baaafa5de2b628d7e
2014-09-17 14:09:26 -07:00
Chris Craik
73821c8d2b Handle premultiplication correctly for ColorMatrixColorFilters
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
2014-09-17 10:00:34 -07:00
Jorim Jaggi
072707dfad Use RenderThread for navigation bar ripples
Bug: 17506181
Change-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9
2014-09-16 17:51:55 +00:00
Chris Craik
025207b3cf Merge "Force isolation of clip and matrix within layer" into lmp-dev 2014-09-15 15:59:57 +00:00
Chris Craik
4ace730560 Force isolation of clip and matrix within layer
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
2014-09-14 15:49:54 -07:00
Chris Craik
2f25901632 Merge "Correctly initialize animator asynchronousity" into lmp-dev 2014-09-13 00:46:11 +00:00
Chris Craik
572d9acd59 Correctly initialize animator asynchronousity
bug:17483792
Change-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9
2014-09-12 17:40:20 -07:00
ztenghui
692737be4f Merge "Update the shadow strength" into lmp-dev 2014-09-12 23:02:32 +00:00
ztenghui
f7d76dffd8 Update the shadow strength
b/17486691

Change-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5
2014-09-12 15:29:44 -07:00
Chris Craik
1aec711b2e Merge "Disable layer leak tracking" into lmp-dev 2014-09-12 17:41:13 +00:00
Chris Craik
21029ef131 Disable layer leak tracking
bug:17208461
Change-Id: Ibbdf3ec79c4fd19e1935a559d425d074b611e162
2014-09-12 09:29:31 -07:00
Chris Craik
4340c260c0 Snap outline clipping to integer coordinates correctly
bug:17403105
Change-Id: I65b5d7103aac58ba6feb4b021c276c67e9341716
2014-09-11 18:58:45 -07:00
Dan Albert
88ba339aef Clean up makefile cruft.
The build system already takes care of all these things.

Change-Id: Idef80b554e07cef5e5ed2adf1b5740a76f13ef6d
2014-09-11 16:21:19 -07:00
ztenghui
24a95a10db Merge "Finer tessellation can draw better looking shadows for circles." into lmp-dev 2014-09-11 21:09:51 +00:00
Chris Craik
5be52c11d9 Merge "Update HWUI paint filter to understand new location of skia bitmap filter preference" into lmp-dev 2014-09-11 19:43:52 +00:00
Chris Craik
591be6c7af Update HWUI paint filter to understand new location of skia bitmap filter preference
bug:17455286
Change-Id: I3b0e04833f0c2699a1322fdd7e98c155841c0d93
2014-09-11 12:16:38 -07:00
ztenghui
25e5a02d1c Finer tessellation can draw better looking shadows for circles.
b/14976551

Change-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2
2014-09-11 10:10:25 -07:00
ztenghui
ca517b97e0 Merge "Re-triangulate the spot shadow." into lmp-dev 2014-09-11 16:32:05 +00:00
ztenghui
512e643ce8 Re-triangulate the spot shadow.
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
2014-09-10 17:05:59 -07:00
Chris Craik
bfd1cd6209 Additional layer logging
bug:17208461

Track layer's last known state.

Change-Id: Ic1799191f5839a1d6cc56f598f2ac2671dc27a6f
2014-09-10 16:10:24 -07:00
Chris Craik
b2201151f3 Merge "hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D" into lmp-dev 2014-09-09 20:03:09 +00:00
Fred Fettinger
70735bd5dd hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D
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>
2014-09-09 20:00:52 +00:00