88 Commits

Author SHA1 Message Date
John Reck
7d569db936 Merge "Hard-abort tests if LOG_ALWAYS_FATAL" 2016-01-19 15:38:16 +00:00
John Reck
f1dafb5962 Hard-abort tests if LOG_ALWAYS_FATAL
Bug: 26591625

Also fixes it so debuggerd runs and we get stacks

Change-Id: I55b376e6a4e12ddcd21fa251fbfe5bd521fc0985
2016-01-15 16:58:23 -08:00
John Reck
7db5ffb7db Revert "Revert "Fix leak in unclipped save layer""
This reverts commit a6fc36d4cd7f27147fd304960acdd1d2f47fc1c6.

Change-Id: I6b96afe4a32dc894d5b17cfb870b45063257aed2
2016-01-15 13:59:37 -08:00
Daniel Chapin
a6fc36d4cd Revert "Fix leak in unclipped save layer"
This reverts commit 8e068d5fd38dd103a122215fb6d185135182edf3.

Change-Id: Icd8ad5a2450db34aacecf748d6103df9faaa4c81
2016-01-15 03:02:58 +00:00
John Reck
8e068d5fd3 Fix leak in unclipped save layer
Change-Id: I31f146af2cb6f5cb8dd19bb0feff0ae35b864eba
2016-01-14 16:28:28 -08:00
John Reck
00159554e0 Fix leak in OffscreenBufferPoolTests
Change-Id: Ic16df75bdc01d902639df98bc6798d9383510342
2016-01-14 14:47:07 -08:00
John Reck
cbc5bd57f0 Merge "Track texture memory globally" 2016-01-14 21:49:42 +00:00
John Reck
e5da4ef971 Trap SIGABRT in RenderThread for unit tests
Change-Id: Icc1039543d975497808a8062e9d909537c4a29c9
2016-01-14 13:43:55 -08:00
John Reck
38e0c32852 Track texture memory globally
Also mostly consolidates texture creation

Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
2016-01-14 13:42:12 -08:00
Chris Craik
420d655950 Fix shadow bounds calculation
Change-Id: I78b6aa91d62c3c4838ffc80b380604c7863e8467
2016-01-12 15:38:14 -08:00
Chris Craik
f158b49c88 Rename Reorderers to Builders
Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
2016-01-12 14:45:08 -08:00
Chris Craik
15f046866c Fix clip serialization crash
Can't safely rewind clip allocations, since those pointers are cached by
ClipArea. Instead add early rejection to handle most cases, and update
tests.

Change-Id: Ic32f95cf95602f427f25761a8da1583c4495f36d
2016-01-11 17:54:49 -08:00
Chris Craik
5ea1724be4 Rename OpReorderer to FrameReorderer
Also separate LayerReorderer into its own files.

Change-Id: Iafb6a156f760f62f831f6288fd0dadf1db25da24
2016-01-11 15:35:52 -08:00
Chris Craik
7435eb148e Unclipped savelayer support in new renderer
bug:22480459

Change-Id: I89dd5de8d7d008a1e298d227d767aabff5c96e27
2016-01-08 16:05:35 -08:00
Chris Craik
b87eadda18 Partial unclipped save layer support
Not yet implemented in renderer.

Change-Id: I491ec6e7886bfa313d1db71dd5981690d45b78a9
2016-01-07 15:42:45 -08:00
Chris Craik
7cbf63da4f Rework op macros
Makes it simpler to add defer-only or render-only opps.

Change-Id: I6c8ec64e76d419635429055cff6d96360d21706d
2016-01-06 14:04:22 -08:00
Chris Craik
982dcf3eff Merge "Support for stencil clipping in layers" 2016-01-05 18:33:54 +00:00
Chris Craik
e5b50197e8 Support for stencil clipping in layers
bug:22480459

Change-Id: Ic9e8652379524ccc46d8722ce49f9190b08a2abc
2016-01-05 10:18:35 -08:00
Chris Craik
f5baedb000 Merge "Stencil support in new recorder/reorderer" 2016-01-05 17:54:47 +00:00
Chris Craik
e4db79de12 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
2016-01-04 17:00:03 -08:00
John Reck
f43f627fc9 Merge "Add some options to macrobench" 2016-01-04 15:26:18 +00:00
Doris Liu
4bbc293126 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
2015-12-28 16:08:38 -08:00
Chris Craik
33e9b426da Merge "Fix merged op clipping issue" 2015-12-18 18:07:50 +00:00
Chris Craik
93e53e09dd Fix merged op clipping issue
Change-Id: I48cd5e92f3e62dcd189a4411a71aa7a40ce5498c
2015-12-18 10:07:16 -08:00
Chris Craik
a2a70723b8 Simplify ClipArea to prefer Rect args
Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
2015-12-17 23:31:44 +00:00
John Reck
682573c84b Add some options to macrobench
Change-Id: If8d5f5d3ace050577986a554182b2b66fd2257e1
2015-12-16 16:40:02 -08:00
Chris Craik
d2dfd8f128 Add TextureView support to new renderer/reorderer
bug:22480459

Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
2015-12-16 15:35:40 -08:00
Chris Craik
d7448e65e2 Add TextOnPath support to new reorderer/renderer
bug:22480459

Change-Id: I302048ec09901420c15003e21e44a551cc59c7ad
2015-12-16 10:27:17 -08:00
Chris Craik
4c1b495f4f Merge "Avoid unneeded rect params" 2015-12-15 17:32:59 +00:00
Chris Craik
5430ab220b Avoid unneeded rect params
Change-Id: I2d8dcf6b09fdc554a403ac74763bf856b5f5d9fa
2015-12-10 16:29:01 -08:00
Chris Craik
268a9c0f29 Add property animations to new reorderer/renderer
bug:22480459

Change-Id: Id8091038004245a56deb48bf3625edfd08ab8681
2015-12-10 11:09:27 -08:00
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