aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
...
* Add addtional resolve calls to vulkan backendGravatar egdaniel2016-08-24
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215363003 Review-Url: https://codereview.chromium.org/2215363003
* combine setRectFan and mapRectGravatar reed2016-08-24
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2276603002 Review-Url: https://codereview.chromium.org/2276603002
* Skip non-AA intersect rects in GrReducedClipGravatar csmartdalton2016-08-23
| | | | | | | | | | Skips non-AA rects whose op is intersect or replace, and who do not precede elements that grow the clip, by tightening fIBounds. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271493002 Review-Url: https://codereview.chromium.org/2271493002
* Reduce window rectangles cap to 8Gravatar csmartdalton2016-08-23
| | | | | | | | | | | | Lowers the cap to 8 and adds a warning message if this value is ever exceeded. The largest (only) implementation currently supports 8, so there isn't yet reason to go higher. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254013002 Committed: https://skia.googlesource.com/skia/+/52d721580ee22525c285e2d13cf3975a7a1b2843 Review-Url: https://codereview.chromium.org/2254013002
* Fix valgrind issue in CircleBatch__TestGravatar robertphillips2016-08-23
| | | | | | | TBR=bsalomon@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271653002 Review-Url: https://codereview.chromium.org/2271653002
* Fix Ganesh analytic blurred rect drawsGravatar robertphillips2016-08-22
| | | | | | | | | | | | | | This CL does two things: It fixes the SkBlurMaskFilterImpl::directFilterRRectMaskGPU draw path to explicitly handle rects It fixes the SkGpuDevice::drawTextureProducerImpl draw path to provide the correct (src & device space) inputs to directFilterRRectMaskGPU. How this was working before was that GrRRectBlurEffect::Make would reject rect-rrects and the code would fallback to GrBlurUtils::drawPathWithMaskFilter which mapped the rect-rrect into device space correctly (of course, the rect-ness of the path was removed at that point so it was going through the slow path). GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268583002 Review-Url: https://codereview.chromium.org/2268583002
* Fix GLSL int to float error in arc code in GrOvalRenderer.Gravatar bsalomon2016-08-22
| | | | | | | | | | | BUG=skia: TBR=robertphillips@google.com NOTRY=true NOTREECHECKS=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263213004 Review-Url: https://codereview.chromium.org/2263213004
* Remove virtual from overrides in SkGpuDevice.hGravatar bsalomon2016-08-22
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2265323002 Review-Url: https://codereview.chromium.org/2265323002
* Fix CircleBatch::TestCreate to always use a legal matrixGravatar bsalomon2016-08-22
| | | | | | | | | | TBR=robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2267953002 NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2267953002
* GPU implementation of drawArc.Gravatar bsalomon2016-08-22
| | | | | | | | | This adds analytic shaders for filled arcs and butt-cap stroked arcs where the center point is not used. BUG=skia:5227 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259323003 Review-Url: https://codereview.chromium.org/2259323003
* check for wide-open inside quickContainsGravatar reed2016-08-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263373002 Review-Url: https://codereview.chromium.org/2263373002
* add SkMatrixPriv for specialized helpersGravatar reed2016-08-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268443002 Review-Url: https://codereview.chromium.org/2268443002
* store info in basedevice, change getter to non-virtual const&Gravatar reed2016-08-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2261003003 Review-Url: https://codereview.chromium.org/2261003003
* Move GrFixedClip into src directoryGravatar csmartdalton2016-08-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254343003 Review-Url: https://codereview.chromium.org/2254343003
* Some assert fixes for running the Fuzzer sample in GPU mode.Gravatar senorblanco2016-08-19
| | | | | | | | | | | | | | | quadraticPointCount, cubicPointCount: passing NaN to GrNextPow2 causes it to assert, so detect that and return the max points per curve instead. Passing a zero scale to GrStyle::applyToPath() makes it assert, so draw nothing (likely what drawing with a zero scale is going to do anyway). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2257423002 Review-Url: https://codereview.chromium.org/2257423002
* Batched implementation of drawLattice() for GPUGravatar msarett2016-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bechmarks (Nexus 6P): Src=100x100, Dst=250x250, NumRects=9 Android 77.7us Skia (without patch) 57.2us Skia (with patch) 30.9us Src=100x100, Dst=500x500, NumRects=9 Android 77.0us Skia (without patch) 56.9us Skia (with patch) 31.8us Src=100x100, Dst=1000x1000, NumRects=9 Android 180us Skia (without patch) 96.8us Skia (with patch) 70.5us Src=100x100, Dst=250x250, NumRects=15 Android 208us Skia (without patch) 155us Skia (with patch) 38.2us Src=100x100, Dst=500x500, NumRects=15 Android 207us Skia (without patch) 152us Skia (with patch) 38.4us Src=100x100, Dst=1000x1000, NumRects=15 Android 233us Skia (without patch) 156us Skia (with patch) 99.9us BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255963002 Committed: https://skia.googlesource.com/skia/+/93242c4ae50dfcc0d922cdb3ba80bbc7b4bbe93d Review-Url: https://codereview.chromium.org/2255963002
* Relax check for gpu use of static src-over XPGravatar egdaniel2016-08-18
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259113002 Review-Url: https://codereview.chromium.org/2259113002
* Revert of Batched implementation of drawLattice() for GPU (patchset #7 ↵Gravatar msarett2016-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:180001 of https://codereview.chromium.org/2255963002/ ) Reason for revert: Things drawing weird. Original issue's description: > Batched implementation of drawLattice() for GPU > > Bechmarks (Nexus 6P): > > Src=100x100, Dst=250x250, NumRects=9 > Android 77.7us > Skia (without patch) 57.2us > Skia (with patch) 34.7us > > Src=100x100, Dst=500x500, NumRects=9 > Android 77.0us > Skia (without patch) 56.9us > Skia (with patch) 44.5us > > Src=100x100, Dst=1000x1000, NumRects=9 > Android 180us > Skia (without patch) 96.8us > Skia (with patch) 70.5us > > Src=100x100, Dst=250x250, NumRects=15 > Android 208us > Skia (without patch) 155us > Skia (with patch) 55.9us > > Src=100x100, Dst=500x500, NumRects=15 > Android 207us > Skia (without patch) 152us > Skia (with patch) 63.0us > > Src=100x100, Dst=1000x1000, NumRects=15 > Android 233us > Skia (without patch) 156us > Skia (with patch) 99.9us > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255963002 > > Committed: https://skia.googlesource.com/skia/+/93242c4ae50dfcc0d922cdb3ba80bbc7b4bbe93d TBR=bsalomon@google.com,reed@google.com,djsollen@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2255683004
* Delay creation of cpu-side buffer memory until actually neededGravatar robertphillips2016-08-18
| | | | | | | | | IIUC what is going on, this won't really do anything bad but will defer allocation of the cpu-side buffer until it is actually needed. BUG=635015 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248283007 Review-Url: https://codereview.chromium.org/2248283007
* Batched implementation of drawLattice() for GPUGravatar msarett2016-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bechmarks (Nexus 6P): Src=100x100, Dst=250x250, NumRects=9 Android 77.7us Skia (without patch) 57.2us Skia (with patch) 34.7us Src=100x100, Dst=500x500, NumRects=9 Android 77.0us Skia (without patch) 56.9us Skia (with patch) 44.5us Src=100x100, Dst=1000x1000, NumRects=9 Android 180us Skia (without patch) 96.8us Skia (with patch) 70.5us Src=100x100, Dst=250x250, NumRects=15 Android 208us Skia (without patch) 155us Skia (with patch) 55.9us Src=100x100, Dst=500x500, NumRects=15 Android 207us Skia (without patch) 152us Skia (with patch) 63.0us Src=100x100, Dst=1000x1000, NumRects=15 Android 233us Skia (without patch) 156us Skia (with patch) 99.9us BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255963002 Review-Url: https://codereview.chromium.org/2255963002
* Tessellator: better fix for reused-edges issue.Gravatar senorblanco2016-08-18
| | | | | | | | | | | | | | | | | The GrTessellator fix for doubly-added edges in https://codereview.chromium.org/2259493002/ could leave a MonotonePoly with zero edges. This is a problem for Poly::addEdge(), which assumes that MonotonePolys always have at least one edge. The fix is to move the check and early-out up to Poly::addEdge(). This should also tighten up the vertex count. (Unfortunately, the only repro I have for this issue is very convoluted, and requires non-landed code.) BUG=skia:5636 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251643008 Review-Url: https://codereview.chromium.org/2251643008
* Don't emit dead code in circle shader when not using distance vectors.Gravatar bsalomon2016-08-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254103004 Review-Url: https://codereview.chromium.org/2254103004
* Rename WorseCaseSize to WorstCasSizeGravatar robertphillips2016-08-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259863002 Review-Url: https://codereview.chromium.org/2259863002
* Add alpha type to texture producerGravatar brianosman2016-08-18
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250403003 Review-Url: https://codereview.chromium.org/2250403003
* Revert of Reduce window rectangles cap to 8 (patchset #1 id:1 of ↵Gravatar robertphillips2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2254013002/ ) Reason for revert: Breaking Ubuntu Original issue's description: > Reduce window rectangles cap to 8 > > Lowers the cap to 8 and adds a warning message if this value is ever > exceeded. The largest (only) implementation currently supports 8, so > there isn't yet reason to go higher. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254013002 > > Committed: https://skia.googlesource.com/skia/+/52d721580ee22525c285e2d13cf3975a7a1b2843 TBR=mjk@nvidia.com,bsalomon@google.com,csmartdalton@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2253293003
* Fix assert caused by floating point error in tessellating path renderer.Gravatar senorblanco2016-08-17
| | | | | | | | | | | | | | | | | | | | | In rare cases, floating point error causes the tesselator to add the same Vertex to more than one Poly on the same side. This was not a big problem when we were allocating new vertices when constructing Polys, but after https://codereview.chromium.org/2029243002 it causes more serious issues, since each Edge can only belong to two Polys, and violating this condition messes up the linked list of Edges used for left & right Polys and the associated estimated vertex count. The fix is to simply let the first Poly win, and skip that vertex for subsequent Polys. Since this only occurs in cases where vertices are very close to each other, it should have little visual effect. This is also exercised by Nebraska-StateSeal.svg. BUG=skia:5636 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259493002 Review-Url: https://codereview.chromium.org/2259493002
* Fix computation of clipped src rect when tiling bitmaps in SkGpuDeviceGravatar bsalomon2016-08-17
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2252913004 Review-Url: https://codereview.chromium.org/2252913004
* Reduce window rectangles cap to 8Gravatar csmartdalton2016-08-17
| | | | | | | | | | | Lowers the cap to 8 and adds a warning message if this value is ever exceeded. The largest (only) implementation currently supports 8, so there isn't yet reason to go higher. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254013002 Review-Url: https://codereview.chromium.org/2254013002
* Fix fb variable name in GLSLGravatar egdaniel2016-08-17
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2252143002 NOTREECHECKS=True Review-Url: https://codereview.chromium.org/2252143002
* Simplify adding attributes to GrGeometryProcessorGravatar bsalomon2016-08-17
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248323003 Review-Url: https://codereview.chromium.org/2248323003
* pin as texture apiGravatar reed2016-08-17
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241353002 Review-Url: https://codereview.chromium.org/2241353002
* Fix various issues with framebuffer fetchGravatar egdaniel2016-08-17
| | | | | | | | | | | | | | | | This CL does two things. First it fixes a bug of ours where when using a custom fbFetch variable (es 3.0 and higher), we sometimes overwrite the out color and then attempt to use it as the dst color later. This is fixed here by using an intermediate variable. Secondly I've added a workaround to an andreno fbFetch where reading from the outColor always returns the original dstColor even if we've overwritten the value. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248403003 Review-Url: https://codereview.chromium.org/2248403003
* Detemplatize GrGLSLGeometryProcessor::setTransformDataHelper()Gravatar bsalomon2016-08-17
| | | | | | | Instead take a local matrix parameter. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250563004 Review-Url: https://codereview.chromium.org/2250563004
* Implement difference clip rects with window rectanglesGravatar csmartdalton2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | Plumbs the pipeline for window rectangles and uses them for a very basic implementation of difference clip rects. This puts a common Blink pattern on fast path, but we will still eventually need to make more comprehensive use of window rectangles during clipping. GTX 960 perf result: gpu glinst4 glinst16 desk_jsfiddlebigcar.skp 0.254 -> 0.177 [70%] 0.279 -> 0.197 [71%] 0.577 -> 0.196 [34%] keymobi_sfgate_com_.skp 0.697 -> 0.513 [74%] 0.766 -> 0.451 [59%] 0.769 -> 0.597 [78%] keymobi_blogger.skp 0.406 -> 0.314 [77%] 0.436 -> 0.292 [67%] 0.696 -> 0.319 [46%] desk_pokemonwiki.skp 0.121 -> 0.098 [81%] 0.13 -> 0.105 [81%] 0.216 -> 0.097 [45%] desk_wikipedia.skp 0.121 -> 0.098 [81%] 0.13 -> 0.104 [80%] 0.199 -> 0.104 [52%] keymobi_androidpolice_co... 0.443 -> 0.382 [86%] 0.447 -> 0.398 [89%] 0.444 -> 0.396 [89%] keymobi_booking_com_sear... 1 .15 -> 1.03 [90%] 1.17 -> 1.06 [91%] 1.17 -> 1.05 [90%] keymobi_theverge_com.skp 0.417 -> 0.396 [95%] 0.426 -> 0.405 [95%] 0.429 -> 0.4 [93%] BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251573002 Review-Url: https://codereview.chromium.org/2251573002
* Make GrReducedClip's gen ID only apply to the element listGravatar csmartdalton2016-08-17
| | | | | | | | | | Renames fGenID to fElementsGenID and designates this value as undefined when when the element list is empty. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2244223004 Review-Url: https://codereview.chromium.org/2244223004
* Fix tile bitmap code in SkGpuDevice to compute correct local coords.Gravatar bsalomon2016-08-17
| | | | | | | | | | This fixes a bug when using an alpha bitmap/image with a SkShader where the SkShader's GrFragmentProcessor would receive incorrect coordinates. BUG=skia:5643 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249163004 Review-Url: https://codereview.chromium.org/2249163004
* Minor cleanup of GP classes in GrOvalRendererGravatar bsalomon2016-08-17
| | | | | | | Move GLSL nested classes to private and remove unnecessary public getters. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2253903002 Review-Url: https://codereview.chromium.org/2253903002
* Cast for fuzzer complaintGravatar robertphillips2016-08-17
| | | | | | | | | Given the cast in the following else block, this isn't the first time we've encountered this. BUG=637187 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258463002 Review-Url: https://codereview.chromium.org/2258463002
* Add alternative ambient shadow method to Android shadow sampleGravatar jvanverth2016-08-17
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2249973003 Review-Url: https://codereview.chromium.org/2249973003
* Add mssa configs for vulkan, and simple bug fixGravatar egdaniel2016-08-17
| | | | | | | BUG=skia:5127 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2251473002 Review-Url: https://codereview.chromium.org/2251473002
* simplify GrTextureAdjuster given there is only one subclassGravatar reed2016-08-16
| | | | | | | | | Intended as a pre-cl for https://codereview.chromium.org/2241353002# BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242373002 Review-Url: https://codereview.chromium.org/2242373002
* Attempt to throw away rrect clips of rrects.Gravatar bsalomon2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241273003 Review-Url: https://codereview.chromium.org/2241273003
* Fix compile warning on MSVC-vulkan (VkDeviceSize -> size_t)Gravatar brianosman2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246183002 Review-Url: https://codereview.chromium.org/2246183002
* Print error from driver when shader compiler failsGravatar bsalomon2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248853002 Review-Url: https://codereview.chromium.org/2248853002
* Convert GrAppliedClip interface to builder styleGravatar csmartdalton2016-08-15
| | | | | | | | | | | | | GrAppliedClip was about at its limit for how many "make" functions it could have. Window rectangles would push it over the edge. This change makes it so GrDrawTarget supplies the original draw bounds to the constructor, and then GrClip adds the various required clipping techniques. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246113002 Review-Url: https://codereview.chromium.org/2246113002
* Fix 4444 on Vulkan devices who don't support RGBA_4444Gravatar egdaniel2016-08-15
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002 Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971 Review-Url: https://codereview.chromium.org/2238563002
* Fix copying of data in vulkan testing textureGravatar egdaniel2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248703002 Review-Url: https://codereview.chromium.org/2248703002
* Remove stencil settings param from stencilPath()Gravatar csmartdalton2016-08-12
| | | | | | | | | | stencilPath() picks its own user stencil settings. This argument should not be there. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241873002 Review-Url: https://codereview.chromium.org/2241873002
* Re-adding analytical GeoProc for rectanglesGravatar dvonbeck2016-08-12
| | | | | | | | | | | | | Adapted old GeoProc because its knowledge of the geometry is helpful for computing the distance vector: https://skia.googlesource.com/skia/+/6006d0f8c4f19d19a12de20826f731f52ac822a7/src/gpu/GrAARectRenderer.cpp Added distance vector capabilities to this GeoProc. Modified GrDrawContext to used this GeoProc when drawing anti-aliased vectors with a shader that requires distance vectors. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230513004 Review-Url: https://codereview.chromium.org/2230513004
* Allow vulkan to upload data to testing textures with optimal layoutsGravatar egdaniel2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242553002 Review-Url: https://codereview.chromium.org/2242553002