36 Commits

Author SHA1 Message Date
Chris Craik
74af6e282f Fix OffscreenBuffer leak
Fixes: 27941148

Make OffscreenBuffer lifecycle an explicit (and tested) contract between
FrameBuilder and BakedOpRenderer, entirely separate from dispatch. This
makes it safe to reject any rendering work via overdraw content
rejection (before it gets to a BakedOpDispatcher).

Adds a couple tests around OffscreenBuffer leaks, and switches
OffscreenBuffer tests to RENDERTHREAD_TEST macro, as appropriate.

Change-Id: Id114b835d042708ae921028fb4b17e5fa485fe64
2016-04-05 20:42:37 +00:00
Chris Craik
70969ccde4 Fix layer damage and clipping for Text shadows
Fixes: 27787426

Change-Id: I4c65cca0cfcd343a9cfbaedd3a32b83f90df2ecf
2016-03-30 18:09:18 -07:00
Chris Craik
a204848b1d Create first class unbounded ColorOp
bug:27810783

Previous drawColor->drawPaint conversion failed to preserve unbounded
nature of drawColor from old pipeline.

Change-Id: Ifd7a7b9d645f0887e252e48ca95d3195ee31615f
2016-03-25 15:13:23 -07:00
Chris Craik
f6c20e4b42 Fix merged bitmap mesh generation and reenable merging
bug:26793764
bug:26569206
Change-Id: I54628e99b61f58f5726a387ea3599c29695c0efc
2016-03-02 15:34:02 -08:00
Chris Craik
b67985f337 Merge changes I4f72448f,I74b7233c into nyc-dev
* changes:
  Fix ripple positioning within scrolled node
  Clip projected ripples to outlines
2016-03-02 18:52:35 +00:00
Chris Craik
678ff81105 Clip projected ripples to outlines
bug:27343928

Also fixes positioning of ripples to a scrolled projection receiver.

Change-Id: I74b7233c46d7c15839ca8bf50e188ba6646d7432
2016-03-02 10:29:15 -08:00
Chris Craik
0066a01d7c Fix arc positioning
bug:27389290

Change-Id: I479a34ea079f1fce1c308aa809a57885ffa1d004
2016-02-29 13:34:44 -08:00
Chris Craik
e2822e4c79 Fix positioning in path fallback case
bug:26923968
Change-Id: Iaf686fb69b629cf5c8762188073e57c8664150a8
2016-02-22 16:42:24 -08:00
Chris Craik
e8c3c813b0 Fix TextDropShadowCacheTests and glyph_t everywhere
Change-Id: I943eae4e9408c77bdfba6304ba7ee3e862351a41
2016-02-08 22:45:22 +00:00
Chris Craik
c8ca8ceba0 Merge "Simplify shadow task cleanup" 2016-02-04 19:04:18 +00:00
Chris Craik
d8165e863b Simplify shadow task cleanup
bug:26964750

Removes 3 news/deletes per task, as well as the waitOnTask inside destruction

Change-Id: Iec11165bcfa7f98ca41574885734c2ad39328cc8
2016-02-03 16:30:11 -08:00
Chris Craik
bcda2da5fe Merge "Early kickoff of shadow tasks" 2016-02-03 01:17:37 +00:00
Chris Craik
6e068c0182 Early kickoff of shadow tasks
bug:26562703

Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
2016-02-02 17:10:25 -08:00
Chris Craik
c0f3f2f8c0 Fix null offscreen buffer crash
bug:26571145

Change-Id: I6e885fd6135c0987360275cbf5b46475c24401d4
2016-02-02 16:12:32 -08:00
John Reck
975591a7af 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
2016-01-25 16:15:14 -08:00
John Reck
9372ac3621 Fix ordering of texture->upload arguments
Caught by scatter-shotting GL_CHECKPOINTS which
seem generally useful to have

Bug: 26609444

Change-Id: Ie31d9297d8dae56405126720f338b4256c8bae77
2016-01-19 12:58:48 -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
38e0c32852 Track texture memory globally
Also mostly consolidates texture creation

Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
2016-01-14 13:42:12 -08:00
Chris Craik
89ceb5c977 Fix 9 patch mesh usage
Change-Id: I638fd5816d68a9ecd7f1709624fde2f372de5fa7
2016-01-12 13:45:34 -08:00
Chris Craik
f9b3678534 Fix path position in BakedOpDispatcher
Change-Id: I73f4bbcf3fe6f5d3fbdf8058b598bb8f1622097c
2016-01-11 13:26:58 -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
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
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
e29ce6f51d Add functor support to new reorderer/renderer
bug:22480459

Change-Id: I95df7e0504f62d254e8ffbd8d65ed5d763080b9c
2015-12-15 10:40:54 -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
f09ff5aa57 Add bitmapmesh, rect, and patch rendering
bug:22480459

Change-Id: Id9e9146997dd018b3e4e785c2bc13689e3cf7c3c
2015-12-09 16:06:09 -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
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
9e7fcfda28 Move BakedOpDispatcher to separate file
Change-Id: If7aad6db6b7e54a33eac9b9eddbe8cd844207282
2015-11-25 13:27:33 -08:00