aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrProcessor.cpp
Commit message (Collapse)AuthorAge
* Added --deepColor option to SampleApp, triggers creation of a ten-bit/channelGravatar brianosman2016-05-05
| | | | | | | | | | buffer. (Only on Windows at the moment). Uses new effect to do the final gamma adjustment BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1919993002 Review-Url: https://codereview.chromium.org/1919993002
* Implement texel buffersGravatar cdalton2016-04-11
| | | | | | | | | | Adds a mechanism for processors to add buffer accesses and implements them in the GL backend. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1870893002 Review URL: https://codereview.chromium.org/1870893002
* remove avoid and pixelxor xfermodesGravatar reed2016-04-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1853103005 Review URL: https://codereview.chromium.org/1853103005
* Modernize SkSpinlock.Gravatar mtklein2016-02-29
| | | | | | | | | | | | | | | | | | | | | | | | - Use std::atomic directly. - No more need for SkPODSpinlock or SK_DECLARE_STATIC_SPINLOCK. Now simple code like this works as you'd hope: static SkSpinlock gLock; That is, it starts unlocked and there's no static initializer. std::atomic_flag would make this terser and standard-guaranteed, but ATOMIC_FLAG_INIT caused not-yet-implemented errors on MSVC 2013. The generated code for this approach is identical. It appears the implicit constructor is constexpr when all the member initializers are. I'm hoping this way of producing constexpr constructors without typing "constexpr" gives us a way to eliminate more SkFoo / SkBaseFoo distinctions and SK_DECLARE_STATIC_FOO. This was certainly the easiest. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734383002 Review URL: https://codereview.chromium.org/1734383002
* Add gpu implementation of SkAvoidXfermodeGravatar robertphillips2016-02-03
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 TBR=bsalomon@google.com Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f Review URL: https://codereview.chromium.org/1658623002
* Revert of Add gpu implementation of SkAvoidXfermode (patchset #10 id:170001 ↵Gravatar mtklein2016-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1658623002/ ) Reason for revert: shader compilation failures error C1008: undefined variable "null" https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/4064/steps/dm/logs/stdio Original issue's description: > Add gpu implementation of SkAvoidXfermode > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 > > TBR=bsalomon@google.com > > Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1663093002
* Add gpu implementation of SkAvoidXfermodeGravatar robertphillips2016-02-03
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1658623002
* Add gpu implementation of OverdrawXfermodeGravatar robertphillips2016-01-27
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba Review URL: https://codereview.chromium.org/1607253002
* Add gpu backend for SkPixelXorXfermodeGravatar robertphillips2016-01-26
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631873002 Review URL: https://codereview.chromium.org/1631873002
* Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 ↵Gravatar robertphillips2016-01-22
| | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1607253002/ ) Reason for revert: Overdraw Xfer mode using new fangled glsl features Original issue's description: > Add gpu implementation of OverdrawXfermode > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 > > Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba TBR=egdaniel@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1626443002
* Add gpu implementation of OverdrawXfermodeGravatar robertphillips2016-01-20
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002 Review URL: https://codereview.chromium.org/1607253002
* Revert of Make specialized SrcOver XPFactory (patchset #3 id:40001 of ↵Gravatar egdaniel2015-11-20
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1455273006/ ) Reason for revert: breaking some builds Original issue's description: > Make specialized SrcOver XPFactory > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/a7006d45217d128a94fa53cb4b827cca79bc7049 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1464933003
* Make specialized SrcOver XPFactoryGravatar egdaniel2015-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1455273006
* Move GrFragmentProcessor implementation to its own cpp fileGravatar bsalomon2015-09-22
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1350523004
* fix factory countGravatar Brian Salomon2015-09-22
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1357773003 .
* Replace GrExtractAlphaFragmentProcessor with DstIn compose processorGravatar bsalomon2015-09-22
| | | | Review URL: https://codereview.chromium.org/1347943003
* Create fragment processor for performing input color blend with child processorGravatar bsalomon2015-09-15
| | | | | | The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes. Review URL: https://codereview.chromium.org/1334293003
* Add special case circle blur for GaneshGravatar robertphillips2015-09-15
| | | | | | | | This makes the blurcircles bench go from ~33us to ~8us on Windows desktop. It will require layout test suppressions Review URL: https://codereview.chromium.org/1311583005
* Add helper for creating leaf FPs inside GrFP::TestCreate functionsGravatar bsalomon2015-09-14
| | | | Review URL: https://codereview.chromium.org/1334273003
* Make GrProcessorDataManager a noopGravatar joshualitt2015-09-09
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1323963003
* Added TestCreate for SkComposeShader; will pick two random child procs that ↵Gravatar wangyix2015-09-08
| | | | | | | | don't have children of their own. This prevents creating an arbitrarily large tree of procs. Also, it will choose a random coefficient mode for the xfermode. BUG=skia:4182 Review URL: https://codereview.chromium.org/1306163002
* Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*Gravatar bsalomon2015-08-28
| | | | | | Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa Review URL: https://codereview.chromium.org/1316513002
* Revert of Change SkShader;asFragmentProcessor signature to no longer take ↵Gravatar rmistry2015-08-28
| | | | | | | | | | | | | | | | | | | | | | | | skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ ) Reason for revert: Primary suspect in failing DEPS rolls: * https://codereview.chromium.org/1315753006 * https://codereview.chromium.org/1308323006 * https://codereview.chromium.org/1320903004 Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005 Original issue's description: > Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* > > Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa TBR=joshualitt@google.com,wangyix@google.com,robertphillips@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1313573005
* Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*Gravatar bsalomon2015-08-28
| | | | Review URL: https://codereview.chromium.org/1316513002
* Convert child FPs from refs to pending executions when parent convertsGravatar bsalomon2015-08-27
| | | | Review URL: https://codereview.chromium.org/1315923004
* Remove GrStagedProcessor, remove the word Stage as it applies to FPsGravatar bsalomon2015-08-27
| | | | | | Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7 Review URL: https://codereview.chromium.org/1307223004
* Revert of Remove GrStagedProcessor, remove the word Stage as it applies to ↵Gravatar rmistry2015-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | FPs (patchset #6 id:90001 of https://codereview.chromium.org/1307223004/ ) Reason for revert: Causes bot failures: https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1639 https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/1702 https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-NexusPlayer-GPU-PowerVR-x86-Debug/builds/1223 Original issue's description: > Remove GrStagedProcessor, remove the word Stage as it applies to FPs > > Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7 TBR=joshualitt@google.com,egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1306803003
* Remove GrStagedProcessor, remove the word Stage as it applies to FPsGravatar bsalomon2015-08-26
| | | | Review URL: https://codereview.chromium.org/1307223004
* This code should've been part of the CL that added registerChildProcessor(); ↵Gravatar wangyix2015-08-21
| | | | | | | | without updating fUsesLocalCoords in the parent when a child proc is registered, batching will not work properly. BUG=skia:4182 Review URL: https://codereview.chromium.org/1308513004
* This change is in preparation for updating how processor keys and meta keys ↵Gravatar wangyix2015-08-19
| | | | | | | | are generated for frag procs. BUG=skia:4182 Review URL: https://codereview.chromium.org/1298233002
* When getGLInstance is called on a frag proc, the resulting ↵Gravatar wangyix2015-08-18
| | | | | | | | GrGLFragmentProcessor will be the root of a tree of GrGLFragmentProcessors that mirrors the GrFragmentProcessor's tree. This allows setData() to be called recursively (removing the responsibility from compose shader) and allows gl instances direct access to their children gl instances so they can emit their code. BUG=skia:4182 Review URL: https://codereview.chromium.org/1287023009
* Made isEqual in GrFragmentProcessor recursiveGravatar wangyix2015-08-18
| | | | | | | | | | Added comment about how computeInvariantOutput() is non-recursive in GrFragmentProcessor Made isEqual() recursive in GrFragmentProcessor BUG=skia:4182 Review URL: https://codereview.chromium.org/1287343005
* Added mangleString member and onBefore*, onAfter* functions to ↵Gravatar wangyix2015-08-13
| | | | | | | | | | GrGLFragmentShaderBuilder BUILDS! Added mangleString, onBefore, and onAfterChildProcEmitCode() to GrGLFragmentShaderBuilder.cpp BUG=skia:4182 Review URL: https://codereview.chromium.org/1288723002
* All child GrFragmentProcs' transforms and textures will be stored in the ↵Gravatar wangyix2015-08-12
| | | | | | | | | | | | | | | | | | | | | | root GrFragmentProc in preorder Changed childProcessor(i) to return const referencd Fixed rootProc/parentProc offset issues; renamed a few things. added nonempty check to gatherTransforms to avoid segfault removed recursive append_gr_coord_transforms() from GrGLProgramBuilder BUILDS! Changed num*includeProc() calls to num() calls added gatherCoordTransforms(). added coordTransforms() for root proc only Modified GrFragmentProcessor to append child proc transforms and textures to root proc's arrays. BUG=skia:4182 Review URL: https://codereview.chromium.org/1275853005
* Added registerChild; transforms, textures, glKey automatically handled.Gravatar wangyix2015-08-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1266633003
* Move GrProcessorDataManager to GrMemoryPoolGravatar joshualitt2015-07-10
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1225363002
* remove redundant/deprecated TwoPointRadial gradiet -- use TwoPointConicalGravatar reed2015-05-04
| | | | | | | | This CL derived from https://codereview.chromium.org/1114243005/ BUG=skia: Review URL: https://codereview.chromium.org/1117423003
* create GrTestUtils.h, move some common functions into itGravatar joshualitt2015-04-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1117443002
* Add constant color GrFP.Gravatar bsalomon2015-04-02
| | | | | | Committed: https://skia.googlesource.com/skia/+/dfbbec436cbcacc3270d4b28357c8393e67d6494 Review URL: https://codereview.chromium.org/978713002
* Revert of Add constant color GrFP. (patchset #10 id:180001 of ↵Gravatar bsalomon2015-04-02
| | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/978713002/) Reason for revert: Revert while investigating assertions. Original issue's description: > Add constant color GrFP. > > Committed: https://skia.googlesource.com/skia/+/dfbbec436cbcacc3270d4b28357c8393e67d6494 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1055023002
* Add constant color GrFP.Gravatar bsalomon2015-04-01
| | | | Review URL: https://codereview.chromium.org/978713002
* Small change to move GrProcessor and GrBatch pools over to SkSpinlockGravatar joshualitt2015-03-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1040133002
* Use global GrMemoryPools protected by mutex for GrProcessor/GrBatchGravatar bsalomon2015-03-09
| | | | | | BUG=chromium:464892 Review URL: https://codereview.chromium.org/991943002
* GrBatchPrototypeGravatar joshualitt2015-01-28
| | | | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198 Review URL: https://codereview.chromium.org/845103005
* Revert of GrBatchPrototype (patchset #32 id:630001 of ↵Gravatar joshualitt2015-01-28
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/845103005/) Reason for revert: One last try to fix mac perf regression Original issue's description: > GrBatchPrototype > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 > > Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198 TBR=bsalomon@google.com,kkinnunen@nvidia.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/877393002
* GrBatchPrototypeGravatar joshualitt2015-01-27
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 Review URL: https://codereview.chromium.org/845103005
* Revert of GrBatchPrototype (patchset #30 id:570001 of ↵Gravatar joshualitt2015-01-27
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/845103005/) Reason for revert: creates large performance regression Original issue's description: > GrBatchPrototype > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 TBR=bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/862823004
* GrBatchPrototypeGravatar joshualitt2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/845103005
* Add Xfer Processor for GrCustomXfermodesGravatar egdaniel2015-01-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/852203003
* Add Arithmetic mode xp.Gravatar egdaniel2015-01-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/837633005