aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Fix GrRRectBlurEffect.fpGravatar Robert Phillips2018-04-25
| | | | | | | Change-Id: I40192fd1bcc0af7f06edddfd2e961b69b14546f5 Reviewed-on: https://skia-review.googlesource.com/123630 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Refactor GaussianBlurGravatar Robert Phillips2018-04-25
| | | | | | | | | | | | | One of the bounding boxes in this method goes haywire in DDL mode. Hopefully, this refactoring will make it easier to determine which one it is. Note that in this CL I tried to not change the existing behavior at all. Bug: skia:7765 Change-Id: Ie71b4c338fd7ecf4f4b8b4cb5609ef3e686eaef5 Reviewed-on: https://skia-review.googlesource.com/122956 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Minor shadow fixes.Gravatar Jim Van Verth2018-04-24
| | | | | | | | | | | | | | | Fix inset value for analytic shadows to get full inset (and hence proper falloff). Fix compute_radial_values in tessellator to return only positive values and produce cleaner arcs. Adjust shadow params in Android sample to match Android. Fix corner calculation for analytic shadow. Bug: skia:7486 Change-Id: Ib393b5d577f5a5eb89d3388aa4726ea4dae37055 Reviewed-on: https://skia-review.googlesource.com/123220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Compile with latest clang 7.Gravatar Ben Wagner2018-04-24
| | | | | | | | | | | | | Changes to warnings in clang introduced by https://reviews.llvm.org/D43322 and https://reviews.llvm.org/D44883 cause warning as error failures when building Skia. In particular this addresses return-std-move-in-c++11 and self-assign-overloaded. Change-Id: I680318098d8af1b64fba464585c7cdfcfcf39d66 Reviewed-on: https://skia-review.googlesource.com/123582 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Update flag checks when validating surface being assigned to proxy.Gravatar Greg Daniel2018-04-24
| | | | | | | | Bug: skia:7748 Change-Id: Id87c0b1be2efbdefd96740e9591fd102e09b4d95 Reviewed-on: https://skia-review.googlesource.com/123423 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Cull extremely thin trianglesGravatar Chris Dalton2018-04-24
| | | | | | | | | | | | | When triangles get too thin it's possible for FP round-off error to actually give us the wrong winding direction, causing rendering artifacts. This change also allows us to unblacklist ANGLE. Bug: skia:7805 Bug: skia:7820 Change-Id: Ibaa0f033eba625d720e3a594c4515d8264cc413d Reviewed-on: https://skia-review.googlesource.com/123262 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Add arcs as a specialized geometry to GrShape."Gravatar Mike Klein2018-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 255bcf57ffd9db368cd66ca9697549efd799153e. Reason for revert: layout and scuba image diffs Original change's description: > Add arcs as a specialized geometry to GrShape. > > BUG: skia:7794 > > Change-Id: I484693711f48e55631732a0f4ee97e2848dec89d > Reviewed-on: https://skia-review.googlesource.com/122900 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I9293b8fbb535d940bca5fc30a95908416b9eb7a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/123362 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "ccpr: Don't preempt the convex path renderer"Gravatar Chris Dalton2018-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1804b3528c53f52664d9d344950f38e62bf7a71f. Reason for revert: Didn't help Original change's description: > ccpr: Don't preempt the convex path renderer > > It seems to perform better on RRects from web pages. > > Bug: skia:7825 > Change-Id: Ibecf33849c6d14e7486d9de740b1cc42f274080f > Reviewed-on: https://skia-review.googlesource.com/122626 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=brianosman@google.com,csmartdalton@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7825 Change-Id: I06ca833c09f43f4e01989699c88610ae2ef72516 Reviewed-on: https://skia-review.googlesource.com/123381 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add arcs as a specialized geometry to GrShape.Gravatar Brian Salomon2018-04-23
| | | | | | | | | BUG: skia:7794 Change-Id: I484693711f48e55631732a0f4ee97e2848dec89d Reviewed-on: https://skia-review.googlesource.com/122900 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Remove ambient clamp hack for analytic shadows."Gravatar Jim Van Verth2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d75b34394b5c53b0a5e8144dd28f956fbc8b90b2. Reason for revert: Breaking GMs Original change's description: > Remove ambient clamp hack for analytic shadows. > > The hack was added to make analytic ambient shadows match the geometric > ones exactly. Removing it does produce a slight difference, but it's > only visible at full black values (and then, only slightly) and this > makes room to pass a blend parameter for falloff. > > Also fixes an issue with filling out arcs in the shadow tesselator. > > Bug: skia:7486 > Change-Id: If78d0104df7e18f4320c1658af75576f6a4a8c73 > Reviewed-on: https://skia-review.googlesource.com/122580 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7486 Change-Id: If0a20a358759c08a3a475d60be54a3d62ff7b6ad Reviewed-on: https://skia-review.googlesource.com/123120 Reviewed-by: Jim Van Verth <jvanverth@google.com>
* ccpr: Don't call calcCubicInverseTransposePowerBasisMatrixGravatar Chris Dalton2018-04-23
| | | | | | | | | | | We only need a few values from this Matrix, so it doesn't make sense to spend time solving the entire thing. Bug: skia: Change-Id: Id56d6f593a9a5afe1455bf2c93f6a51b1b9f1642 Reviewed-on: https://skia-review.googlesource.com/122130 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fixes in ReadPixels2 and yuv_texture gm to fix Vulkan validation issues.Gravatar Greg Daniel2018-04-23
| | | | | | | | Bug: skia: Change-Id: Idfccdec9106bdc79a690da0e173a232a0cbe51a9 Reviewed-on: https://skia-review.googlesource.com/122955 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Reland "Prevent masked solid-color draws from being turned into clears"Gravatar Robert Phillips2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f92bb3785fa8015cde9f379be52dedfce5abc290. Reason for revert: The new unit test has been suppressed on ANGLE Original change's description: > Revert "Prevent masked solid-color draws from being turned into clears" > > This reverts commit e9f2bbe082e9e1eb9d76e3043adedc9443427d8d. > > Reason for revert: ANGLE > > Original change's description: > > Prevent masked solid-color draws from being turned into clears > > > > GrRenderTargetContext::drawRect was eliding a BlurMask filtered circle. > > > > Bug: skia:7765 > > Change-Id: Id98c059f7d786ee5c9bca839c8e099997ff2aedb > > Reviewed-on: https://skia-review.googlesource.com/122793 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: I1b7752eab0fcf55ab6248eed587fd85d438efd78 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7765 > Reviewed-on: https://skia-review.googlesource.com/122960 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: If432c24548ef0f6df4fd6a06aa3b1fb38ba793b8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7765 Reviewed-on: https://skia-review.googlesource.com/123000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* (Mostly) respect FilterQuality in draw[stretchy]Gravatar Leon Scroggins III2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | Bug: b/77917978 For drawImageLattice drawBitmapLattice drawImageNine drawBitmapNine , respect the SkFilterQuality on the SkPaint. Previously the GPU used the lowest quality to avoid a bleeding effect, leading to ugly nine- patches on Android. For all backends, cap the filter quality at kLow_SkFilterQuality. Update SkCanvas' documentation to specify this. Change-Id: Id28c7753834975f039170f14bc51be4f2bd44d41 Reviewed-on: https://skia-review.googlesource.com/121891 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com>
* Revert "Prevent masked solid-color draws from being turned into clears"Gravatar Robert Phillips2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e9f2bbe082e9e1eb9d76e3043adedc9443427d8d. Reason for revert: ANGLE Original change's description: > Prevent masked solid-color draws from being turned into clears > > GrRenderTargetContext::drawRect was eliding a BlurMask filtered circle. > > Bug: skia:7765 > Change-Id: Id98c059f7d786ee5c9bca839c8e099997ff2aedb > Reviewed-on: https://skia-review.googlesource.com/122793 > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I1b7752eab0fcf55ab6248eed587fd85d438efd78 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7765 Reviewed-on: https://skia-review.googlesource.com/122960 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Prevent masked solid-color draws from being turned into clearsGravatar Robert Phillips2018-04-23
| | | | | | | | | GrRenderTargetContext::drawRect was eliding a BlurMask filtered circle. Bug: skia:7765 Change-Id: Id98c059f7d786ee5c9bca839c8e099997ff2aedb Reviewed-on: https://skia-review.googlesource.com/122793 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix starting location in GrRTC::drawOval when converting to GrShapeGravatar Brian Salomon2018-04-20
| | | | | | | | Change-Id: I3b86d15add9d463e64c97f53bdb5042f1e2a2f27 Reviewed-on: https://skia-review.googlesource.com/122880 Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Analytic dashing of circles with single on/off intervals and butt caps.Gravatar Brian Salomon2018-04-20
| | | | | | | | Change-Id: If19ac52cb78af57572a102cec0084f5b6c037680 Reviewed-on: https://skia-review.googlesource.com/121882 Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Add stub gpu workaround generators"Gravatar Adrienne Walker2018-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 94d25b970b97c68ddd0b4ceb71f2233aac05e6b5 Original change's description: > Add stub gpu workaround generators > > Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362, > this patch adds a way for Chrome and Skia to share a set of driver > workaround names so that they can be turned on by Chrome (or Skia) as > needed. > > To avoid weird cross-repository dependencies, the generator script is > duplicated in Skia. > > This patch just adds a few dummy workaround names to make sure the build > process is working. The followup to this is to add workaround init > to GrContext/GrContextOptions and to start implementing individual > workarounds. > > Implementing these workarounds is to support Chrome's "out of process > raster" which will use Ganesh without a command buffer, and so will not > have the workarounds that the command buffer provides. > > Bug: chromium:829614 > Change-Id: I40745a777a95805995991fedb81657ae418b52d9 > Reviewed-on: https://skia-review.googlesource.com/120608 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Adrienne Walker <enne@chromium.org> Bug: chromium:829614 Change-Id: Idb3309ffa894f7585ee493388b56565e9d4a3101 Reviewed-on: https://skia-review.googlesource.com/122800 Auto-Submit: Adrienne Walker <enne@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add ability to dump opList info at flush-timeGravatar Robert Phillips2018-04-20
| | | | | | | | | When debugging DDL it is useful to just see which ops are being drawn instead of the entire reordering history. Change-Id: I89708fecbd53c097b00e65b0da426bfb8046b0ee Reviewed-on: https://skia-review.googlesource.com/122780 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add discard check when deciding if we should execute op list or not.Gravatar Greg Daniel2018-04-20
| | | | | | | | Bug: skia:7828 Change-Id: I339ba64b6312cd9444cd4faffd426d91852774e9 Reviewed-on: https://skia-review.googlesource.com/122784 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove another writePixels instanceGravatar Robert Phillips2018-04-20
| | | | | | | | | This converts the GrSWMaskHelper to being DDL compatible Change-Id: Ic0c7f95a7ed6d2936118b4127c2cfce94a2ec0da Reviewed-on: https://skia-review.googlesource.com/122788 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* ccpr: Don't solve for cubic roots that are out of rangeGravatar Chris Dalton2018-04-20
| | | | | | | | | | | | | Most real-world cubics don't have both KLM roots inside T=0..1, and a large amount don't have any. This CL gives a nice speedup by not wasting time finding padding around KLM roots that we aren't going to chop at anyway. Bug: skia: Change-Id: Icb7217142e29fc3f8e8ff657e9dc739caf6d6714 Reviewed-on: https://skia-review.googlesource.com/122129 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Fix flatness and triangle-ness detection for conicsGravatar Chris Dalton2018-04-20
| | | | | | | | | | | We should detect these cases by examining the curve at max height; not midtangent. Bug: skia:7821 Change-Id: I3d9e3a10798f0d825916840cb99d054b2a6284c3 Reviewed-on: https://skia-review.googlesource.com/122620 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Don't preempt the convex path rendererGravatar Chris Dalton2018-04-19
| | | | | | | | | | It seems to perform better on RRects from web pages. Bug: skia:7825 Change-Id: Ibecf33849c6d14e7486d9de740b1cc42f274080f Reviewed-on: https://skia-review.googlesource.com/122626 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove ambient clamp hack for analytic shadows.Gravatar Jim Van Verth2018-04-19
| | | | | | | | | | | | | | | The hack was added to make analytic ambient shadows match the geometric ones exactly. Removing it does produce a slight difference, but it's only visible at full black values (and then, only slightly) and this makes room to pass a blend parameter for falloff. Also fixes an issue with filling out arcs in the shadow tesselator. Bug: skia:7486 Change-Id: If78d0104df7e18f4320c1658af75576f6a4a8c73 Reviewed-on: https://skia-review.googlesource.com/122580 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* ccpr: Clean up GrCCGeometryGravatar Chris Dalton2018-04-19
| | | | | | | | | | | Gets rid of the ugly template functions, rearranges a few static methods, and adds a benchmark. Bug: skia: Change-Id: I442f3a581ba7faf7601ae5be0c7e07327df09496 Reviewed-on: https://skia-review.googlesource.com/122128 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix double counting of coverage in analytic round capped stroked circles.Gravatar Brian Salomon2018-04-19
| | | | | | | Change-Id: I28d39f8620d786180b0bf0204b18ca4d1fec597b Reviewed-on: https://skia-review.googlesource.com/122086 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* When creating testing backendTexture take colorspace into account.Gravatar Greg Daniel2018-04-19
| | | | | | | | | Bug: skia: Change-Id: Ifa8dbad3eca81790648476f9a6d3fa5a088fede9 Reviewed-on: https://skia-review.googlesource.com/122341 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Untangle strike cache and glyph cacheGravatar Herb Derby2018-04-19
| | | | | | | | | | | | The strike cache and the glpyh cache have been friends for a long time. Untangle this twisted relationship. BUG=skia:7515 Change-Id: Ie77393f6923e9886ec90ff7a60a1200e78319937 Reviewed-on: https://skia-review.googlesource.com/122084 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* clean up setReserve() rule-bendingGravatar Mike Klein2018-04-19
| | | | | | | | | | | | | | | | | | | | | | These routines call setReserve(N), write M<N items into the reserved memory, and then setCount(M) afterwards. That happens to function with SkTDArray's current implementation, but really breaks the spirit of what setReserve() means. This CL switches those setReserve() calls to setCount(). Calling setCount(N), writing M<N items, then setCount(M) should have the exact same effect, and be completely within the rules. Already reviewed here: https://skia-review.googlesource.com/c/skia/+/115982 Change-Id: I462479488055cf1c99de2bc6dbc1707dbe24db7e Reviewed-on: https://skia-review.googlesource.com/122301 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org>
* Revert "Add stub gpu workaround generators"Gravatar Leon Scroggins2018-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 94d25b970b97c68ddd0b4ceb71f2233aac05e6b5. Reason for revert: Breaking the Chromium roll Original change's description: > Add stub gpu workaround generators > > Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362, > this patch adds a way for Chrome and Skia to share a set of driver > workaround names so that they can be turned on by Chrome (or Skia) as > needed. > > To avoid weird cross-repository dependencies, the generator script is > duplicated in Skia. > > This patch just adds a few dummy workaround names to make sure the build > process is working. The followup to this is to add workaround init > to GrContext/GrContextOptions and to start implementing individual > workarounds. > > Implementing these workarounds is to support Chrome's "out of process > raster" which will use Ganesh without a command buffer, and so will not > have the workarounds that the command buffer provides. > > Bug: chromium:829614 > Change-Id: I40745a777a95805995991fedb81657ae418b52d9 > Reviewed-on: https://skia-review.googlesource.com/120608 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Adrienne Walker <enne@chromium.org> TBR=bsalomon@google.com,enne@chromium.org Change-Id: Ie0b69d7d028dabca1fd70813b6920386c8838247 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:829614 Reviewed-on: https://skia-review.googlesource.com/122240 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Add stub gpu workaround generatorsGravatar Adrienne Walker2018-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362, this patch adds a way for Chrome and Skia to share a set of driver workaround names so that they can be turned on by Chrome (or Skia) as needed. To avoid weird cross-repository dependencies, the generator script is duplicated in Skia. This patch just adds a few dummy workaround names to make sure the build process is working. The followup to this is to add workaround init to GrContext/GrContextOptions and to start implementing individual workarounds. Implementing these workarounds is to support Chrome's "out of process raster" which will use Ganesh without a command buffer, and so will not have the workarounds that the command buffer provides. Bug: chromium:829614 Change-Id: I40745a777a95805995991fedb81657ae418b52d9 Reviewed-on: https://skia-review.googlesource.com/120608 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Adrienne Walker <enne@chromium.org>
* Move strike cache Find*() to strike cacheGravatar Herb Derby2018-04-18
| | | | | | | | | BUG=skia:7515 Change-Id: Ic1580d4752d51a62df5427a28f843bc7b3181797 Reviewed-on: https://skia-review.googlesource.com/122020 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* DFT to draw A8 instead of incorrect vertical lcd.Gravatar Ben Wagner2018-04-18
| | | | | | | | | | | | | The distance field text renderer currently supports RGB and BGR striping but does not support vertical striping. Currently the vertical request is ignored and a horizontal striping is used when a vertical striping is requested. Instead of drawing the incorrect striping when vertical striping is requested, draw without the striping instead. Change-Id: Ic2b173fbfef7db1d2581bf22a5d52dd2a5a24e97 Reviewed-on: https://skia-review.googlesource.com/122085 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* ccpr: Implement conicsGravatar Chris Dalton2018-04-18
| | | | | | | | | | TBR=egdaniel@google.com Bug: skia: Change-Id: Idf7811dc285961db52db41c9ff145afda40c274d Reviewed-on: https://skia-review.googlesource.com/122127 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Always call endFlush on opLists that might survive a flushGravatar Chris Dalton2018-04-18
| | | | | | | | | | | | We were missing a few that got unreffed due to failed proxy instantiation. Bug: skia:7655 Bug: skia:7111 Change-Id: I95847a16890f2993a1433d4d9fdaa8a4a6c2f0b6 Reviewed-on: https://skia-review.googlesource.com/122121 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* With ES3, enable both ES2 and ES3 external image extensionsGravatar Brian Osman2018-04-18
| | | | | | | | Bug: skia:7713 Change-Id: If06c0368e91c33bbac9e7715227d619c4834684f Reviewed-on: https://skia-review.googlesource.com/121884 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* No long require copy as draw for vulkan wrapped resources.Gravatar Greg Daniel2018-04-17
| | | | | | | | | | | | | | With the recent changes to GrBackendTexture and the atomic ref counted GrVkImageLayout, this should not longer be an issue for cross context images. There still is the requirement that they need to manually synchronize the submission of work involving the image on two threads, but that is a requirement regardless of layout issues. Bug: skia: Change-Id: Ia86e51fda8606838dabd1bc36cf14c7679b46d49 Reviewed-on: https://skia-review.googlesource.com/121349 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Move external texture extension logic into SkSLGravatar Brian Osman2018-04-17
| | | | | | | | | | Automatically enable the extension if any external samplers are used. Bug: skia:7713 Change-Id: I1de2faddd7c8eda864873941b90d7a4c4606497a Reviewed-on: https://skia-review.googlesource.com/121797 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Update our config fallback switch in GrContext.Gravatar Greg Daniel2018-04-17
| | | | | | | | | | | | | First we didn't have any of our new private configs in the fallback switch statement. Also this is a workaround for the case where we want to make a copy of a Gray8 image but we claim its not renderable so we fail the copy. Bug: skia: Change-Id: I68d29c91f07bb87eb1eec650594cc035ed823e3f Reviewed-on: https://skia-review.googlesource.com/121355 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Don't support GrCubicEffect if float != fp32Gravatar Chris Dalton2018-04-16
| | | | | | | | | | Otherwise the cubic math is too unstable. Bug: skia: Change-Id: I2c8d8d9abcae517d42dd3eddb5bf455c7c7487dd Reviewed-on: https://skia-review.googlesource.com/121709 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "ccpr: Implement conics"Gravatar Chris Dalton2018-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 98b241573e6083c4c7f0ce9e30cc214c4da1a8ba. Reason for revert: TSAN not happy Original change's description: > ccpr: Implement conics > > Bug: skia: > Change-Id: I4bae8b059072af987abb7b2d9c57fe08f783d680 > Reviewed-on: https://skia-review.googlesource.com/120040 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com Change-Id: Ic29bf660f042c20b7e4492b03400412e378dbb8a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/121717 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Implement conicsGravatar Chris Dalton2018-04-16
| | | | | | | | Bug: skia: Change-Id: I4bae8b059072af987abb7b2d9c57fe08f783d680 Reviewed-on: https://skia-review.googlesource.com/120040 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add glFlush workaround for instanced draws on SkylakeGravatar Chris Dalton2018-04-16
| | | | | | | | Bug: skia: Change-Id: I1292cc423b4d3d7fc2a9035d3ad251ad7e00f0f6 Reviewed-on: https://skia-review.googlesource.com/121700 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Remove SkPaint::kGenA8FromLCD_Flag.Gravatar Ben Wagner2018-04-16
| | | | | | | | | | | | | The original intent of this flag is now handled by SkPixelGeomety on SkSurfaceProps on SkSurface. BUG=skia:7515 Change-Id: I54bb1be072b5b5b2164a59196bfeacac254823c7 Reviewed-on: https://skia-review.googlesource.com/121346 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Fix many return-std-move-in-c++11 warningsGravatar Kevin Lubick2018-04-16
| | | | | | | | | Change-Id: Ib0042cf412fe3c5fa600b7ae644d16740457535e Reviewed-on: https://skia-review.googlesource.com/121354 Commit-Queue: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Don't allow ganesh to allocate mip maps for wrapped textures.Gravatar Greg Daniel2018-04-16
| | | | | | | | | | | | | | We will not allocate new mips on a wrapped texture but we will use mips if the wrapped texture already has one. If we need mips for a draw this will trigger a copy to occur. Also some cleanup up of our InternalSurfaceFlags in general. Bug: skia:7806 Change-Id: I7aa666478cc91bba6e0644b323825fcc9b49793a Reviewed-on: https://skia-review.googlesource.com/121348 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Draw stroked circles with round caps analytically.Gravatar Brian Salomon2018-04-16
| | | | | | | | | | These draw as the butt cap version where the stroked circle is clipped by half planes. But then we add in coverage from circles at the caps. Bug: skia:7793 Change-Id: I7c27a2a5f1f9c1645cc9042e68e787dd81ea28b8 Reviewed-on: https://skia-review.googlesource.com/120140 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* ccpr: Normalize the cubic inflection function instead of its rootsGravatar Chris Dalton2018-04-16
| | | | | | | | | | | | When solving for KLM, switches back to normalizing the cubic's inflection function rather than both individual roots. Also performs some general code clean up for SkClassifyCubic. Bug: skia: Change-Id: Id513e7e02c50a8709f3eccf92fad9e5134d73d83 Reviewed-on: https://skia-review.googlesource.com/121201 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Chris Dalton <csmartdalton@google.com>