aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects
Commit message (Collapse)AuthorAge
* Fix MDB regressionGravatar Robert Phillips2017-06-19
| | | | | | | | | | | | | This CL: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) introduced a perf regression. Cached textures can appear in different GrSurfaceProxies but have the same underlying GrTexture. Bug: 729233 Change-Id: Ifd7a9260a8a4535e8440c0d837bfdc445a921aa4 Reviewed-on: https://skia-review.googlesource.com/20223 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Enable constexpr for VC++ 2017Gravatar Bruce Dawson2017-06-17
| | | | | | | | | | | | | | | VC++ 2017 fixes the internal compiler error which prevented using constexpr for some BlendFormula arrays, so tweak the #ifdefs to enable constexpr for 2017. This gets rid of two constructors and slightly shrinks chrome_child.dll BUG=chromium:341941 Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8 Reviewed-on: https://skia-review.googlesource.com/20160 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Clean up GrResourceProvider usageGravatar Robert Phillips2017-06-15
| | | | | | | | | | | | | The only substantive changes are the removal of GrProxy instantiation in: SkGpuBlurUtils::GaussianBlur GrSimpleTextureEffect::Make* Change-Id: I10970609693bd6ff5b3a3c21b41d82642bb277bc Reviewed-on: https://skia-review.googlesource.com/19965 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Go back to using dual source blending for lcd src-over even ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with non-opaque color"" This reverts commit 7d6fe0b9964d139de64ca88c46d87eba41c7f84e. Reason for revert: Relanding with fix Original change's description: > Revert "Go back to using dual source blending for lcd src-over even with non-opaque color" > > This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5. > > Reason for revert: breaking some bots > Original change's description: > > Go back to using dual source blending for lcd src-over even with non-opaque color > > > > This is change is currently still safe since earlier in Skia we are still requiring > > the dst to be opaque. The change is a workaround to spots where trying to read the > > dst to do in shader blending is failing for some reason. This also should give back > > a little performance since doing dual source blending should be better than shader > > blends. > > > > Bug: chromium:732341 > > Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 > > Reviewed-on: https://skia-review.googlesource.com/19703 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:732341 > Reviewed-on: https://skia-review.googlesource.com/19815 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Bug: chromium:732341 Change-Id: I7481755a9aa64364371d8149af4458fc2c15c8aa Reviewed-on: https://skia-review.googlesource.com/19840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Go back to using dual source blending for lcd src-over even with ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-opaque color" This reverts commit b54bdef86eb5cf63b94588afaa9197f49374a5f5. Reason for revert: breaking some bots Original change's description: > Go back to using dual source blending for lcd src-over even with non-opaque color > > This is change is currently still safe since earlier in Skia we are still requiring > the dst to be opaque. The change is a workaround to spots where trying to read the > dst to do in shader blending is failing for some reason. This also should give back > a little performance since doing dual source blending should be better than shader > blends. > > Bug: chromium:732341 > Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 > Reviewed-on: https://skia-review.googlesource.com/19703 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ibb9bc1ef4ec5967dabcd62c81f62c0989c14fbb8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:732341 Reviewed-on: https://skia-review.googlesource.com/19815 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Go back to using dual source blending for lcd src-over even with non-opaque ↵Gravatar Greg Daniel2017-06-14
| | | | | | | | | | | | | | | | color This is change is currently still safe since earlier in Skia we are still requiring the dst to be opaque. The change is a workaround to spots where trying to read the dst to do in shader blending is failing for some reason. This also should give back a little performance since doing dual source blending should be better than shader blends. Bug: chromium:732341 Change-Id: I795f8a520f87f3fbf5d63a9509fbd9f394ea2b29 Reviewed-on: https://skia-review.googlesource.com/19703 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Retract GrTexture*.h & GrRenderTarget*.h from other headersGravatar Robert Phillips2017-06-13
| | | | | | | | | This does push some additional work (& includes) into the .cpp files. Change-Id: I27c847e371802270d13594dcc22aae44039990bb Reviewed-on: https://skia-review.googlesource.com/19660 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Init fDevKLMMatrix in GrGLCubicEffect (possible valgrind fix)Gravatar Robert Phillips2017-06-12
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I97357291d6d4098caecc9ac37348c9b9436ce11b Reviewed-on: https://skia-review.googlesource.com/19442 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* replace 4f procs with pipeline (only called in 2 places by ganesh)Gravatar Mike Reed2017-06-09
| | | | | | | | | | | enables lots of code to delete CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: I13631ead68a9232bd8c13c5ef54727f44def26ca Reviewed-on: https://skia-review.googlesource.com/19278 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Retract GrTexture.h a bitGravatar Robert Phillips2017-06-09
| | | | | | | | | This began as cleaning up SkSpecialImage.h & spiraled out of control from there. Change-Id: I9a570ecd2a7af9ee724ebfebe4e9185748f38bbc Reviewed-on: https://skia-review.googlesource.com/19290 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Improve cubic KLM accuracyGravatar Chris Dalton2017-06-09
| | | | | | | | | | | | | | | | | | | | | | Moves cubic root finding logic out of GrPathUtils and PathOpsCubicIntersectionTest, and unifies it in SkGeometry. "Normalizes" the homogeneous parameter values of the roots, rather than the cubic inflection function. Does this normalization by twiddling the exponents instead of division (which causes a loss of precision). Abandons the built-in derivatives in GrCubicEffect. These don't have high enough precision on many mobile gpus. Instead we pass the KLM matrix to the vertex shader via uniform, where we can use it to set up new linear functionals from which the fragment shader can calculate the gradient of the implicit function. Bug: skia:4410 Change-Id: Ibd64e999520adc8cdef7803a492d3699995aef5a Reviewed-on: https://skia-review.googlesource.com/19017 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* remove unused xfermode methodsGravatar Mike Reed2017-06-08
| | | | | | | Bug: skia: Change-Id: Ib0dfa7bbf3d4e73aab355df4d5f5e2a53f653809 Reviewed-on: https://skia-review.googlesource.com/19035 Reviewed-by: Mike Reed <reed@google.com>
* move Coeff into blendmodeGravatar Mike Reed2017-06-06
| | | | | | | | Bug: skia: Change-Id: Ib4f3398b0cdc6b0f575f6db80d2ce0bf9666f077 Reviewed-on: https://skia-review.googlesource.com/18843 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Make GrSimpleMeshDrawOpHelper record whether coverage can be implemented as ↵Gravatar Brian Salomon2017-06-05
| | | | | | | | | | alpha This also makes the blend table entry for opaque src over indicate a blend of (1, ISA) rather than (1, 0) to match the actual implementation of the global src-over XP. Change-Id: I1b1f64d2546e4f0cf03c0239ce674d1baad655f6 Reviewed-on: https://skia-review.googlesource.com/18521 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make instantiate return a BooleanGravatar Robert Phillips2017-06-05
| | | | | | | | | | | | From an off-line conversation: The longer term idea will be to create a helper class isolates the ability to instantiate proxies until flush time. The peek* methods could then be moved to GrSurfaceProxy. Change-Id: I8e8c02c098475b77d515791c0d6b81f7e4a327dd Reviewed-on: https://skia-review.googlesource.com/18076 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove support in GPU backend for distance vector field.Gravatar Brian Salomon2017-06-02
| | | | | | | | | Also, remvoes SkNormalBevelSource as this was the last use case for the distance vector field. Change-Id: Ib0176c78e500e6b5130310934253a75860245812 Reviewed-on: https://skia-review.googlesource.com/18482 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Omnibus: Push instantiation of GrTextures later (post TextureSampler)Gravatar Robert Phillips2017-06-02
| | | | | | | | | | | | | Split into: https://skia-review.googlesource.com/c/10485/ (More GrSurfaceProxy-clean up) https://skia-review.googlesource.com/c/15819/ (Expand GrTextureProxy to handle highestFilterMode) https://skia-review.googlesource.com/c/16714/ (Switch ImageStorageAccess over to GrTextureProxies) https://skia-review.googlesource.com/c/16908/ (Convert DstTexture to DstProxy) Change-Id: I6cf3ba0f3bf0e1908d36749bc83571c066ddd568 Reviewed-on: https://skia-review.googlesource.com/10484 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revise system for checking for uninstantiated proxiesGravatar Robert Phillips2017-05-29
| | | | | | | | | | | | | | The new pattern is: we will "instantiate" pipelines at flush time at flush time we will only access the backing GrSurface by peeking If instantiation fails we should never try to access the GrSurfaces Change-Id: I87f7ff41bd0e84d9ca3dbdd61d3361d3d4ceefd6 Reviewed-on: https://skia-review.googlesource.com/17932 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Allow for non opaque colors for src-over lcd fallback case in gpuGravatar Greg Daniel2017-05-24
| | | | | | | | | | | | Since skia is currently requiring the dst to be opaque for lcd draws this change is safe to make in terms of correctly. It will also be faster than the current shader based blending. Bug: chromium:725879 Change-Id: I0c14b80eb5ab819500afc55030df83d5ddbef94a Reviewed-on: https://skia-review.googlesource.com/17840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Don't pass uniform arrays in GrGLNonlinearColorSpaceXformEffectGravatar Christopher Cameron2017-05-23
| | | | | | | | | | | | | | | | | This avoids a problem where passing a uniform array as a function array sometimes gets lost. Instead of passing the uniform array as an argument to the transfer function evaluation function, create two separate transfer function evaluation functions that read the uniforms directly. BUG=723133 Change-Id: Ib46b99efdbc04ce0201644ebbc1dfd4cb27e9276 Reviewed-on: https://skia-review.googlesource.com/17293 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove setting of alpha coverage in text ops when in LCD modeGravatar Greg Daniel2017-05-22
| | | | | | | | Bug: skia: Change-Id: I0e320497fe72a0edad7bda7ea1c34dc2f713fc56 Reviewed-on: https://skia-review.googlesource.com/17530 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Fix to lcd blending in ganeshGravatar Greg Daniel2017-05-22
| | | | | | | | | | | | This fixes the bug where a src color may originally be opaque but after blending it is no longer opaque. We need to know the opacity after the blend so this restricts us on which blend modes even work this way. Bug: skia: Change-Id: Ib3208887d718e5f25272ed7b0bf44683d04884d7 Reviewed-on: https://skia-review.googlesource.com/17488 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Update Porter Duff analysis to match LCD logic.Gravatar Greg Daniel2017-05-19
| | | | | | | | Bug: skia: Change-Id: Ib222c37f7ebb307752806829742a3b6278dbae3d Reviewed-on: https://skia-review.googlesource.com/17410 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Fix gpu lcd blending to semi-correctly handle alpha coverageGravatar Greg Daniel2017-05-19
| | | | | | | | Bug: skia:6606 Change-Id: I16ccd97f5d047eb7fddfed5310bf669e7435ccdd Reviewed-on: https://skia-review.googlesource.com/17370 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove GrSurfaceDesc member from GrSurfaceProxy.Gravatar Brian Salomon2017-05-17
| | | | | | | | | Stores the config, origin, and dimensions in GrSurfaceProxy, sample count in GrRenderTargetProxy, and "was constructed with mip maps" in GrTextureProxy. Change-Id: Iee058674dce49107a991cca9d083cd33e3572809 Reviewed-on: https://skia-review.googlesource.com/17209 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GrRenderTarget[(Proxy)|(Context)]? advertise a "full scene aa type".Gravatar Brian Salomon2017-05-12
| | | | | | | | Bug: skia: Change-Id: I24549604e8305028e34e0022bfef992a8e8c33f7 Reviewed-on: https://skia-review.googlesource.com/16230 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix transparent ambient shadowsGravatar Jim Van Verth2017-05-11
| | | | | | | | | Add a clamp value to indicate the percentage of the blurWidth to apply. Change-Id: I962dc57ed786fa67ed1606b1148f1b2c568025e5 Reviewed-on: https://skia-review.googlesource.com/16424 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fixed distance field interpolation for gamma correct renderingGravatar Brian Osman2017-05-09
| | | | | | | | Bug: skia: Change-Id: I9037decfeb9b2ab673434bb3c4b7f55aca186d68 Reviewed-on: https://skia-review.googlesource.com/13872 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Re-land of "eliminated GrGLSLExpr".Gravatar Ethan Nicholas2017-05-08
| | | | | | | | | | | This change is exactly the same as the last time it was landed; I believe the underlying optimizer bug that was causing this to cause problems has been fixed by a prior CL. Bug: skia: Change-Id: I5436422f094ea758caa3cd69e9338db31b1f93fa Reviewed-on: https://skia-review.googlesource.com/15768 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Combine the ambient and spot alphas into the base colorGravatar Jim Van Verth2017-05-04
| | | | | | | | | | | | | | for geometric shadows. This matches the analytic shadow approach better, and is color space invariant. Also includes cleanup in SampleAndroidShadows. Bug: skia:6546 Change-Id: I7a7cd060420dae741f967334c8b19542a14f0bcf Reviewed-on: https://skia-review.googlesource.com/15228 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "eliminated GrGLSLExpr"""Gravatar Ethan Nicholas2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 796001c82eca5651bc6a221204f6186918781daf. Reason for revert: looks to be causing problems in Chrome (https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/1553/layout-test-results/results.html) Original change's description: > Revert "Revert "eliminated GrGLSLExpr"" > > This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c. > > Bug: skia: > Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab > Reviewed-on: https://skia-review.googlesource.com/15187 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I6455a4f16b2dc0d6d1265541f7117e0cfb8dd91c Reviewed-on: https://skia-review.googlesource.com/15309 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Allow TextureSamplers to have null GrTexture pointerGravatar Robert Phillips2017-05-03
| | | | | | | | | Bug: 715488 Change-Id: I69775cbb50d334d81872e236e59368fe65e698ff Reviewed-on: https://skia-review.googlesource.com/14605 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "eliminated GrGLSLExpr""Gravatar Ethan Nicholas2017-05-03
| | | | | | | | | | This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c. Bug: skia: Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab Reviewed-on: https://skia-review.googlesource.com/15187 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "eliminated GrGLSLExpr"Gravatar Brian Salomon2017-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93f20f5629e52eed732d2b9d6dbbb351cc30b2cd. Reason for revert: Mismerge readded deleted files. Original change's description: > eliminated GrGLSLExpr > > Now that skslc performs all of the optimizations (and then some) that > GrGLSLExpr is responsible for, it's just extra work for no benefit. > > Bug: skia: > Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a > Reviewed-on: https://skia-review.googlesource.com/14560 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia8b723594527afe34489fc78a4b49039081b6390 Reviewed-on: https://skia-review.googlesource.com/15154 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* eliminated GrGLSLExprGravatar Ethan Nicholas2017-05-02
| | | | | | | | | | | Now that skslc performs all of the optimizations (and then some) that GrGLSLExpr is responsible for, it's just extra work for no benefit. Bug: skia: Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a Reviewed-on: https://skia-review.googlesource.com/14560 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix fast blur for shadow rrects.Gravatar Jim Van Verth2017-04-28
| | | | | | | | | | | | | * Handles case where blur is greater than corner radius. * Speeds up shader by avoiding a divide. * Tweaks shadow sample to be more MD-ish. Bug: skia: Change-Id: I2990357b39784c22f02a8e51872391fd68e8226a Reviewed-on: https://skia-review.googlesource.com/14141 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rm makeRenderTargetContext in favor of deferred version (take 3)Gravatar Robert Phillips2017-04-25
| | | | | | | | | | | This is a reland of: https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version) TBR=bsalomon@google.com Change-Id: If81f4d9fb889c091cd37ffde133d906fb3e37773 Reviewed-on: https://skia-review.googlesource.com/14027 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove all headers from include/gpu/effectsGravatar Robert Phillips2017-04-21
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I9ad2fa41262693b3a83bef625eac332eb1e71a3d Reviewed-on: https://skia-review.googlesource.com/13988 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Rm makeRenderTargetContext in favor of deferred version (take 2)"Gravatar Robert Phillips2017-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 02242e82e4bf94a8f6862dadb5bf347ea5e31eb5. Reason for revert: Maybe breaking Chrome DEPS roll Original change's description: > Rm makeRenderTargetContext in favor of deferred version (take 2) > > This is a reland of: https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version) > > Change-Id: Ife77b012d09c46895884a168fc5045bd92a4b919 > Reviewed-on: https://skia-review.googlesource.com/13196 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I2607116ed743f5d313da4a7b7f056776ed907702 Reviewed-on: https://skia-review.googlesource.com/14024 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rm makeRenderTargetContext in favor of deferred version (take 2)Gravatar Robert Phillips2017-04-21
| | | | | | | | | This is a reland of: https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version) Change-Id: Ife77b012d09c46895884a168fc5045bd92a4b919 Reviewed-on: https://skia-review.googlesource.com/13196 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove all config conversion modes except round-to-nearestGravatar Brian Osman2017-04-20
| | | | | | | | | | | On all GPUs where we can perfectly round-trip, this mode does so. This mode fails on Mali 400 and Tegra 3, but nothing works there. Bug: skia: Change-Id: Ifb045fc772a5b1c03b51b5cb2ae039fe792d17bb Reviewed-on: https://skia-review.googlesource.com/13271 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* hide lockpixels api behind flagGravatar Mike Reed2017-04-17
| | | | | | | | | | | | | | guarded by SK_SUPPORT_OBSOLETE_LOCKPIXELS needs https://codereview.chromium.org/2820873002/# to land first Bug: skia:6481 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Reviewed-on: https://skia-review.googlesource.com/13580 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Rm makeRenderTargetContext in favor of deferred version"Gravatar Robert Phillips2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d83ec0441279b79551b4ecb4598696249ea55145. Reason for revert: various bot failures Original change's description: > Rm makeRenderTargetContext in favor of deferred version > > Change-Id: Ifdf67453607256ba7cdb0837263377bd83907212 > Reviewed-on: https://skia-review.googlesource.com/13001 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I4e67a20cbe658b24725dcf386ac8bfdd127647ea Reviewed-on: https://skia-review.googlesource.com/13131 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rm makeRenderTargetContext in favor of deferred versionGravatar Robert Phillips2017-04-11
| | | | | | | Change-Id: Ifdf67453607256ba7cdb0837263377bd83907212 Reviewed-on: https://skia-review.googlesource.com/13001 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* PM/UPM conversion improvementsGravatar Brian Osman2017-04-10
| | | | | | | | | | | | | Snap input values to N / 255 before doing PM/UPM conversions, and add a new round-to-nearest conversion pair. With the pre-snapping, that pair is chosen by (almost?) every GPU we have. This now lets us round trip perfectly on Mali GPUs (which were falling back to SW before). Bug: skia: Change-Id: I0cebf1382e1c829aedfef4ec1614d7fa980057b5 Reviewed-on: https://skia-review.googlesource.com/11520 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* constexprify GrBlend.h and GrPorterDuffXferProcessor.cppGravatar Brian Salomon2017-04-10
| | | | | | | | | | Also remove some unused functions from GrBlend.h and related unit test. Bug: skia: Change-Id: Id8ad0057a02f65a9e19dc75e4b88709a762f4139 Reviewed-on: https://skia-review.googlesource.com/12623 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move ref counting out of GrProcessor and into subclasses.Gravatar Brian Salomon2017-04-10
| | | | | | | | | | | | | This will allow different subclasses to use different models for lifetime management. GrXferProcessor moves to simple ref counting since they don't own GrGpuResources. This also constifies GrXferProcessor factories. Change-Id: I6bea0ea8de718874063224232f9da50887868b16 Reviewed-on: https://skia-review.googlesource.com/11792 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv ↵Gravatar Robert Phillips2017-04-06
| | | | | | | | | | | | | (take 3) This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. This is a re-reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) Change-Id: Icfb9dd223418dd460405efd2bfd9d1c356beed1a Reviewed-on: https://skia-review.googlesource.com/11412 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContextPriv (take 2)" This reverts commit aaee31f18c0845417103d84285e365575def3c40. Reason for revert: possible valgrind leak Original change's description: > Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2) > > This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. > > This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) > > Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148 > Reviewed-on: https://skia-review.googlesource.com/11326 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia0b92bf6402cb5f9607310d356f43bff2e3e75eb Reviewed-on: https://skia-review.googlesource.com/11361 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove texture sampling from GrConfigConversionEffectGravatar Brian Osman2017-04-05
| | | | | | | | | | | | | | | | Elevates default precision for the entire fragment program to maintain precision on some ES implementations. Re-land fixed version of: https://skia-review.googlesource.com/10026/ https://skia-review.googlesource.com/10056 BUG=skia: Change-Id: Ibe43dba9c223e430b2f9f8ed5cb97ed7a049e6c2 Reviewed-on: https://skia-review.googlesource.com/10160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>