57 Commits

Author SHA1 Message Date
Chris Craik
c7fa843656 Add shape animation test case
Change-Id: Ie4c99218c3ae7f08250e2a77f11263d9f68ec861
2015-12-09 13:35:21 -08:00
Chris Craik
386aa03179 Add more shape drawing to new reorderer/renderer
bug:22480459

Add support for outsetting final bounds based on stroke.

Change-Id: I659318ccec51882bba1906ce3c7042288ce35c30
2015-12-09 11:29:04 -08:00
Chris Craik
27e58b4f54 Build hwui test scenes as common test code
And start using them in other non-macrobench tests

Change-Id: If155b531f3c89f97491001c06d1996df527b9f85
2015-12-07 16:41:35 -08:00
Chris Craik
15c3f19a44 Merged op dispatch in OpReorderer
bug:22480459

Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.

Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
2015-12-07 12:34:46 -08:00
Chris Craik
8160f20b0a 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
2015-12-02 15:25:10 -08:00
Chris Craik
54fa17f667 Add ListView rendering benchmark
Also fixes a bug in DrawRenderNodeOp recording, which was triggered by
the new test.

Change-Id: I328f2ed908495eb95ca8ce87a365d02650e72cd5
2015-12-02 15:20:26 -08:00
Chris Craik
8d1f2120fe Support projection in OpReorderer
bug:22480459

Change-Id: Iceb71732dc50957cfb47fa1ba9b8e18e6fc51132
2015-11-25 14:09:24 -08:00
John Reck
16c9d6a92e Refactor hwuitest
Yank animations out into their own files

Change-Id: Iea522ee032752019c07ff308c3a3993011054308
2015-11-19 11:35:14 -08:00
Chris Craik
d3daa3198e Add shadow support to new reorderer/renderer
Doesn't yet use correct lighting info (esp. in layers), or
tessellate shadows asynchronously

Change-Id: I9ccec24b28869be42138a9bb234b1af874291a44
2015-11-11 13:32:37 -08:00
Chris Craik
0b7e8245db Initial HW layer support in new reorderer/renderer
Shares vast majority of clipped savelayer code, with only minor
differences in lifecycle.

Doesn't yet handle fill region, resize, or window transform.

Change-Id: Iabdd71811590d2b937eb11e1b01ce556ade54a5a
2015-11-02 12:59:38 -08:00
Chris Craik
818c9fbf1d Initial version of clipped saveLayer in new pipeline
Additionally disables usage of FBO cache, so FBO destruction safely
interacts with renderstate caching.

Change-Id: I25c277cb7afec2ca33bf226445d6c8867a15a915
2015-10-26 15:51:48 -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
John Reck
e702c9cd6a Shove the tests into a different file
Also add descriptions because those are nice

Change-Id: I2d0480acf17af2700c8b7fb7228203e16a068f6b
2015-10-07 12:57:20 -07:00
John Reck
b7dd29ec26 use get_opt for hwuitest
it's almost like a real program now!

Change-Id: Ide8ed031e8a81b2851fd1944f63106eb55cce83b
2015-10-06 14:36:31 -07:00
John Reck
e248bd1b2c Serializing display lists
This is a WIP prototype

Change-Id: Id4bfcf2b7bf905221c3734b7b6887c9b2efd37e6
2015-08-26 16:29:15 -07:00
John Reck
d2e7214179 Makefile re-jiggering
Change-Id: I6a8d7c9ecbc4f1af8bc4a6e1409787f215d6fc5b
2015-08-17 13:29:10 -07:00
John Reck
149173d28c Support new EGL extensions
Bug: 21753739

Includes a revert of 13d1b4ab10fbee5e81a2ba1ac59cfae1e51d3ef0
as that only supported EGL_EXT_buffer_age

Change-Id: Ia86a47d19e3355c067934d7764c330b640c6958d
2015-08-12 14:26:05 -07:00
John Reck
c36df95229 Re-enable -Werror on clang
Change-Id: I582bd0665752c7a9deb4f9de094d0dd0a50cda6a
2015-07-29 10:09:36 -07:00
Andreas Gampe
cb4af9b10a Hwui: Remove unused variables
For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512
Change-Id: Ic58bedc84234325512193991fc64315e3aad6f9e
2015-07-27 18:22:08 -07:00
Derek Sollenberger
94394b3fb0 Move drawRegion from DisplayList to Canvas
Change-Id: I9f401dc5b24732938ac2ca7ed829796e2d7ef3e8
2015-07-13 13:48:08 -04:00
Derek Sollenberger
cc882b6518 Remove unused functions and variables from DisplayListCanvas
This also moves some functions that are only called when creating/completing
a displayList into the appropriate constructors and endRecording calls.

Change-Id: I9f6add156d7f476a52766934af713b0f852c8dea
2015-07-10 19:32:30 +00:00
John Reck
be3fba05e8 Adjust for pipeline stalls
Bug: 20853441

Calculating duration that crosses the UI-RT
sync point will now subtract out the time spent waiting
in queue under the assumption that this time will be
accounted for in the previous frame's metrics

Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
2015-07-06 16:12:46 -07:00
Alan Viverette
50210d9129 Adjust light source for window position
Bug: 16523629
Change-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf
2015-05-14 18:05:36 -07:00
Tim Murray
bfbcd88aee Add frame count option to hwuitest. Also add shadowgrid2 to hwuitest
Change-Id: I069a2836cf1405adfd018ba0a058bf8f4a1cd39c
2015-05-06 13:52:06 -07:00
Tim Murray
1a0f1c7c16 Add loop option to hwuitest.
Change-Id: I15b6b121bd6bd963e5b433bdd93d6dc3e83645b8
2015-05-06 12:22:35 -07:00
John Reck
7f2e5e3cea Dump profile info after running test
Bug: 20824843

Not really a proper "benchmark mode" but it turns out
we already have reasonably good profile data, so tweak
the test app to spit it out after a run.

Change-Id: Iaee9c0d61b5508daf282fe5f95d0b37ee419a8f1
2015-05-05 12:18:08 -07:00
Chris Craik
956f340aac Remove unused flags and dirty rects
bug:17209071

Also update DisplayList->RenderNode naming in Editor

Change-Id: I1d505640ba7388a0b0042d9c787f859e45a24da5
2015-04-28 09:40:01 -07:00
John Reck
b5bc454870 Teach LA how to destroy
Change-Id: I57ab30b6d56370dade6987f442136ea5e5546c9b
2015-04-23 16:04:50 -07:00
Chris Craik
db663fe83f Rename native DisplayListRenderer to DisplayListCanvas
Change-Id: I33e6f8cc85da1e7da7ff7bf18d4ebde64222067a
2015-04-20 14:20:47 -07:00
John Reck
b36016c65f Cleanups & simplifications
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
2015-03-11 11:29:13 -07:00
John Reck
fb10ffe484 Merge "Add null egl/gles stub support" 2015-02-26 00:01:48 +00:00
John Reck
041b985dbb Add null egl/gles stub support
Change-Id: I41372585202f69ef31a4ef95efc75fb7a1ff7289
2015-02-25 16:00:02 -08:00
Chris Craik
c467adac42 Merge "Simplify Texture member initialization" 2015-02-23 22:39:46 +00:00
Chris Craik
8e93a7c937 Simplify Texture member initialization
Change-Id: Iaaa6dd20e64a0a075d732b101e3c4278cad44047
2015-02-23 13:21:53 -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
08fa43fdeb Fix Glop vertex alpha blending
Need to force blending if vertices have alpha attribute

Change-Id: I821792db6b613b4d0243cf9c7a045cba014acdc1
2015-02-09 19:08:02 -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
Rob Tsuk
f28f5cec56 Merge "Clipping performance improvements" 2015-01-15 18:21:35 +00: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
John Reck
84e390cc90 Replace sleep() hack with vsync listening
Change-Id: I4eb744d9a5abe40cf4f8bbaafa03e59b7360608a
2015-01-06 13:50:43 -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
51d6a3db97 Cleanup various clang warnings, use unique_ptrs in several places
Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
2014-12-23 16:53:56 -08:00
John Reck
35cf58ab28 Split hwui's makefile
Change-Id: I7ad1a692e708cad052e8ca5b412c17e25992862c
2014-12-18 13:14:40 -08:00
Chris Craik
3c96a2b8fe am 1fb141f8: am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '1fb141f83bad3884e2199c7acdc23932afaefe0c':
  Improve DisplayList state output
2014-11-26 12:09:28 +00:00
Chris Craik
1fb141f83b am 9c5b7b09: am ee660651: Merge "Improve DisplayList state output" into lmp-mr1-dev
* commit '9c5b7b094254cad0a8a90ece5ea650c49694087d':
  Improve DisplayList state output
2014-11-26 12:01:46 +00:00
Andreas Gampe
64bb413a66 Revert "resolved conflicts for merge of 220c3f4f to master"
Reverted as hwui doesn't agree.

This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.

Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
2014-11-22 00:35:09 +00:00
Chris Craik
b5a5435a77 Improve DisplayList state output
bug:17991451

Log hardware layers and shadow casting

Change-Id: I2ae40f270d18f5b2a5af985513e0f5e8841216c2
2014-11-21 16:23:00 -08:00
Andreas Gampe
8a902d9f24 resolved conflicts for merge of 220c3f4f to master
Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
2014-11-21 15:51:04 -08:00