137 Commits

Author SHA1 Message Date
Tom Hudson
64bb63f0ee Merge "Remove direct dependency of external/skia on frameworks/native" 2015-10-23 14:17:11 +00:00
Tom Hudson
b2f5bd2d60 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
2015-10-23 10:07:03 -04:00
Chris Craik
b36af87f82 Use LinearStdAllocator in DisplayList
bug:24300128

This removes most of the remaining calls to malloc when
recording DisplayLists.

Change-Id: If928bd53dac0f145aadc436a62759086b67da0ed
2015-10-19 11:32:28 -07:00
Chris Craik
81a1d2a159 Add LinearStdAllocator
Also fixes microbench DisplayListData leak.

Change-Id: I1c46f6d0d38650327f3df90e7b278fa7765083dc
2015-10-15 17:14:45 -07:00
Chris Craik
b565df13a9 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
2015-10-14 16:10:40 -07:00
Tom Hudson
ea508588e9 Merge "Include what you use" 2015-10-05 13:03:07 +00:00
Tom Hudson
ca4f0b5a43 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
2015-10-05 13:02:05 +00:00
Chris Craik
f6049a5c55 Merge "Move more utils into paintutils" 2015-10-02 17:28:36 +00:00
Chris Craik
bf6f0f2608 Move more utils into paintutils
Change-Id: I1eb3fd52386bc61a592da235533e40b509eeec24
2015-10-01 15:26:06 -07:00
Sergio Giro
f236d7ffad resolved conflicts for 31e5ded6 to master
Change-Id: Iae4e1abe697f1c00a82b54c17afa7d4edddc006b
2015-10-01 11:19:34 +00:00
Sergio Giro
6706b71d7c am 86e67d70: Merge "frameworks/base: delete TinyHashMap"
* commit '86e67d708d738807c843850a3b6c9170e514ff8f':
  frameworks/base: delete TinyHashMap
2015-10-01 10:16:44 +00:00
Sene Gales
1673035f05 frameworks/base: delete TinyHashMap
In DeferredDisplayList use std::unordered_map instead of TinyHashMap

Towards deprecation of BasicHashTable

Change-Id: I91b8d5dc80444c88fecff9c362fa610cca253973
2015-09-30 20:37:01 +01:00
Chris Craik
6e6646c037 Unify extensions parsing behavior
Removes remnants of EGL extension support, and persistence of
GL extension list.

Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48
2015-09-21 13:14:20 -07:00
Chris Craik
25c8d5b1c2 Fix pointer math in page start calculation
Change-Id: I1582e52f358fece647e35b13e93e56fd96b9a227
2015-09-02 16:20:56 -07:00
Chris Craik
9db58c031f Remove MathUtils::min/max
bug:22202895

Change-Id: Ia115d86871314e3819f684ea7307356aed13a28e
2015-08-19 15:53:01 -07:00
Derek Sollenberger
4c5efe9290 Add ninePatch support to Canvas.h
Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
2015-08-18 15:32:57 -04:00
John Reck
773bbe0357 Revert "Add ninePatch support to Canvas.h"
This reverts commit edca320a2b42011f98c308fdf25fc0494c6a5454.

Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
2015-08-17 15:24:09 -07:00
Derek Sollenberger
deead00082 Merge "Add ninePatch support to Canvas.h" 2015-08-17 17:20:55 +00:00
huanhuan.x.wang
a46ca5ec73 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
2015-08-14 22:47:47 +00:00
Derek Sollenberger
edca320a2b Add ninePatch support to Canvas.h
Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
2015-08-14 14:59:37 -04:00
John Reck
49286e8540 Merge "Tune LA's initial size better" 2015-07-30 21:29:03 +00:00
John Reck
afb052142a Tune LA's initial size better
Reduces wasted memory from ~80% to ~40% on a
handful of apps.

Change-Id: Idd5fb6477341925156d5f1f0ce2a535ec4e1aa4f
2015-07-30 14:22:32 -07:00
John Reck
bef837dc57 Remove the rest of utils/Vector.h usage
Change-Id: I90ab2c17ba1903a8241cba7f623b74ed136dd845
2015-07-30 09:51:57 -07:00
Chris Craik
5a4690bf26 Clean up unncessary defines
LOG_TAG and TRACE_TAG are already defined in the makefile

Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
2015-07-14 13:25:38 -07:00
Chris Craik
5686bae289 Dump GL errors and crash on failure to allocate texture for layer
bug:22029728

Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
2015-06-23 10:34:54 -07:00
John Reck
41300274cf 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
2015-06-04 10:49:08 -07:00
Chris Craik
1b54fb27ac Delete MAKE_ENUM_FLAGS
bug:21595702

Settle on namespace-enum for consistency. Also removes k prefix.

Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
2015-06-03 13:42:21 -07:00
Chris Craik
ff29b5a5b9 Fix round cap approximation to understand scale
bug:19772120
Change-Id: I7b944faed1d1e8d5f55453802da57679217d9d9a
2015-05-27 18:17:55 -07:00
Chih-Hung Hsieh
2f1e21d995 Add missing const qualifier to compile with clang/llvm.
BUG: 21298442
Change-Id: Iad211237fdb0128d8f4490419687bf1da1cd261c
2015-05-19 10:44:53 -07:00
Chris Craik
6b4ace298e Merge "Add back alpha atrace log" into mnc-dev 2015-05-13 23:53:48 +00:00
Chris Craik
1a0808e64c Add back alpha atrace log
bug:20922838

Change-Id: I70ccbffdd5f140cd1dd71fbf456fb5b085e74a4a
2015-05-13 16:47:19 -07:00
John Reck
4c9e59d03c Unify DrawProfiler/JankStats
Bug: 20822400

Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
2015-05-12 11:02:07 -07:00
John Reck
b5bc454870 Teach LA how to destroy
Change-Id: I57ab30b6d56370dade6987f442136ea5e5546c9b
2015-04-23 16:04:50 -07:00
John Reck
1ed723723d Move LinearAlloc to libhuwi
Change-Id: I1d8c99bdeef22ca569e1743cff6108f478737bc8
2015-04-23 15:46:28 -07:00
huanhuan.x.wang
8d9b5fbdf0 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
2015-04-14 16:25:46 +02:00
Chris Craik
e2bb380bc2 Use glops for text rendering
Change-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92
2015-03-18 16:10:24 -07:00
Mike Reed
2a1ce8a4e5 use SkFilterQuality instead of SkPaint::FilterLevel
Change-Id: I5d26869de746107b8a35a7a662236f993a824b0d
2015-03-16 11:31:38 -04:00
Chris Craik
a6b52198b9 Glop drawBitmaps, drawPatches
Change-Id: I3f1cd3f47f97d2e0c9b9d153732e26ee0b1c58c2
2015-03-03 08:58:14 -08:00
Chris Craik
ef2507439c Glop mesh reorg, support for drawBitmapMesh
Change-Id: Iaf5550bdd93da93e59a5b838234ab5612e067387
2015-02-26 10:56:07 -08:00
John Reck
c87be99c6e C++11 style fixups
Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
2015-02-20 10:58:48 -08:00
John Reck
ba6adf66d3 Initial attempt at jank-tracking stat collection
Is a bit naive, perhaps overly aggressive, but sorta works

Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
2015-02-20 08:27:38 -08:00
Chris Craik
922d3a7f6f Glop SkiaShader support
Change-Id: I894a0b62701bd02367ab970813e4c332147351a2
2015-02-17 15:45:46 -08:00
Chris Craik
0519c810a5 Glop Bitmap and RoundRect clipping support
Change-Id: I4577546a5d2e5f084cc03f39a89db9231b8111ee
2015-02-12 12:30:59 -08:00
Chris Craik
117bdbcfa3 Glop ColorFilter & VertexBuffer support, initial enable
Enables Glop rendering for supported Rects and VertexBuffers
Also removes unused Query object

Change-Id: Ibe227bc362685a153159f75077664f0947764e06
2015-02-06 13:42:25 -08:00
Chris Craik
031888744e GlopBuilder, and test app refactor
Change-Id: I2cd299ccf178007fd5f83bab6c3448f03aec7843
2015-02-04 15:57:59 -08:00
Chris Craik
65fe5eeb19 Move scissor state to RenderState
Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
2015-01-27 17:12:39 -08:00
Rob Tsuk
487a92caef 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
2015-01-14 17:24:58 -08:00
Chris Craik
d41c4d8c73 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
2015-01-05 16:49:13 -08:00
Tom Hudson
8dfaa49042 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
2015-01-05 15:25:41 -08:00
Chris Craik
e84a208317 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
2014-12-22 14:56:08 -08:00