aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
...
* Make AA hairline renderer non-optionalGravatar Brian Osman2017-08-30
| | | | | | | Change-Id: I0d4166a4e9ea894f479755f9f7137c5941cf8a22 Reviewed-on: https://skia-review.googlesource.com/41081 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove debugging code breaking windows compileGravatar Brian Salomon2017-08-30
| | | | | | | Change-Id: I8ae21881b73af0ac2fa3dc17f74e073c0667561d Reviewed-on: https://skia-review.googlesource.com/41080 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GrSWMaskHelper take a matrix for each drawGravatar Brian Salomon2017-08-30
| | | | | | | Change-Id: I52659857174848696f360d64552a9690db24ed50 Reviewed-on: https://skia-review.googlesource.com/40883 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Revert "Remove GrBackendRenderTargetDesc in favor of ↵Gravatar Brian Salomon2017-08-30
| | | | | | | | | | | | GrBackendRenderTarget."" This reverts commit 807371c15bd742efb98a9df6e1dee73e8bda8af5. Docs-Preview: https://skia.org/?cl=40260 Change-Id: I28e0434c455155ff39a5aaa4141abdf442474e87 Reviewed-on: https://skia-review.googlesource.com/40260 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename methods and enum on SkClipStack::Element to indicate "device space"Gravatar Brian Salomon2017-08-30
| | | | | | | Change-Id: I83056843b530f76590f755f97e3d0a5a58f371fa Reviewed-on: https://skia-review.googlesource.com/39402 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Threaded generation of software pathsGravatar Brian Osman2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Re-land of: https://skia-review.googlesource.com/36560 All information needed by the thread is captured by the prepare callback object, the lambda captures a pointer to that, and does the mask render. Once it's done, it signals the semaphore (also owned by the callback). The callback defers the semaphore wait even longer (into the ASAP upload), so the odds of waiting for the thread are REALLY low. Also did a bunch of cleanup along the way, and put in some trace markers so we can monitor how well this is working. Traces of a GM that includes GPU and SW path rendering (path-reverse): Original: https://screenshot.googleplex.com/f5BG3901tQg.png Threaded, with wait in the callback (notice pre flush callback blocking): https://screenshot.googleplex.com/htOSZFE2s04.png Current version, with wait deferred to ASAP upload function: https://screenshot.googleplex.com/GHjD0U3C34q.png Bug: skia: Change-Id: Idb92f385590749f41328a9aec65b2a93f4775079 Reviewed-on: https://skia-review.googlesource.com/40775 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Push full screen clears up to OpListGravatar Robert Phillips2017-08-30
| | | | | | | Change-Id: Icfc09b3b25f4d3834bee93286e2b24a559f44ed8 Reviewed-on: https://skia-review.googlesource.com/40120 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove kDefault_GrSurfaceOriginGravatar Robert Phillips2017-08-30
| | | | | | | Change-Id: Ic55d488287add32e5a32b5a77415e16cebf4c1ee Reviewed-on: https://skia-review.googlesource.com/29120 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add GrContextOption to disable distance field path rendererGravatar Brian Osman2017-08-29
| | | | | | | | | | | | We're going to hide the path renderer bitfield behind a testing-only flag, but clients may want to suppress this path renderer in particular, so a dedicated flag makes sense. Bug: skia: Change-Id: I6cc4049243b5d3c129a824dfe7c1a65a70a05ccd Reviewed-on: https://skia-review.googlesource.com/40083 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Always include the default path renderer in the chainGravatar Brian Osman2017-08-29
| | | | | | | | | | | | | This (plus SW) ensures that we can always draw any path. Changed the path renderer command line flags so that 'default' means everything but CCPR, and 'All' really means 'every path renderer'. Bug: skia: Change-Id: I2801d1c50ab939f23efb4600e0f90e6add2891b7 Reviewed-on: https://skia-review.googlesource.com/40221 Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove (unused) context option to remove shader swizzlingGravatar Brian Osman2017-08-29
| | | | | | | | Bug: skia: Change-Id: I0372f7782124c096370b42624b6c0a3aff8a90b0 Reviewed-on: https://skia-review.googlesource.com/40101 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove origin field from GrSurface (take 2)Gravatar Robert Phillips2017-08-29
| | | | | | | | | | | | | This mainly consists of rm origin from GrSurface and the wrapBackEnd* methods and then re-adding an explicit origin parameter to all the GrGpu methods that need it. TBR=bsalomon@google.com Change-Id: I4248b2a4749ef844da4233ce53b0dc504bc9eb74 Reviewed-on: https://skia-review.googlesource.com/30280 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Store discard request on the opList and remove GrDiscardOp (take 3)Gravatar Robert Phillips2017-08-29
| | | | | | | | Change-Id: Ided58e0110b0b4e611ab65f46c18a6ae2b85f1bc Reviewed-on: https://skia-review.googlesource.com/39340 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-28
| | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible"""" This reverts commit a184ac7e0cdb26919369151f606c194358c94ff5. Change-Id: I2a4a1b713fd998ba33a5f85a34be1645438a7ac9 Reviewed-on: https://skia-review.googlesource.com/39400 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* CCPR: Recalculate inflection/intersection points on GPUGravatar Chris Dalton2017-08-28
| | | | | | | | | | | Just recalculates these points instead of investing the code complexity and memory bandwidth in passing them around. Bug: skia: Change-Id: Ib6fc7af49363469de91b4c59baf238015045d79c Reviewed-on: https://skia-review.googlesource.com/39540 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* change SkRect::growToInclude to take a point instead of x,yGravatar Mike Reed2017-08-28
| | | | | | | | | | | | | | This avoids the dangerous overload problem of growToInclude(0, 0) matching to (const SkPoint[], count) rather than growToInclude(x, y) Bug: skia: Change-Id: Iaba8b1a579638ff363fde62e4e3004052dd2b2ac Reviewed-on: https://skia-review.googlesource.com/39501 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add GrPathUtils::calcCubicInverseTransposePowerBasisMatrixGravatar Chris Dalton2017-08-28
| | | | | | | | | | | Cleans up calc_inverse_transpose_power_basis_matrix and makes it publicly visible. Bug: skia: Change-Id: I568c2b8518c74931962ece23ed07490e7e10e94b Reviewed-on: https://skia-review.googlesource.com/39180 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Move transformation of clip elements to SkClipStack::ElementGravatar Brian Salomon2017-08-28
| | | | | | | Change-Id: Ia6ff3fdc927e33dbd28ccfb345859594289d0690 Reviewed-on: https://skia-review.googlesource.com/36820 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add a GrCCPRGeometry fileGravatar Chris Dalton2017-08-28
| | | | | | | | | | | Enough ccpr-specific geometry code is in flight that it feels like it should have its own file. Bug: skia: Change-Id: I99ef620a7dc35178cf774b3a4ec6159d46f401c7 Reviewed-on: https://skia-review.googlesource.com/39162 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Store discard request on the opList and remove GrDiscardOp (take 2)"Gravatar Robert Phillips2017-08-25
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9b0b32fda4871776eb9afdf9553e523e5c28aa63. Reason for revert: Android_Vulkan Gold images are broken Original change's description: > Store discard request on the opList and remove GrDiscardOp (take 2) > > Change-Id: I2f1bd6f8547895cc8d66cfde42d7d890441d198e > Reviewed-on: https://skia-review.googlesource.com/33460 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,robertphillips@google.com Change-Id: I1470d88c2407864da8b6ebdc119c8c2466a2a6c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/39000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Don't use uninitialized gamma data for adjusting SDF distance.Gravatar Jim Van Verth2017-08-25
| | | | | | | | | | | If the gamma is linear, the corresponding LUT for adjusting colors is not initialized. This change takes that into account when computing distance adjustments for SDF text. Change-Id: I7ca1410bb27cf29ef08ccd666297bf5c3cd3dcdd Reviewed-on: https://skia-review.googlesource.com/38940 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Store discard request on the opList and remove GrDiscardOp (take 2)Gravatar Robert Phillips2017-08-25
| | | | | | | Change-Id: I2f1bd6f8547895cc8d66cfde42d7d890441d198e Reviewed-on: https://skia-review.googlesource.com/33460 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add explicit conversion from uint2 to float2 for VulkanGravatar Robert Phillips2017-08-25
| | | | | | | Change-Id: I07a28c77f3c9b87d6713ae1d6b7e7d1285098aa8 Reviewed-on: https://skia-review.googlesource.com/38728 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add support for vkCmdCopyBufferGravatar Greg Daniel2017-08-25
| | | | | | | | | | | | This is then used when need to update GPU only buffers with data of size greater than 65536. We create a temporary transfer buffer and then copy that buffer into our GPU buffer. Bug: skia: Change-Id: I4bb9cb660f2ac1ccbbd1b508bb4ca6876342136f Reviewed-on: https://skia-review.googlesource.com/38725 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Switch atlas clients over to using absolute texture coordinates (take 2)Gravatar Robert Phillips2017-08-25
| | | | | | | | | This is a prerequisite for being able to resize the atlas with impunity. Change-Id: Iccc9c7ced43f38a7d8483a7bd12a458d59a3453a Reviewed-on: https://skia-review.googlesource.com/38362 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Threaded generation of software paths"Gravatar Brian Salomon2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 76323bc0615044a5921afef0e19a350f3d04ffe0. Reason for revert: Breaking NUC bots in threaded gm comparison: https://chromium-swarm.appspot.com/task?id=382e589753187f10&refresh=10 Original change's description: > Threaded generation of software paths > > All information needed by the thread is captured by the prepare > callback object, the lambda captures a pointer to that, and does the > mask render. Once it's done, it signals the semaphore (also owned by the > callback). The callback defers the semaphore wait even longer (into the > ASAP upload), so the odds of waiting for the thread are REALLY low. > > Also did a bunch of cleanup along the way, and put in some trace markers > so we can monitor how well this is working. > > Traces of a GM that includes GPU and SW path rendering (path-reverse): > > Original: > https://screenshot.googleplex.com/f5BG3901tQg.png > Threaded, with wait in the callback (notice pre flush callback blocking): > https://screenshot.googleplex.com/htOSZFE2s04.png > Current version, with wait deferred to ASAP upload function: > https://screenshot.googleplex.com/GHjD0U3C34q.png > > Bug: skia: > Change-Id: I3d5a230bbd68eb35e1f0574b308485c691435790 > Reviewed-on: https://skia-review.googlesource.com/36560 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com Change-Id: Icac0918a3771859f671b69ae07ae0fedd3ebb3db No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/38560 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix Metal build from recent command buffer changeGravatar Greg Daniel2017-08-24
| | | | | | | | | Bug: skia: Change-Id: I93653a533499411118d3e55015d55000a465b51b Reviewed-on: https://skia-review.googlesource.com/38401 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Make Copy Ops to go through GpuCommandBuffer instead of straigt to GPU.Gravatar Greg Daniel2017-08-24
| | | | | | | | Bug: skia: Change-Id: I4eae4507e07278997e26419e94586eef0780c423 Reviewed-on: https://skia-review.googlesource.com/38361 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Switch atlas clients over to using absolute texture coordinates"Gravatar Robert Phillips2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e84c087e621978e6d298b8ca950521601a0366cb. Reason for revert: ANGLE is unhappy Original change's description: > Switch atlas clients over to using absolute texture coordinates > > This is a prerequisite for being able to resize the atlas with impunity. > > Change-Id: I509816c8d6f38fbc92fa39aeab303b42ab09f58b > Reviewed-on: https://skia-review.googlesource.com/37560 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,jvanverth@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I329efd642c22e11a5c576a4632fc557759b200d5 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/38400 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Switch atlas clients over to using absolute texture coordinatesGravatar Robert Phillips2017-08-24
| | | | | | | | | This is a prerequisite for being able to resize the atlas with impunity. Change-Id: I509816c8d6f38fbc92fa39aeab303b42ab09f58b Reviewed-on: https://skia-review.googlesource.com/37560 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Threaded generation of software pathsGravatar Brian Osman2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | All information needed by the thread is captured by the prepare callback object, the lambda captures a pointer to that, and does the mask render. Once it's done, it signals the semaphore (also owned by the callback). The callback defers the semaphore wait even longer (into the ASAP upload), so the odds of waiting for the thread are REALLY low. Also did a bunch of cleanup along the way, and put in some trace markers so we can monitor how well this is working. Traces of a GM that includes GPU and SW path rendering (path-reverse): Original: https://screenshot.googleplex.com/f5BG3901tQg.png Threaded, with wait in the callback (notice pre flush callback blocking): https://screenshot.googleplex.com/htOSZFE2s04.png Current version, with wait deferred to ASAP upload function: https://screenshot.googleplex.com/GHjD0U3C34q.png Bug: skia: Change-Id: I3d5a230bbd68eb35e1f0574b308485c691435790 Reviewed-on: https://skia-review.googlesource.com/36560 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add a message when an op list fails to instantiateGravatar Brian Osman2017-08-23
| | | | | | | | | | | | | | | From local testing, TSAN causes this to happen for 40-50 GMs in the middle of a DM run. Having this message would have saved me a couple hours of head-scratching and debugging. Best theory about the TSAN thing is that it interferes with a driver thread that's reclaiming freed resources, but that's just a guess. Bug: skia: Change-Id: Ie6759fd2f22953595920cb271e2317c5ed1a0941 Reviewed-on: https://skia-review.googlesource.com/37441 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* GrTessellator: when sanitizing contours, remove non-finite points.Gravatar Stephen White2017-08-23
| | | | | | | | | | | | NaNs can't be correctly sorted. Don't run the unit test on VK backend, since it requires large (>64K bytes) vertex buffer uploads. Bug: 757650 Change-Id: I667693f135a090a5d9076bb7a2ec6879fc06d645 Reviewed-on: https://skia-review.googlesource.com/37484 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Switch GrSmallPath renderer over to always using integer texture coordinatesGravatar Robert Phillips2017-08-23
| | | | | | | | | As a preface to having all the atlas texture coordinates be absolute they must all first be integers. In the case of the small path renderer that means that the rect for the DF case must be bloated out a bit. Change-Id: I9969fcfe9d3ae3247a2964e2ca79cad522ccad9e Reviewed-on: https://skia-review.googlesource.com/37360 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add an (optional) SkTaskGroup to GrContextGravatar Brian Osman2017-08-23
| | | | | | | | | | | | | GrContextOptions has an SkExecutor field, allowing clients to supply a thread pool. If present, the GrContext will create an SkTaskGroup that can be used for internal threading work. Bug: skia: Change-Id: I8b01245515a21a83f9fe838caf0a01c9a26c0003 Reviewed-on: https://skia-review.googlesource.com/37580 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix artifacts on tiny stroked paths scaled up a lot.Gravatar Stephen White2017-08-23
| | | | | | | | | | | | | | | Set doConsumeDegenerates to false when calling SkPath::Iter::next() for all paths which are not in screen space. These lines are not degenerate for world space paths. Note: this change fixes only GrTessellatingPathRenderer and GrDefaultPathRenderer. GrMSAAPathRenderer still exhibits the bug. Bug: skia:6987 Change-Id: Ie3d494703211925c77052c68513948484e341486 Reviewed-on: https://skia-review.googlesource.com/37522 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "GrTessellator: when sanitizing contours, remove non-finite points."Gravatar Robert Phillips2017-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 620cc248517a509040d3f94f29710edf3a151c5b. Reason for revert: Breaking the Vulkan bots Original change's description: > GrTessellator: when sanitizing contours, remove non-finite points. > > NaNs can't be correctly sorted. > > Bug: 757650 > Change-Id: Id1ca2fe1d1de7884da2a64ceef9491b1da7e8e77 > Reviewed-on: https://skia-review.googlesource.com/37220 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=bsalomon@google.com,senorblanco@chromium.org Change-Id: I64d5c35801f844b31745a9c7ff60812d96af5e55 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 757650 Reviewed-on: https://skia-review.googlesource.com/37540 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Fix artifacts on tiny stroked paths scaled up a lot."Gravatar Robert Phillips2017-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 267641a90cb18a430b0a84910f651e2181744fd3. Reason for revert: Seems to be turning the bots red Original change's description: > Fix artifacts on tiny stroked paths scaled up a lot. > > Set doConsumeDegenerates to false when calling SkPath::Iter::next() for > all paths which are not in screen space. These lines are not degenerate > for world space paths. > > Bug: skia:6987 > Change-Id: I411faf594bf8a15891bfff08691e86679b7741ac > Reviewed-on: https://skia-review.googlesource.com/36881 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=bsalomon@google.com,senorblanco@chromium.org Change-Id: I0d5a14670126ab3e0d99083a500ec8d3d0ef9961 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6987 Reviewed-on: https://skia-review.googlesource.com/37440 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-22
| | | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible""" This reverts commit 20af6d12eefd8d937bc13bdb7fa0a9ac86b699af. Performance regressions on Android and Flutter Change-Id: If70edbe85aa251f298eddf18a89ba2cf56ed94fb Reviewed-on: https://skia-review.googlesource.com/37340 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrPrepareCallback, always run at the start of flushGravatar Brian Osman2017-08-22
| | | | | | | | | | | | This is like an op, but only has one virtual, and always runs before any ops prepare. To be used in threaded software mask rendering (to schedule ASAP uploads). Bug: skia: Change-Id: I647482e2472d7321f3685e5bdbe49e10ac59c0b1 Reviewed-on: https://skia-review.googlesource.com/37160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix artifacts on tiny stroked paths scaled up a lot.Gravatar Stephen White2017-08-22
| | | | | | | | | | | | Set doConsumeDegenerates to false when calling SkPath::Iter::next() for all paths which are not in screen space. These lines are not degenerate for world space paths. Bug: skia:6987 Change-Id: I411faf594bf8a15891bfff08691e86679b7741ac Reviewed-on: https://skia-review.googlesource.com/36881 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* GrTessellator: when sanitizing contours, remove non-finite points.Gravatar Stephen White2017-08-22
| | | | | | | | | | NaNs can't be correctly sorted. Bug: 757650 Change-Id: Id1ca2fe1d1de7884da2a64ceef9491b1da7e8e77 Reviewed-on: https://skia-review.googlesource.com/37220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible"" This reverts commit ceef4fb5c498003be77a32a46cedfbf5da22a274. Bug: skia: Change-Id: I50b738169b4cf9e06cbe0b5fad0234b506717b66 Reviewed-on: https://skia-review.googlesource.com/36201 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrMtlRenderTarget classGravatar Greg Daniel2017-08-18
| | | | | | | | | | Adds basic support for creating non-msaa pure render targets. Bug: skia: Change-Id: I63d2d474b86fc0ff5d8ee7757c08abbfd5e6c6ef Reviewed-on: https://skia-review.googlesource.com/31980 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Use GrBackendObjectOwnership instead of GrVkImage::WrappedGravatar Greg Daniel2017-08-18
| | | | | | | | | | | This is more in line with what GL does and will make things cleaner for the metal backend as well. Bug: skia: Change-Id: I0ba0c588f813ad78051251c1cb9e8f92fd917ecc Reviewed-on: https://skia-review.googlesource.com/35940 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when possible" This reverts commit 3fd295550f8c4fecd4bc61ce916738d49310eb67. Reason for revert: breaking things Original change's description: > Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when possible > > This op draws a texture rectangle in src over blending with no edge antialiasing. It less powerful than NonAAFillRectOp/GrPaint but has less CPU overhead. > > Change-Id: Ia6107bb67c1c2a83de14c665aff64b0de2750fba > Reviewed-on: https://skia-review.googlesource.com/33802 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I9cdbeeac15b17d2d6b3385560ed826397c0373c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/36220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | possible This op draws a texture rectangle in src over blending with no edge antialiasing. It less powerful than NonAAFillRectOp/GrPaint but has less CPU overhead. Change-Id: Ia6107bb67c1c2a83de14c665aff64b0de2750fba Reviewed-on: https://skia-review.googlesource.com/33802 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Move DrawToTargetWithShapeMask to GrSoftwarePathRendererGravatar Brian Osman2017-08-17
| | | | | | | | | | | | | That function has nothing to do with software masks - I claim it was only in GrSWMaskHelper because it was used by the software path renderer. Also trimmed some includes. Bug: skia: Change-Id: I6939010c70309cdc4135cb250afe85ad7b7be451 Reviewed-on: https://skia-review.googlesource.com/35821 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add atrace events for bitmap uploads to Android framework builds.Gravatar Derek Sollenberger2017-08-17
| | | | | | | Change-Id: I736d82ab4ab66860a03f839bedc4f7614d38c6e6 Reviewed-on: https://skia-review.googlesource.com/35840 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>