caaaa66e57293e4a6f312649bf472eab84d5c7fe |
27-Mar-2017 |
Romain Guy <romainguy@google.com> |
Convert bitmaps to sRGB/scRGB when they have a color profile This change also fixes an issue with RGBA16F bitmaps when modulated with a color (for instance by setting an alpha on the Paint object). The color space conversion is currently done entirely in the shader, by doing these operations in order: 1. Sample the texture 2. Un-premultiply alpha 3. Apply the EOTF 4. Multiply by the 3x3 color space matrix 5. Apply the OETF 6. Premultiply alpha Optimizations: - Steps 2 & 6 are skipped for opaque (common) bitmaps - Step 3 is skipped when the color space's EOTF is close to sRGB (Display P3 for instance). Instead, we use a hardware sRGB fetch (when the GPU supports it) - When step 3 is necessary, we use one of four standard EOTF implementations, to save cycles when possible: + Linear (doesn't do anything) + Full parametric (ICC parametric curve type 4 as defined in ICC.1:2004-10, section 10.15) + Limited parametric (ICC parametric curve type 3) + Gamma (ICC parametric curve type 0) Color space conversion could be done using texture samplers instead, for instance 3D LUTs, with or without transfer functions baked in, or 1D LUTs for transfer functions. This would result in dependent texture fetches which may or may not be an advantage over an ALU based implementation. The current solution favor the use of ALUs to save precious bandwidth. Test: CtsUiRenderingTests, CtsGraphicsTests Bug: 32984164 Change-Id: I10bc3db515e13973b45220f129c66b23f0f7f8fe
olor.cpp
olor.h
|
a0a74d5f8ee1dbd04772ffb1775d045ce6b5934b |
13-Mar-2017 |
Mike Reed <reed@google.com> |
use _deprecated suffix for deprecated clipops Allows skia to remove legacy flag for older names - SK_SUPPORT_EXOTIC_CLIPOPS - SK_SUPPORT_LEGACY_CLIPOP_EXOTIC_NAMES Test: CtsGraphicsTestCases Change-Id: I78478d94d059641a9381579cae6d28f9f0685ad1
estWindowContext.cpp
|
7ef25b78941ded7e1d757dc42897529a02fa10a3 |
07-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Add ColorSpace information on Bitmap"
|
efb4b06493fe7b1604c762a448b13c7af2845a8d |
27-Feb-2017 |
Romain Guy <romainguy@google.com> |
Add ColorSpace information on Bitmap This is the first step toward interpreting color spaces at render time. Bug: 32984164 Test: BitmapColorSpaceTest in CtsGraphicsTestCases Change-Id: I0164a18f1ed74a745874fe5229168042afe27a04
olor.h
|
792fb3252f6460acfd82c4e5d7536ca6b787a0e0 |
03-Mar-2017 |
Derek Sollenberger <djsollen@google.com> |
Use SkPaint.nothingToDraw instead of PaintUtils helper. The PaintUtils helper is now shared between all pipelines and was missing a quick reject test for drawLoopers which are used in view.setShadowLayer and supported in the Skia pipelines. Bug: 35809097 Test: added hwui unit test and verified in DocumentsUI app Change-Id: I3c4a988f1c42b7f421f78ac3659af1daee910ea2
aintUtils.h
|
89ddb1f1644e0b47de060d2c9aaf6d5387c38f2f |
10-Feb-2017 |
Matt Sarett <msarett@google.com> |
Update framework to use new SkColorSpace API Test: This compiles with SK_USE_LEGACY_NAMED_COLOR_SPACE turned off. Change-Id: Ie573f59e0aa475bab06b38589db3c6158ad82c5a
estWindowContext.cpp
|
91627f61705a68cd18fdbce1b8190a2ffdec5f10 |
01-Feb-2017 |
Romain Guy <romainguy@google.com> |
Fix incorrect comments Bug: 33010587 Test: comment only Change-Id: Icdfa79bac50545bb73f4c40727fe51780ef4a56d
olor.h
|
2de950d5a8b47c7b4648ada1b1260ce4b7342798 |
25-Jan-2017 |
John Reck <jreck@google.com> |
Overhaul RenderNode's DisplayList management * Move mValid to native * Have destroyHardwareResources destroy everything * Remove flaky mParentCount checks in setStaging * All tree updates have an internal observer to ensure onRemovedFromTree() is a reliable signal * onRemovedFromTree() immediately releases resources to avoid displaylist "leaks" Test: Unit tests for validity added & pass, manually verified that b/34072929 doesn't repro Bug: 34072929 Change-Id: I856534b4ed1b7f009fc4b7cd13209b97fa42a71c
estWindowContext.cpp
|
db15537e6e0d35c7ed3b1bef45e421760be70683 |
11-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of 082a1721b516 to master Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
|
52eb4e01a49fe2e94555c000de38bbcbbb13401b |
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
Replace cutils/log.h and log/logger.h with log/log.h Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
LUtils.h
|
66b9d4486abb9e6d1edc624cd9ff522b12acece0 |
16-Dec-2016 |
Chris Craik <ccraik@google.com> |
Revert "try to stop using exotic clipps" This reverts commit 834653bcf80a3879c4d80004469053f205d45b69. Change-Id: Ie8cb787490832a0be154ec1263313982157faa81
estWindowContext.cpp
|
834653bcf80a3879c4d80004469053f205d45b69 |
14-Dec-2016 |
Mike Reed <reed@google.com> |
try to stop using exotic clipps Change-Id: Id11d7744daa69c19fdc9b7723862b3d71ad21384
estWindowContext.cpp
|
6c67f1d04591f44bccb476d715a005ad5bbdf840 |
14-Dec-2016 |
Mike Reed <reed@google.com> |
SkClipOp is now an enum class Change-Id: If423dd013a264162ae0b7674a0eeef34bc2cdaae
estWindowContext.cpp
|
6e49c9f007c879f05b035c40c0ba543c00f9d0d0 |
02-Dec-2016 |
Mike Reed <reed@google.com> |
switch over clip calls to use SkClipOp instead of SkRegion::Op Change-Id: I67d23c487b5249bc31d96e3b2393f693c0b2bcff
estWindowContext.cpp
|
ab12c1fe73734a18ac19a06b97f276528f6d027a |
03-Nov-2016 |
Mike Reed <reed@google.com> |
update callers to newer Skia APIs Test: refactoring CL. Existing unit tests still pass. Change-Id: I47e73e00f14f78dd9d4c48a142ac9853e7e4cad7
estWindowContext.cpp
|
c2f31df8b3b9a237e9abffc59c61804ad8495073 |
28-Oct-2016 |
Mike Reed <reed@google.com> |
use SkBlendMode skbug.com/5814 Test: compile only Change-Id: Ibbaff43df1117b2ca77fd8f917f03d88cc476330 (cherry picked from commit 26edbcba8a2ed4cb300e7f87e679e3b73cec2772)
aintUtils.h
|
97cc85fd4b5ab6070ce75c2792369d4611625eaf |
01-Nov-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Routine to upload hardware bitmaps"
|
694d499662838123f474f41b31dea84ec5d563f0 |
27-Oct-2016 |
sergeyv <sergeyv@google.com> |
Routine to upload hardware bitmaps Change-Id: Id8283a0975325e6830d55fd1e33c5f292a1e9be0 Test: refactoring cl. bug:30999911
LUtils.h
|
7de73858975fc4dbccfa1c188f6d1a12d39ce2c5 |
26-Oct-2016 |
Matt Sarett <msarett@google.com> |
Implement getTransparentRegion() using SkLatticeIter This allows us to delete utils/NinePatchImpl.cpp and utils/NinePatch.h Test: Passed cts tests - DrawableTest, NinePatchTest, NinePatchDrawableTest. Change-Id: I6b5d09fa3479e758d8b931fa0e977c25f4435a7c
inePatch.h
inePatchImpl.cpp
|
260ab726486317496bc12a57d599ea96dcde3284 |
07-Oct-2016 |
Mike Reed <reed@google.com> |
use SkBlendMode instead of SkXfermode use sk_sp versions of paint setters/getters Change-Id: I86591a0a8ec92e6039776cbf00424ea24f585b28
inePatchImpl.cpp
aintUtils.h
|
8762e332e3797fb41929a1c6069207f4906ca329 |
12-Oct-2016 |
Romain Guy <romainguy@google.com> |
Various fixes for linear blending and gradients With linear blending turned off some textures were still created as sRGB textures instead of linear textures. Multi-stop gradients were not behaving properly on devices with no support for float textures. Gradients are now always interpolated in linear space even if linear blending is off. New functions to always force sRGB->linear->sRGB conversions. Test: Manual testing Bug: 29940137 Change-Id: Ie2f84ee2a65fd85570e88af813e841e0e625df6c
olor.h
|
253f2c213f6ecda63b6872aee77bd30d5ec07c82 |
29-Sep-2016 |
Romain Guy <romainguy@google.com> |
Linear blending, step 1 NOTE: Linear blending is currently disabled in this CL as the feature is still a work in progress Android currently performs all blending (any kind of linear math on colors really) on gamma-encoded colors. Since Android assumes that the default color space is sRGB, all bitmaps and colors are encoded with the sRGB Opto-Electronic Conversion Function (OECF, which can be approximated with a power function). Since the power curve is not linear, our linear math is incorrect. The result is that we generate colors that tend to be too dark; this affects blending but also anti-aliasing, gradients, blurs, etc. The solution is to convert gamma-encoded colors back to linear space before doing any math on them, using the sRGB Electo-Optical Conversion Function (EOCF). This is achieved in different ways in different parts of the pipeline: - Using hardware conversions when sampling from OpenGL textures or writing into OpenGL frame buffers - Using software conversion functions, to translate app-supplied colors to and from sRGB - Using Skia's color spaces Any type of processing on colors must roughly ollow these steps: [sRGB input]->EOCF->[linear data]->[processing]->OECF->[sRGB output] For the sRGB color space, the conversion functions are defined as follows: OECF(linear) := linear <= 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055 EOCF(srgb) := srgb <= 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4) The EOCF is simply the reciprocal of the OECF. While it is highly recommended to use the exact sRGB conversion functions everywhere possible, it is sometimes useful or beneficial to rely on approximations: - pow(x,2.2) and pow(x,1/2.2) - x^2 and sqrt(x) The latter is particularly useful in fragment shaders (for instance to apply dithering in sRGB space), especially if the sqrt() can be replaced with an inversesqrt(). Here is a fairly exhaustive list of modifications implemented in this CL: - Set TARGET_ENABLE_LINEAR_BLENDING := false in BoardConfig.mk to disable linear blending. This is only for GLES 2.0 GPUs with no hardware sRGB support. This flag is currently assumed to be false (see note above) - sRGB writes are disabled when entering a functor (WebView). This will need to be fixed at some point - Skia bitmaps are created with the sRGB color space - Bitmaps using a 565 config are expanded to 888 - Linear blending is disabled when entering a functor - External textures are not properly sampled (see below) - Gradients are interpolated in linear space - Texture-based dithering was replaced with analytical dithering - Dithering is done in the quantization color space, which is why we must do EOCF(OECF(color)+dither) - Text is now gamma corrected differently depending on the luminance of the source pixel. The asumption is that a bright pixel will be blended on a dark background and the other way around. The source alpha is gamma corrected to thicken dark on bright and thin bright on dark to match the intended design of fonts. This also matches the behavior of popular design/drawing applications - Removed the asset atlas. It did not contain anything useful and could not be sampled in sRGB without a yet-to-be-defined GL extension - The last column of color matrices is converted to linear space because its value are added to linear colors Missing features: - Resource qualifier? - Regeneration of goldeng images for automated tests - Handle alpha8/grey8 properly - Disable sRGB write for layers with external textures Test: Manual testing while work in progress Bug: 29940137 Change-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b
olor.h
estWindowContext.cpp
|
25c9f6cede5705406294a5043363952c316facb2 |
01-Sep-2016 |
Chih-hung Hsieh <chh@google.com> |
Merge "Fix google-explicit-constructor warnings in libs/hwui." am: 7207562ff7 am: d7a69e04eb am: 842f1e48e7 am: 1f50f80aab Change-Id: I713bd07fee150cc684e630045e02872b23062a5a
|
1f50f80aab31600406c7b93a1630d396228983f0 |
31-Aug-2016 |
Chih-hung Hsieh <chh@google.com> |
Merge "Fix google-explicit-constructor warnings in libs/hwui." am: 7207562ff7 am: d7a69e04eb am: 842f1e48e7 Change-Id: I401bb7ef3a46bb317ba664667fab4a16c129e5aa
|
a619ec70cf765d9166f0862e74653711b87307b3 |
29-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings in libs/hwui. * Add explicit keyword to conversion constructors, or add NOLINT for implicit converters. Bug: 28341362 Test: build with WITH_TIDY=1 Change-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9
atVector.h
inearAllocator.h
|
56996ff61e4961880db1240f6a5d4f57a79512d9 |
12-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 76ce8e5 to stage-aosp-master am: ed935c32f4 am: ef57a0d629 Change-Id: Ifcc24ad835f2e74a25954bf3fd7090c75abdc084
|
ed935c32f478229220a90442da0af3c3d3fc6230 |
12-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 76ce8e5 to stage-aosp-master Change-Id: I4b4ca9906373a95776d2da8ba2fa39a4a78e2a30
|
f35c939cd70f2815582d08902ade0b9abbee6bec |
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in libs/hwui. * Add explicit keyword to conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 Test: build with WITH_TIDY=1 Change-Id: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda Merged-In: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
iming.h
|
49796451cb9d1dae580618eb320ef3c5e6d90cd4 |
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in libs/hwui. * Add explicit keyword to conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 Test: build with WITH_TIDY=1 Change-Id: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
iming.h
|
c3849aa786db65dbda254b90b7db3b13efd98e65 |
08-Aug-2016 |
sergeyv <sergeyv@google.com> |
HWUI: reimplement rendernode ouput for single stream bug: 26565102 Change-Id: I90b449b2dce52683c50b48091354104d76a5e44a
tringUtils.h
|
29c32cd2d57eb2ec2dbc9e1056b8b2e949903c55 |
03-Aug-2016 |
Matt Sarett <msarett@google.com> |
Remove unused include SkNinePatch.h Change-Id: I4c34d21633fd4f3d4b1403e3bb473dc2cbd245cd
inePatchImpl.cpp
|
63d8aa930f8859978200b7af8664aefc33fd2a51 |
31-Jul-2016 |
Hugo Benichi <hugobenichi@google.com> |
Merge \\\"Fix missing IpConnectivity metrics\\\" into nyc-mr1-dev am: 66e7752ad1 am: b2db402899 am: fb5c675b7e Change-Id: Iba1f81a892acd9f541b9dd564203bfebc56c9c73
|
fb5c675b7e1fee074f19cf1866b5dda0785dbe64 |
29-Jul-2016 |
John Reck <jreck@google.com> |
resolve merge conflicts of 67daab6 to nyc-mr1-dev-plus-aosp Change-Id: I35f867b8d6408a7eae9cf5643f0908259de90cb1
|
2d5b8d73929a38b019c6b6276d4a19542b990f0c |
29-Jul-2016 |
John Reck <jreck@google.com> |
Teach JankTracker about new swap behaviors Bug: 30440166 If we are using HWC2, there's a change in timing when in triple buffering with the pipelined offsets. This changes JankTracker to recognize that and silently erase that from the total duration Change-Id: Ib1fd4209070f17dbd2baed707c8cf73fb11c3cf2
imeUtils.h
|
faecb78a6b11c780db47bc940ca7662899ab5d5e |
21-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings in frameworks/base * Add explicit keyword to conversion constructors. * Add NOLINT to implicit conversion constructors. Bug: 28341362 Test: build with clang-tidy Change-Id: Ie4d37072ab57d1662d18db4de1c8577247f43337
ortedListImpl.h
|
5e00c7ce063116c11315639f0035aca8ad73e8cc |
07-Jul-2016 |
Chris Craik <ccraik@google.com> |
Delete old rendering pipeline fixes: 30002246 Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
estWindowContext.cpp
|
ab1080c4d075b008cebdd9a2031ebbd51f9c2729 |
22-Jun-2016 |
John Reck <jreck@google.com> |
Delete unused args Bug: 21170575 Change-Id: Icc832f70f206342557f44667ad3498405d04db78
estWindowContext.cpp
|
1ec2fd72cea31d46cca6e8f6686115fabe885664 |
20-May-2016 |
The Android Automerger <android-build@android.com> |
stephenli@ manually merge many commits up to '032dcff' * commit '032dcff': (22 commits) Remove outdated google services links. Fix misc-macro-parentheses warnings in services jni. Fix misc-macro-parentheses warnings in hwui and graphic jni. Fix misc-macro-parentheses warnings in aapt and androidfw. docs: Update to column widths for Complications table Fix a11y crash when window layer isn't unique. Never set resized while not drag resizing for pinned stack. While turning OFF do not honor ON requests. Fix GATT autoConnect race condition Fix GATT autoConnect race condition Fix RTL issue in delete dialog. Incorporate feedback on new wallpaper-related APIs Mapping up/down of legacy Gps vs. Gnss Status Fixed a bug where the chronometer was invisible Fixed a bug where the chronometer wasn't updating the time Update BlockedNumberContract javadocs. [RenderScript] Fix ScriptIntrinsicBlur documentation. Update documentation about copyTo and copyFrom. DO NOT MERGE Cherry pick libpng usage fixes Start the Wear Time System Service with SystemServer ...
|
0a870594527a3af036b1238983abfe4e6118178b |
20-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 404e2b2 to nyc-dev-plus-aosp Change-Id: I3c486e83a3f2b27ee0e6bfe4e3bba3df3af758a5
|
cef190de850f163dd4b95d667a8d46d46e860363 |
20-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix misc-macro-parentheses warnings in hwui and graphic jni. Bug: 28705665 Change-Id: I7d1eb38a713fe6cc7f41a3cc3f2f9d0aa0114b2c
inearAllocator.cpp
|
a7a6be1085c8ed62f20749559ea8510b81a012cb |
11-May-2016 |
Tenghui Zhu <ztenghui@google.com> |
Merge "Turn off some path drawing logs by default"
|
3727a7fadade6d52188d30d35236d810a638b67e |
11-May-2016 |
Matt Sarett <msarett@google.com> |
Remove dead code from NinePatch::Draw This will give me the flexibility to change this API. Change-Id: I1ee34986e37fffeb03b8a349f29923541f95b593
inePatchImpl.cpp
|
d53e3bed1ca4a14b2a86d53eaef6969bd043176e |
03-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings. Bug: 28341362 Change-Id: I080090d50f1a368a4e7c1a0732297bb6a295e34f
estWindowContext.cpp
|
85d99528b23b5575d97f614fe25f839d19740abc |
25-Apr-2016 |
Teng-Hui Zhu <ztenghui@google.com> |
Turn off some path drawing logs by default Originally the logs are added to track potential performance bug. Like unexpectedly deep recursion loop. However so far, we haven't captured anything by these logs. And they are causing some misunderstanding in some bugs. So I think it is better to disable it by default. In the future, we will consider switching to direct Skia arcTo support and drop this part. Change-Id: Iff6df7a92e40b4775a644a1497e113de0eedbc8a
ectorDrawableUtils.cpp
|
849ffa33bc5f1e30e170fb469b802266c0d993fc |
12-Apr-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Stop comparing Descriptions with memcmp" into nyc-dev am: e414371 am: 55134c8 * commit '55134c89fe5a524be26558b4ccccdfa6ffa0105f': Stop comparing Descriptions with memcmp Change-Id: I43ea9f9bc2f3f7ba607a85d08dbecf95fcb9e585
|
e41437167b9730d2d3550b1cbb5e2813a101b5f0 |
12-Apr-2016 |
Sergei Vasilinetc <sergeyv@google.com> |
Merge "Stop comparing Descriptions with memcmp" into nyc-dev
|
7224e2b624daea67b5653285c9640f170c096bdb |
08-Apr-2016 |
sergeyv <sergeyv@google.com> |
Stop comparing Descriptions with memcmp bug:27894959 Change-Id: I379c11381c08f6f77577a914638b32415768f26e
acros.h
|
4e2838ead6405acb407c072bdf01bc7b77c67680 |
08-Apr-2016 |
John Reck <jreck@google.com> |
Merge "Fix some edge cases" into nyc-dev am: 4a62eff am: c01a9b6 * commit 'c01a9b6a9ba2662fafa6f4152ca9986faacd2d66': Fix some edge cases Change-Id: I52d65ed7c5da33b33a4f98953800c1dedea2bf09
|
51f2d606dcbfba3cc5b03dfea37c1304b91c232f |
06-Apr-2016 |
John Reck <jreck@google.com> |
Fix some edge cases Bug: 27709981 This desperately needs a refactor, but to keep the current (really needed & nice) behavior of dispatching after sync finishes would be difficult to handle cleanly without lots of ripping so... #yolo Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
estWindowContext.cpp
|
5a23f2d940e0612c71d66d979645deb89ae6a09b |
29-Mar-2016 |
Chris Craik <ccraik@google.com> |
Merge "Overdraw avoidance in new pipeline" into nyc-dev am: 80a67f3 am: f42e9b1 * commit 'f42e9b1b1e2eeb0e97bfc8d77d1dd24cb21d9e31': Overdraw avoidance in new pipeline Change-Id: I5fa751a4a2a212ef4c805a473d62da41ebaf70ae
|
80d2ade939153da87b3cd3b0a69a713bf68b64ba |
28-Mar-2016 |
Chris Craik <ccraik@google.com> |
Overdraw avoidance in new pipeline bug:27873093 Adds the simple overdraw avoidance optimization to the new pipeline. This means when LayerBuilder defers draws that are opaque over the full area of the repaint region, it will discard all drawing content beneth. Also moves a lot of complexity out of BakedOpState's header. Change-Id: Iffca6d8e1b170ef31a5d6c83d25592670e02323d
aintUtils.h
|
a15762ef760111aa05bd06998e7f2b4b531c6b98 |
23-Feb-2016 |
Chris Craik <ccraik@google.com> |
Support op dumping in new pipeline am: 91eff22b5d am: d39f57e0a7 * commit 'd39f57e0a7bb669adc4aab2a3b40db771dbd23a2': Support op dumping in new pipeline
|
91eff22b5d7f8fe551bae01331948858ce932a96 |
22-Feb-2016 |
Chris Craik <ccraik@google.com> |
Support op dumping in new pipeline bug:26565102 Change-Id: I266e420a2f18ba9ad62942b8a0de295dfa3a2a88
tringUtils.h
|
a17b5366d51296935f0c7c4750c102fec4d25923 |
22-Feb-2016 |
Chris Craik <ccraik@google.com> |
Merge "Add create_trivial_array" into nyc-dev am: 339fc0a1d2 am: 064b467718 * commit '064b467718e02e42360fce45c985d88333a35cdf': Add create_trivial_array
|
ed87fa2a2d7afe9e04c49c931c862dd3c550424c |
19-Feb-2016 |
Ben Wagner <bungeman@google.com> |
Use android_memset32 instead of sk_memset32. Android code should use the Android version. Also, Skia is interested in making sk_memset32 private. BUG:27290333 Change-Id: Id5c8bc190cdd21673c8844eaa48e8b6a93e2e9df
estWindowContext.cpp
|
7a89600bac7ab889a5ba8a994c57d677de0e45d5 |
20-Feb-2016 |
Chris Craik <ccraik@google.com> |
Add create_trivial_array Change-Id: I5e4236ff59fdaceb95105c5590f4deeda6d0b4c8
inearAllocator.h
|
7df9ff2a08fd4bbd9b2e734a357cffcf64675df9 |
11-Feb-2016 |
John Reck <jreck@google.com> |
Fix all LA memory leaks forever! Bug: 27072626 Or at least fix this one and make it harder to leak going forward. static_asserts are cool, use them liberally Also makes allocation via LA (slightly) faster by fixing create* variants to use rvalue references & std::forward, preventing an accidental pass-by-value Change-Id: I18fd696a93dd6ea49c8d8c587d4c8bee56dbfdf5
inearAllocator.cpp
inearAllocator.h
|
e537330ead4111cae74668bbc25a332e186d6c91 |
11-Feb-2016 |
John Reck <jreck@google.com> |
Revert "Fix all LA memory leaks forever!" This reverts commit 499d83f21e7ffb687788bba1668b05fe38f6ebaf. Change-Id: Ia893ae16ebbeae68e49cd13a20587104b73d39a0
inearAllocator.cpp
inearAllocator.h
|
499d83f21e7ffb687788bba1668b05fe38f6ebaf |
11-Feb-2016 |
John Reck <jreck@google.com> |
Fix all LA memory leaks forever! Bug: 27072626 Or at least fix this one and make it harder to leak going forward. static_asserts are cool, use them liberally Also makes allocation via LA (slightly) faster by fixing create* variants to use rvalue references & std::forward, preventing an accidental pass-by-value Change-Id: I5e0e36e72c6dd93324194ebf9a95f8204f05f261
inearAllocator.cpp
inearAllocator.h
|
c52ac0b9e2dc9d060f21498ac59404ec7fd1e846 |
26-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Add fine-grained debug layer"
|
975591a7af883d866d86ab819e164c6004694744 |
23-Jan-2016 |
John Reck <jreck@google.com> |
Add fine-grained debug layer Full GLES error checking layer via -include trickery. Change DEBUG_OPENGL to a level system. HIGH = every GL call is error checked MODERATE = checkpointing at interesting spots LOW = only asserts there are no errors at the end of a frame or when the FBO changes NONE = AIN'T GOT NO TIME FOR ERRORS GOTTA GO FAST! Change-Id: Ibe81aae93d942059c4ddf1cbb11c828b7ce4c10b
LUtils.cpp
LUtils.h
|
a3f16d43770e6740dd27210875964d91985efbd2 |
25-Jan-2016 |
Derek Sollenberger <djsollen@google.com> |
Replace SkALWAYSBREAK with equivalent Android macros. Change-Id: Icb7786c789915375d7d8754fc8536302c1020858
estWindowContext.cpp
|
2de7771740ee08fcaff638ec6b2e460bb72fff04 |
20-Jan-2016 |
John Reck <jreck@google.com> |
Normalize GL_UNPACK_ALIGNMENT Several places were setting GL_UNPACK_ALIGNMENT unneccessarily, whereas other places were assuming an unpack alignment of 1. Since we never actually do explicit row-alignment, set GL_UNPACK_ALIGNMENT to 1 at context creation time and never change it Bug: 26584230 Also turns on aggressive glGetError checking to better catch potential problem zones Change-Id: I190c8f0f0494a7f046d5ed769405c75d363be59a
LUtils.h
|
9372ac3621848085e77b867f220c0b5ffce4010d |
19-Jan-2016 |
John Reck <jreck@google.com> |
Fix ordering of texture->upload arguments Caught by scatter-shotting GL_CHECKPOINTS which seem generally useful to have Bug: 26609444 Change-Id: Ie31d9297d8dae56405126720f338b4256c8bae77
LUtils.h
|
cbc5bd57f0f528743fce5ec02b0739dc6368311f |
14-Jan-2016 |
John Reck <jreck@google.com> |
Merge "Track texture memory globally"
|
38e0c32852e3b9d8ca4a9d3791577f52536419cb |
10-Nov-2015 |
John Reck <jreck@google.com> |
Track texture memory globally Also mostly consolidates texture creation Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
tringUtils.h
|
3d5278b63862b337b8c7ef82ed18f1825e4b5c6b |
14-Jan-2016 |
Derek Sollenberger <djsollen@google.com> |
Update TestWindowContext to work with new HWUI ops. This enables HWUI to be testing within Skia's infrastructure and fixes skia bug 4775. Change-Id: I242b9e4c5ed0f4523b6075d8825a2624235a01c7
estWindowContext.cpp
|
f5baedb000e25497ca6875204dbe559970268543 |
05-Jan-2016 |
Chris Craik <ccraik@google.com> |
Merge "Stencil support in new recorder/reorderer"
|
e4db79de127cfe961195f52907af8451026eaa20 |
23-Dec-2015 |
Chris Craik <ccraik@google.com> |
Stencil support in new recorder/reorderer bug:22480459 bug:26358504 Adds complex (non-rectangular) clipping support, and overdraw visualization. Doesn't support stencil clipping in layers. Change-Id: I8d10c7f1d2769ab5756774ca672344cc09901f87
inearAllocator.h
|
4bbc2931263b232fba61807fca00e127573eff42 |
02-Dec-2015 |
Doris Liu <tianliu@google.com> |
VectorDrawable native rendering - Step 3 of MANY - Refactored VPathRenderer & VectorDrawableState - Moved all the VD rendering into native - Set up hooks for VD's property changes in JNI for animated VD TODO: JNI calls can be further reduced when we convert the animation in AVD to use RenderNodeAnimator, in which case animation will be driven from native and therefore most of the JNI hooks for changing VD's properties during animation will no longer be needed. Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
ectorDrawableUtils.h
|
58862c9f6f33a9aa3602ca4a7ce49ac2a1fdc7c6 |
10-Dec-2015 |
Tom Hudson <tomhudson@google.com> |
Fix leak of file descriptors in test code skia_dm rendering through HWUI was hanging after roughly 300 tests. logcat reports some process was unable to get any file descriptors. When we migrated TestWindowContext into HWUI and started using PIMPL I didn't clean up the implementation struct in the destructor. Doing so solved the hang for me. My guess was that BufferQueue was being leaked, and that gralloc is backed by file descriptors, but some research suggests that Android ought to be able to handle far more than 1k fds (ulimit -Hn returns 4096 on this device). R=djsollen@google.com Change-Id: I2cd9f8945cee9b22f838002e1ad687d5fe29cb97
estWindowContext.cpp
estWindowContext.h
|
a21c1da1561e0f1dc1ce4b3719f925abc25a74de |
09-Dec-2015 |
Andres Morales <anmorales@google.com> |
make RingBuffer const viable - mark size() const - expose const operator[] Change-Id: Ie94ff798caed6b0d9a039e359610204e93c073ac
ingBuffer.h
|
8160f20b0aca8c6595d4b385d673f59b6bcd16a4 |
02-Dec-2015 |
Chris Craik <ccraik@google.com> |
Reorganize hwui test directories Now test-only common files reside in tests/common, and each test executable type (macrobench, microbench, and unit) has a subdir there. This change means the shared lib no longer has test code in it, and sets up a means for scenes to be shared between tests. Change-Id: I37b081f6977300e03fdd961b8e6439fde730605e
estUtils.cpp
estUtils.h
|
54fa17f667c285a5c9225e238c8132dfe830ef36 |
25-Nov-2015 |
Chris Craik <ccraik@google.com> |
Add ListView rendering benchmark Also fixes a bug in DrawRenderNodeOp recording, which was triggered by the new test. Change-Id: I328f2ed908495eb95ca8ce87a365d02650e72cd5
olor.h
|
9b9eca5cc597a4245bd814f81a993f39c1591c84 |
25-Nov-2015 |
Chris Craik <ccraik@google.com> |
Merge "Support projection in OpReorderer"
|
8d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7 |
25-Nov-2015 |
Chris Craik <ccraik@google.com> |
Support projection in OpReorderer bug:22480459 Change-Id: Iceb71732dc50957cfb47fa1ba9b8e18e6fc51132
estUtils.h
|
42a5407f2c6403ea7aa7a64eaf19948dc4050df5 |
24-Nov-2015 |
Chris Craik <ccraik@google.com> |
Fix RecordingCanvas::refPaint, add tests Also add text align support to TestUtils::drawTextToCanvas Change-Id: I105adb0d15e697c03adfd00a56e8ec9265953ff1
estUtils.cpp
estUtils.h
|
a1717271caac5e8ea3808c331d4141ac01a42134 |
19-Nov-2015 |
Chris Craik <ccraik@google.com> |
Initial text support in new reorderer/renderer Removes obsolete drawPosText codepath, and unifies text decoration behavior. Change-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c
estUtils.cpp
estUtils.h
|
16c9d6a92e1b86d448c00c52a1630f3e71e6df76 |
18-Nov-2015 |
John Reck <jreck@google.com> |
Refactor hwuitest Yank animations out into their own files Change-Id: Iea522ee032752019c07ff308c3a3993011054308
estUtils.cpp
estUtils.h
|
804618d0863a5d8ad1b08a846bd5319be864a1cb |
17-Nov-2015 |
Doris Liu <tianliu@google.com> |
VectorDrawable native rendering - Step 2 of MANY Introduced PathData in Java, which is effectively a thin layer around the native instance. PathData holds the verbs and points which is being used in path morphing/interpolation. The verbs and points can be interpreted into skia path commands, which is now done in native and therefore saves a handful of JNI calls during path creation. Removed the old PathDataNode mechanism and changed the PathEvaluator to use PathData instead. Also added tests and a microbench. Also ran CTS tests for VectorDrawable and AnimatedVectorDrawable, and passed all of the existing tests. Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
ectorDrawableUtils.cpp
ectorDrawableUtils.h
|
9fded232a9548a304e0145011df8849fba0dcda7 |
12-Nov-2015 |
Chris Craik <ccraik@google.com> |
Recycle OffscreenBuffers Change-Id: Ia2e219026f211a5308ecf8209c5f986bb888aadd
acros.h
|
30bcf69df9cfae40b621335958656cb0e4afd7d5 |
04-Nov-2015 |
Doris Liu <tianliu@google.com> |
VectorDrawable native rendering - Step 1 of MANY Implement path parsing from string to skia path in native. The parsing contains two main stages: 1) Parse string into a list of nodes that contains one operation (such as move) and a vector of floats as params for that operation. 2) Interpret the operations defined in the nodes into SkPath operations, and create a skia path Also provided unit test for parsing a string path into a list of nodes, and then to a skia path. Change-Id: I0ce13df5e3bb90987dcdc80fe8b039af175ad2e2
atVector.h
|
704bed0da7cc75d0c517d425445de70ceb58060b |
05-Nov-2015 |
John Reck <jreck@google.com> |
add DeviceInfo This reverts commit 096895550b9d5430d7a001d491566decf4f9791b. Change-Id: Ib2ed1e96d8f7f88302f5e27fe735687194553104
tringUtils.cpp
tringUtils.h
|
096895550b9d5430d7a001d491566decf4f9791b |
05-Nov-2015 |
John Reck <jreck@google.com> |
Revert "add DeviceInfo" This reverts commit b2442896e3a226c7ebe9d47fa80b257e98a6a34d. Change-Id: I50f6555451f71067505245333c8e558b5e3b2b3b
tringUtils.cpp
tringUtils.h
|
b2442896e3a226c7ebe9d47fa80b257e98a6a34d |
04-Nov-2015 |
John Reck <jreck@google.com> |
add DeviceInfo Change-Id: I4c122278a7e88b6f47c4dd3c5fc553df7d3c900d
tringUtils.cpp
tringUtils.h
|
8d2cf943d9c7292e54726399faefdec4a01c084b |
02-Nov-2015 |
Chris Craik <ccraik@google.com> |
Add region-tracking to OffscreenBuffers Change-Id: I024c7219c080b9a89888517f5a89d49dfe8065ba
atVector.h
|
41b10518d08dbd42c9026c66dea4ff4f42311a02 |
29-Oct-2015 |
Chris Craik <ccraik@google.com> |
Merge "Add FatVector"
|
76ace115f7870fed9899a9db7d3852e21b5fb258 |
29-Oct-2015 |
Chris Craik <ccraik@google.com> |
Add FatVector FatVector uses an inlined allocation to avoid malloc costs for small vectors, especially those which are constructed/destructed frequently. Change-Id: I9809dfd1255cfe98b4ce2b1124ca0fd6ca33dfe0
atVector.h
|
f35b989d26bb98900f6c5fa2e586326b30b6e161 |
31-Jul-2015 |
Leon Scroggins III <scroggo@google.com> |
Merge six commits from master-skia to master Also corrects some code under development behind the HWUI_NEW_OPS flags to match the updated Skia API. Include external/skia/include/private use SrcConstraint for drawBitmapRect clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS don't call DEPRECATED getDevice() update to newer API for drawBitmapRect asABitmap is deprecated, used isABitmap previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56 previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec previous-Change-Id: I85de3462ad1e4877784df38edc4bcd0acbd24e5e Change-Id: Ide8e2f669e91a13c32521af3a16efdaa085c81d0
inePatchImpl.cpp
|
1de39f15632bfbcc1918e558262f93209c758a99 |
28-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Merge "Revert "Merge six commits from master-skia to master""
|
d8f904f256b82e48e9a85561eb96e15399b0b2d9 |
28-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Revert "Merge six commits from master-skia to master" This reverts commit 550780745fa28ae9a87d02331841ca5ce4f9c763. Change-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989
inePatchImpl.cpp
|
97c92659fab67ca61d276f551e6f9d315428a6aa |
28-Oct-2015 |
John Reck <jreck@google.com> |
Merge "Tune scheduling a bit, avoid a binder ipc"
|
e486d932ca5a10446a3c98d6d065213913277268 |
28-Oct-2015 |
John Reck <jreck@google.com> |
Tune scheduling a bit, avoid a binder ipc Don't query running behind if it's not possible to be behind such as having received a vsync since the last call to swap buffers. This also avoids an accidental-starvation issue where if surface flinger was a bit sluggish to dequeue then renderthread would drop thinking the queue was full. Also be a bit smarter about tracking if we've already drawn for this vsync target to avoid producing two frames for the same vsync Change-Id: Ib266500a693c27000b2e8ea578f111229d75147a
imeUtils.h
|
550780745fa28ae9a87d02331841ca5ce4f9c763 |
31-Jul-2015 |
Leon Scroggins III <scroggo@google.com> |
Merge six commits from master-skia to master Include external/skia/include/private use SrcConstraint for drawBitmapRect clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS don't call DEPRECATED getDevice() update to newer API for drawBitmapRect asABitmap is deprecated, used isABitmap Change-Id: I519f54f97321a7a365ea81a3b78cb03b9bdca021 previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56 previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
inePatchImpl.cpp
|
64bb63f0eeee73df64b22b9d1edd1962b8b9ba36 |
23-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Merge "Remove direct dependency of external/skia on frameworks/native"
|
b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499 |
15-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Remove direct dependency of external/skia on frameworks/native Moves all code that needs to link with libgui or libui into frameworks/native/hwui/utils/TestWindowContext. This allows us to run Skia automated tests against a HWUI backend to watch for performance or correctness regressions on Android. BUG=23556017 TEST=After this change, we can remove libui and frameworks/native/include from external/skia/Android.mk R=djsollen@google.com Change-Id: I6f02a5ff98101e448606a1e892686e2c648b6c8a
estWindowContext.cpp
estWindowContext.h
|
b36af87f8275f4b982906f88193ec27600f2746a |
16-Oct-2015 |
Chris Craik <ccraik@google.com> |
Use LinearStdAllocator in DisplayList bug:24300128 This removes most of the remaining calls to malloc when recording DisplayLists. Change-Id: If928bd53dac0f145aadc436a62759086b67da0ed
inearAllocator.h
|
81a1d2a15927b06b84359f839ab03ac8a20970bd |
16-Oct-2015 |
Chris Craik <ccraik@google.com> |
Add LinearStdAllocator Also fixes microbench DisplayListData leak. Change-Id: I1c46f6d0d38650327f3df90e7b278fa7765083dc
inearAllocator.cpp
inearAllocator.h
|
b565df13a9e5c7b1d7d93bdfa4a793752d66d3cc |
05-Oct-2015 |
Chris Craik <ccraik@google.com> |
Initial commit of new Canvas operation recording / replay Done: - drawRect, drawBitmap, drawColor, drawPaint, drawRenderNode, drawRegion - Recording with new DisplayList format - batching & reordering - Stateless op reorder - Stateless op rendering - Frame lifecycle (clear, geterror, cleanup) Not done: - SaveLayer (clipped and unclipped) - HW layers - Complex clipping - Ripple projection - Z reordering - Z shadows - onDefer prefetching (text + task kickoff) - round rect clip - linear allocation for std collections - AssetAtlas support Change-Id: Iaf98c1a3aeab5fa47cc8f9c6d964420abc0e7691
aintUtils.h
|
ea508588e9c4a9d87f36b0e74de4d9420c2af06d |
05-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Merge "Include what you use"
|
ca4f0b5a43ed0e0ec5e52613cd176705e6c06882 |
05-Oct-2015 |
Tom Hudson <tomhudson@google.com> |
Include what you use utils/PaintUtils.h was relying on a transitive include which was changed to a forward declaration; this change adds the SkDrawLooper include where we need it. R=djsollen@google.com Change-Id: I6b034c47ddc277224c7deb007c9934004c037b8c
aintUtils.h
|
f6049a5c55645d31002aad7336119b813034a6f6 |
02-Oct-2015 |
Chris Craik <ccraik@google.com> |
Merge "Move more utils into paintutils"
|
bf6f0f260886a04a1680c7f9917124a751322ca4 |
01-Oct-2015 |
Chris Craik <ccraik@google.com> |
Move more utils into paintutils Change-Id: I1eb3fd52386bc61a592da235533e40b509eeec24
aintUtils.h
|
f236d7ffadd918a2a50f7cbd04349ad2222644b7 |
01-Oct-2015 |
Sergio Giro <sgiro@google.com> |
resolved conflicts for 31e5ded6 to master Change-Id: Iae4e1abe697f1c00a82b54c17afa7d4edddc006b
|
6706b71d7cfb9a916fd482189c04a0d59c19c103 |
01-Oct-2015 |
Sergio Giro <sgiro@google.com> |
am 86e67d70: Merge "frameworks/base: delete TinyHashMap" * commit '86e67d708d738807c843850a3b6c9170e514ff8f': frameworks/base: delete TinyHashMap
|
1673035f051aa5da7e98bf7ad6acc5ae4e27a5df |
30-Sep-2015 |
Sene Gales <sgiro@google.com> |
frameworks/base: delete TinyHashMap In DeferredDisplayList use std::unordered_map instead of TinyHashMap Towards deprecation of BasicHashTable Change-Id: I91b8d5dc80444c88fecff9c362fa610cca253973
inyHashMap.h
|
6e6646c03788f198a9878763680c05342d7622f3 |
15-Sep-2015 |
Chris Craik <ccraik@google.com> |
Unify extensions parsing behavior Removes remnants of EGL extension support, and persistence of GL extension list. Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48
tringUtils.cpp
tringUtils.h
|
25c8d5b1c2d1405e2a8afa857713af072bedad53 |
03-Sep-2015 |
Chris Craik <ccraik@google.com> |
Fix pointer math in page start calculation Change-Id: I1582e52f358fece647e35b13e93e56fd96b9a227
inearAllocator.cpp
|
9db58c031f8ffa102a6d585cb585bed3bdb911a9 |
20-Aug-2015 |
Chris Craik <ccraik@google.com> |
Remove MathUtils::min/max bug:22202895 Change-Id: Ia115d86871314e3819f684ea7307356aed13a28e
athUtils.h
|
4c5efe9290543b723b76a8bd48518da1ae1dcb26 |
10-Jul-2015 |
Derek Sollenberger <djsollen@google.com> |
Add ninePatch support to Canvas.h Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
inePatch.h
inePatchImpl.cpp
|
773bbe0357b17a16d095ce57c30980992a9c977f |
18-Aug-2015 |
John Reck <jreck@google.com> |
Revert "Add ninePatch support to Canvas.h" This reverts commit edca320a2b42011f98c308fdf25fc0494c6a5454. Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
inePatch.h
inePatchImpl.cpp
|
deead00082df4839e71026750e55c1af4d62782f |
17-Aug-2015 |
Derek Sollenberger <djsollen@google.com> |
Merge "Add ninePatch support to Canvas.h"
|
a46ca5ec732a884c78d3e98f8b4eb8de03bc23f8 |
14-Apr-2015 |
huanhuan.x.wang <huanhuan.x.wang@sonymobile.com> |
Make the value for shadowRadius less than 1.0 work bug:22806069 Shadow effect is not visible if the shadowRadius is set between 0.1 and 1.0. Cherry-pick of 8d9b5fbd from AOSP Change-Id: Ifff71f44d66ba604bd751bb1df96a9904ae7998e
lur.cpp
lur.h
|
edca320a2b42011f98c308fdf25fc0494c6a5454 |
10-Jul-2015 |
Derek Sollenberger <djsollen@google.com> |
Add ninePatch support to Canvas.h Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
inePatch.h
inePatchImpl.cpp
|
49286e8540b8afbe6f3d17f6aaf65b16fb1fdcba |
30-Jul-2015 |
John Reck <jreck@google.com> |
Merge "Tune LA's initial size better"
|
afb052142a53602ee7b3debb6a3b871de21feac0 |
30-Jul-2015 |
John Reck <jreck@google.com> |
Tune LA's initial size better Reduces wasted memory from ~80% to ~40% on a handful of apps. Change-Id: Idd5fb6477341925156d5f1f0ce2a535ec4e1aa4f
inearAllocator.cpp
|
bef837dc57b47fd7fcc17c86d741cf77eac4487b |
30-Jul-2015 |
John Reck <jreck@google.com> |
Remove the rest of utils/Vector.h usage Change-Id: I90ab2c17ba1903a8241cba7f623b74ed136dd845
ortedList.h
ortedListImpl.cpp
ortedListImpl.h
|
5a4690bf26932c0d6940e4af8516d920e09ae81a |
14-Jul-2015 |
Chris Craik <ccraik@google.com> |
Clean up unncessary defines LOG_TAG and TRACE_TAG are already defined in the makefile Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
lur.cpp
|
5686bae28926dae6e4b4d380d75d18e77335c9d3 |
23-Jun-2015 |
Chris Craik <ccraik@google.com> |
Dump GL errors and crash on failure to allocate texture for layer bug:22029728 Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
LUtils.cpp
LUtils.h
|
41300274cf8efde2ca95d3c767b214d1edb97f8d |
03-Jun-2015 |
John Reck <jreck@google.com> |
Iterate step of launch & iterate Bug: 18052916 Tweaked colors, merged some categories Reduced significance of fast frames Increased visual weight of janky frames Change-Id: I5b4e86164c4d51debad7de0e0f8715dda34c7a60
ingBuffer.h
|
1b54fb27ac48495ed0b33868fda5776fb49fe0f3 |
03-Jun-2015 |
Chris Craik <ccraik@google.com> |
Delete MAKE_ENUM_FLAGS bug:21595702 Settle on namespace-enum for consistency. Also removes k prefix. Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
acros.h
|
ff29b5a5b9b991868051f0fa065a4ac668e7fa0b |
28-May-2015 |
Chris Craik <ccraik@google.com> |
Fix round cap approximation to understand scale bug:19772120 Change-Id: I7b944faed1d1e8d5f55453802da57679217d9d9a
athUtils.h
|
2f1e21d9956c73fac2f2da4705d144342137aa96 |
19-May-2015 |
Chih-Hung Hsieh <chh@google.com> |
Add missing const qualifier to compile with clang/llvm. BUG: 21298442 Change-Id: Iad211237fdb0128d8f4490419687bf1da1cd261c
ingBuffer.h
|
6b4ace298e3c30ed11fbcb168229f492323e19ba |
14-May-2015 |
Chris Craik <ccraik@google.com> |
Merge "Add back alpha atrace log" into mnc-dev
|
1a0808e64c170fa7b620b858fa5875f6f08a2b54 |
14-May-2015 |
Chris Craik <ccraik@google.com> |
Add back alpha atrace log bug:20922838 Change-Id: I70ccbffdd5f140cd1dd71fbf456fb5b085e74a4a
raceUtils.h
|
4c9e59d03c2bca38001225b79d01740b8999adfb |
12-May-2015 |
John Reck <jreck@google.com> |
Unify DrawProfiler/JankStats Bug: 20822400 Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
ingBuffer.h
|
b5bc454870c8b7df88a633b18c4c6499361c3a08 |
24-Apr-2015 |
John Reck <jreck@google.com> |
Teach LA how to destroy Change-Id: I57ab30b6d56370dade6987f442136ea5e5546c9b
inearAllocator.cpp
inearAllocator.h
|
1ed723723d9e42a064d54799cc24bdc24891e44d |
24-Apr-2015 |
John Reck <jreck@google.com> |
Move LinearAlloc to libhuwi Change-Id: I1d8c99bdeef22ca569e1743cff6108f478737bc8
inearAllocator.cpp
inearAllocator.h
|
8d9b5fbdf0a005941b7f0019102cc7b94a41a2d6 |
14-Apr-2015 |
huanhuan.x.wang <huanhuan.x.wang@sonymobile.com> |
Make the value for shadowRadius less than 1.0 work Shadow effect is not visible if the shadowRadius is set between 0.1 and 1.0. Change-Id: Ifff71f44d66ba604bd751bb1df96a9904ae7998e
lur.cpp
lur.h
|
e2bb380bc26749782c873e5488cfdf4e42b27346 |
13-Mar-2015 |
Chris Craik <ccraik@google.com> |
Use glops for text rendering Change-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92
acros.h
|
2a1ce8a4e5258b6599cb8e86864eb816d24d69b4 |
16-Mar-2015 |
Mike Reed <reed@google.com> |
use SkFilterQuality instead of SkPaint::FilterLevel Change-Id: I5d26869de746107b8a35a7a662236f993a824b0d
aintUtils.h
|
a6b52198b9e73a4b7f80103116feeace74433246 |
28-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop drawBitmaps, drawPatches Change-Id: I3f1cd3f47f97d2e0c9b9d153732e26ee0b1c58c2
acros.h
|
ef2507439c08f4e9c4c9bba1c6243ca9df2ee827 |
26-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop mesh reorg, support for drawBitmapMesh Change-Id: Iaf5550bdd93da93e59a5b838234ab5612e067387
acros.h
|
c87be99c6ead0720a8918ea38ce3b25e5c49e1c6 |
20-Feb-2015 |
John Reck <jreck@google.com> |
C++11 style fixups Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
acros.h
|
ba6adf66d3c44c0aa2fd8a224862ff1901d64300 |
19-Feb-2015 |
John Reck <jreck@google.com> |
Initial attempt at jank-tracking stat collection Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
acros.h
ingBuffer.h
|
922d3a7f6f8c1c05a996ee3e91e8cbadfff560c9 |
14-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop SkiaShader support Change-Id: I894a0b62701bd02367ab970813e4c332147351a2
acros.h
|
0519c810a56bded1284fcb2ae40f438878c6585f |
11-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop Bitmap and RoundRect clipping support Change-Id: I4577546a5d2e5f084cc03f39a89db9231b8111ee
acros.h
aintUtils.h
|
117bdbcfa3e8306dad21e7e01fa71b00cdfa7265 |
05-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop ColorFilter & VertexBuffer support, initial enable Enables Glop rendering for supported Rects and VertexBuffers Also removes unused Query object Change-Id: Ibe227bc362685a153159f75077664f0947764e06
aintUtils.h
|
031888744e24b5c7243ac99ec98b78aff5db1c78 |
03-Feb-2015 |
Chris Craik <ccraik@google.com> |
GlopBuilder, and test app refactor Change-Id: I2cd299ccf178007fd5f83bab6c3448f03aec7843
aintUtils.h
|
65fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6 |
27-Jan-2015 |
Chris Craik <ccraik@google.com> |
Move scissor state to RenderState Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
acros.h
|
487a92caef2eb90a62e8f8d7a6fe6315f1c1d8d8 |
06-Jan-2015 |
Rob Tsuk <robtsuk@google.com> |
Clipping performance improvements Create a ClipArea class to handle tracking clip regions. This class can select the most efficient implementation depending on the types of clipping presented. ClipArea re-used the rectangle and region-based clipping implementations as well as adding a "list of rotated rectangles" approach that is more efficient for rotated views with children. Change-Id: I2133761a2462ebc0852b394220e265974b3086f0
air.h
|
d41c4d8c732095ae99c955b6b82f7306633004b1 |
06-Jan-2015 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword for all files Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
aintUtils.h
iming.h
|
8dfaa4904205772cdceee63ef3989bcdedf1a914 |
09-Dec-2014 |
Tom Hudson <tomhudson@google.com> |
Make DisplayListRenderer inherit from Canvas, merge JNI Incrementally unify the upper layers for Skia and HWUI. Remove redundant code from GLES20Canvas.java; instead use inherited mNativeCanvasWrapper and superclass method definitions. Moves some unrelated SkPaint utility functions from Renderer to new utils/PaintUtils. bug: 15672762 Change-Id: I4ddd4214b8e9eeb95289d054ef423f2542bb5fa5
aintUtils.h
|
e84a208317e0ed388fcdad1e6743c7849acb51b0 |
22-Dec-2014 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword Changes generated with clang-modernize. Additionally, fixed some struct-vs-class usage to make clang happy. Change-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72
ortedList.h
ortedListImpl.h
|
70850ea258cbf91477efa57a1f1a23cc0044cc93 |
18-Nov-2014 |
Chris Craik <ccraik@google.com> |
Improve logging around performance critical events bug:17702227 Add details useful to developers (such as layer size/View name), and switch away from logging implementation names/details, since they are generally not relevant to developers. Change-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5
raceUtils.h
|
3bd3fa1f1d437e22aee35381a559dcee15a437dd |
25-Aug-2014 |
ztenghui <ztenghui@google.com> |
Correctly detect the wrong Z value for the light b/17221975 Change-Id: I2b46da95ad12ca5260d7fe9514a75558b6b6393b
athUtils.h
|
c50a03d78aaedd0003377e98710e7038bda330e9 |
21-Aug-2014 |
ztenghui <ztenghui@google.com> |
Improve the spot shadow computation. Get rid of compuation of the intersection for penumbra and convex hull for umbra. Use simple circle / normal to compute the penumbra and simple intersection for umbra. The new way could be 2x to 4x faster from rectangle to round shape. And this part is roughly half of the shadow computation, or 2/3 of spot shadow computation. This improve the spot shadow spikeness too. b/16712006 b/14976551 Change-Id: I02911784868731369efa73f76fc915bc08248600
athUtils.h
|
74cf7e6a25c6d7b331c231b7bc2512044f9d2950 |
07-Aug-2014 |
Chris Craik <ccraik@google.com> |
Cap scales used for tessellation with minimum and maximum bug:15615144 Change-Id: I3e833864af3a7b34e444bd13db34b6c90496a8b6
athUtils.h
|
3b52c03f5035b833d365215420739aa840ac5080 |
06-Aug-2014 |
John Reck <jreck@google.com> |
clamp & round alpha Bug: 16842521 Change-Id: Ifd93f40b5751746835c9d56bb3c2b5ba700bdccc
athUtils.h
|
1aa5d2d7068147ff781cfe911a93f01593a68c79 |
24-Jul-2014 |
John Reck <jreck@google.com> |
Fix ALL compile warnings All warnings/errors fixed for GCC & Clang Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
athUtils.h
|
1e5cf9aced40e6e14262e542d0ed0e24cda877a0 |
10-Jun-2014 |
Chris Craik <ccraik@google.com> |
am b1c76a1a: Merge "Tessellate on worker threads" into lmp-preview-dev * commit 'b1c76a1abcfb2f33e12fef37ec71d20724863b5e': Tessellate on worker threads
|
05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5 |
03-Jun-2014 |
Chris Craik <ccraik@google.com> |
Tessellate on worker threads Tessellate and cache (where possible) shadow and round rect tessellation tasks. Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
acros.h
athUtils.h
|
e392c81f6b8f9ace0c0a48c9d4df117fda31fd13 |
21-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Pass the radius as a float deeper into HWUI allowing RS to generate more accurate blurs. Also, when converting radius to an integer value snap to the appropriate integer boundaries. bug: 10650594 Change-Id: Icca4bc17d88162bbcbc6035d4f81bd1d98a4de2d
lur.cpp
lur.h
|
deeda3d337aed1eee218b89a7aba5992ced371f0 |
06-May-2014 |
Chris Craik <ccraik@google.com> |
Round rect outline clipping Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
athUtils.h
|
315c329544d7c593d1072b071cbb92d9afe74021 |
10-May-2014 |
John Reck <jreck@google.com> |
Add TimeInterpolator support to RNA Bug: 14678626 Change-Id: I6554e7fcd42c49fac3618ca792083bb68e358f55
athUtils.h
|
9fa4071c4768c63902c6a74a4b480b51a8b95d43 |
10-May-2014 |
John Reck <jreck@google.com> |
Refactor VirtualLightRefBase & JNI Change-Id: I8e244e7109e59d5be96871b23bb9b1201c7f9eaa
irtualLightRefBase.h
|
e4aa95e3627226bcb0d8cc3e42dca6e4df8f421c |
08-May-2014 |
Chris Craik <ccraik@google.com> |
Add logging utility methods Change-Id: I0f316830dcc0bbf438292a6d0fbe9f8154368500
LUtils.cpp
LUtils.h
athUtils.h
|
5b554f010358d8f47e31d92a42aa3edc4a71ec47 |
08-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Avoid caching shadow properties in Java & HWUI."
|
c29a0a4664a4b9871fadd668b632469a0db240b9 |
31-Mar-2014 |
Derek Sollenberger <djsollen@google.com> |
Avoid caching shadow properties in Java & HWUI. bug: 10650594 Change-Id: I6f57df002710bb0567ed7e53fc0bfe96cfd504b8
lur.cpp
lur.h
|
52244fff29042926e21fa897ef5ab11148e35299 |
02-May-2014 |
John Reck <jreck@google.com> |
Add CanvasProperty for drawCircle Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
acros.h
|
cc39e16cb98855f35079941b5e7e6eac2b7bc388 |
26-Apr-2014 |
Chris Craik <ccraik@google.com> |
Add elevation, Z properties to View Change-Id: I3dd3b683a66e248a0fdf2ca69d1e962615b0daf9
athUtils.h
|
e0bb87d4bdbd3b08ab6a8569c8e564ed59b8a5a7 |
23-Apr-2014 |
Chris Craik <ccraik@google.com> |
Fix translationZ matrix computation bug:14259972 Ensure that translationZ is applied for true3dTransform property transformations, even if the node doesn't have any other transformation properties set. Additionally, use fuzzy compare for translationZ, similar to rotationX/Y, since they're expenive to leave set in rounding error cases. Change-Id: Idafa4423cc7751a8f433237b1f576aa7abb74f6e
athUtils.h
|
087bc0c14bdccf7c258dce0cdef46a69a839b427 |
05-Apr-2014 |
John Reck <jreck@google.com> |
Refcount RenderNode Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
irtualLightRefBase.h
|
e9bea2a18201d079831750865ab1d013528d862a |
07-Feb-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
Fix TinyHashMap to use generic hash_type instead of hash_t TinyHashMap used hash_t(key) to generate hashcode. This would not work for 64-bit pointers as hash_t is declared as an uint32_t. Replaced the hash_t(key) call to more generic android::hash_type(key). This function is a template function declared in TypeHelpers.h and has a version available for all data types including pointers. Change-Id: I612cf18b49ca7c30b63f9d6938df68fed7d80d08 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
inyHashMap.h
|
527a3aace1dd72432c2e0472a570e030ad04bf16 |
04-Mar-2013 |
Chris Craik <ccraik@google.com> |
Draw Operation merging Merge simple bitmap draw operations and text operations to avoid issuing individual gl draws for each operation. Merging other ops to be done eventually. The methods are different - the bitmap merging generates a single mesh for reused, unclipped images (esp. repeated images in a listview) The text approach queries just defers the normal font rendering until the last drawText in the sequence that can share the same shader. Patches are sorted and merged, but don't yet have a multiDraw implementation. For now, the pretending-to-merge gives better sorting behavior by keeping similar patches together. Change-Id: Ic300cdab0a53814cf7b09c58bf54b1bf0f58ccd6
inyHashMap.h
|
c5cbee7d78513527e89450e6369a30a04b2d5e7a |
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Stop worker threads on memory trim & fix bad pointer access Change-Id: I6fe7e31aeb6dd41fa65ab952caed97bc2da510d7
air.h
|
6e2004089305cf2cd958b52b234459a49a4e5c83 |
08-Mar-2013 |
Romain Guy <romainguy@google.com> |
Move blur code from FontRenderer to utils/Blur.cpp Change-Id: I2cebbfbcb722ed4b37e54ffbf8b53bb92ad0c964
lur.cpp
lur.h
|
13ba0054846ce630ca31e8f26169fd9388faee02 |
15-Feb-2013 |
Romain Guy <romainguy@google.com> |
Remove obsolete header file We now use the same mechanism to compare keys everywhere in libhwui. Change-Id: I8b3cb25b13f4f38eb6f12aed0356f796a773617c
ompare.h
|
f2d8ccc15d7272b3416f73605c1f31d1d346bd40 |
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Revert "Use RenderScript for large text blurs"" This reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238. Change-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a
iming.h
|
bf5703e52e3304246cbf0e73f6976f7d7312d238 |
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Use RenderScript for large text blurs" This reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 Change-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e
iming.h
|
3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 |
15-Nov-2012 |
Chris Craik <ccraik@google.com> |
Use RenderScript for large text blurs Still fall back to simple path for small tasks Change-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392
iming.h
|
f26c8be01bb218619e073a209c9d57fe9d26c517 |
18-May-2012 |
Romain Guy <romainguy@google.com> |
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
ompare.h
|
13ede62fd77acdf158f7210043fe48644cb4a589 |
16-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Make LTE_FLOAT a strict weak order. Bug: 5327776 Currently LTE_FLOAT isn't even a valid partial order, let alone a strict weak order as needed by binary search. Consequently, KeyedVectors with keys whose types have operator< using LTE_FLOAT sometimes find the wrong values! This problem affects several graphics caches including the TextLayoutCache. (This is still not a total order because NaNs are not comparable but hopefully we don't ever search for NaNs this way!) Change-Id: Ic447a34c7d87f681ee81538f22a0937a039072dd
ompare.h
|
d313c665e618af3194f504064bcd284fe5368682 |
25-Feb-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add TextLayout Cache - use GenerationCache for caching - move GenerationCache.h from libs/hwui/utils to include/utils - add #define for cache activation / deactivation Change-Id: Ifaf519f0b5e33b087a453e4aa6430162d8438f20
enerationCache.h
|
fe48f65922d4a3cc4aefe058cee5acec51504a20 |
12-Nov-2010 |
Romain Guy <romainguy@google.com> |
Free resources only from the GL context thread. Bug #3179882 Resources were freed following garbage collections on a worker thread. This worker thread had no EGL context, which would cause the renderer to incorrectly assume that the memory was liberated. Change-Id: Ifdb51f94ddf42641e8654522787bfac532976c7c
enerationCache.h
|
5b3b35296e8b2c8d3f07d32bb645d5414db41a1d |
28-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file. Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
ompare.h
enerationCache.h
ortedList.h
ortedListImpl.h
|
2665b85b2bd08faabf7c520a622a0e4d3465245f |
19-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small cleanup. Change-Id: I0e5b9154a2d93af793d62f462d68cb7c6c3f6d75
ompare.h
|
03750a067e818ca7fbd0f590e2ff6a8fded21e6c |
18-Oct-2010 |
Romain Guy <romainguy@google.com> |
Use VBOs to render most geometries. Change-Id: I4360dc4fe5693ab425450c107282b2c22db4dca7
ompare.h
|
4bb942083a0d4db746adf95349108dd8ef842e32 |
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize 9patch rendering. This change detects empty quads in 9patches and removes them from the mesh to avoid unnecessary blending. Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
ompare.h
|
21b028a44f3e0bd9b0f0432b8b92c45f661d22a4 |
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Move GenerationCache to the utils directory. Change-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6
enerationCache.h
|
8550c4c7b5952b7a4e1e0ede95c9492d03099a13 |
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Better cache for layers, reduce memory usage and increase framerate. Change-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d
ortedList.h
ortedListImpl.cpp
ortedListImpl.h
|