aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
...
* Simplify MSAA path rendererGravatar robertphillips2016-07-11
| | | | | | | | | | | | This simplification is based on the observations that: there were never more than 2 passes the only time passes[] was null was the single-pass, !stencilOnly case only kBoth_DrawFace was was ever used BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135053002 Review-Url: https://codereview.chromium.org/2135053002
* Fix misplaced guardGravatar robertphillips2016-07-10
| | | | | | | | | | | This fixes an error in https://codereview.chromium.org/2125333002 (Add choke point for modifying non-AA rect draws (e.g., applying clipping)). In GrDrawContext::drawRect, when we need to draw a filled rect, we always want to call drawFilledRect when useDrawInsteadOfClear is false. With the buggy code I believe we were falling back to drawing a path. TBR=bsalomon@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135883002 Review-Url: https://codereview.chromium.org/2135883002
* Add choke point for modifying non-AA rect draws (e.g., applying clipping)Gravatar robertphillips2016-07-08
| | | | | | | | | | NOTREECHECKS=true NOPRESUBMIT=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125333002 Committed: https://skia.googlesource.com/skia/+/e5e3a7a5203f256083d015c923cc9c662877aba9 Review-Url: https://codereview.chromium.org/2125333002
* Revert of Add choke point for modifying non-AA rect draws (e.g., applying ↵Gravatar robertphillips2016-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | clipping) (patchset #6 id:100001 of https://codereview.chromium.org/2125333002/ ) Reason for revert: problems Original issue's description: > Add choke point for modifying non-AA rect draws (e.g., applying clipping) > > NOTREECHECKS=true > NOPRESUBMIT=true > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125333002 > > Committed: https://skia.googlesource.com/skia/+/e5e3a7a5203f256083d015c923cc9c662877aba9 TBR=bsalomon@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/2136643002
* Add choke point for modifying non-AA rect draws (e.g., applying clipping)Gravatar robertphillips2016-07-08
| | | | | | | | | NOTREECHECKS=true NOPRESUBMIT=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125333002 Review-Url: https://codereview.chromium.org/2125333002
* Use clipped bounds for reordering decisionsGravatar bsalomon2016-07-08
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137543002 NOTREECHECKS=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2137543002
* Revert change of bounds computation in MSAA path renderer.Gravatar bsalomon2016-07-08
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133773002 Review-Url: https://codereview.chromium.org/2133773002
* Don't scissor draws overlapping the render target's edgesGravatar bsalomon2016-07-08
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135673002 Review-Url: https://codereview.chromium.org/2135673002
* Consolidate handling of infinitely thin primitives and aa bloat handing WRT ↵Gravatar bsalomon2016-07-08
| | | | | | | | batch bounds. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127673002 Review-Url: https://codereview.chromium.org/2127673002
* Use sRGB pixel config for ARGB masks (color emoji)Gravatar brianosman2016-07-08
| | | | | | | | | | Fixes over-bright color emoji and GM:colortype in sRGB mode BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129913004 Committed: https://skia.googlesource.com/skia/+/920af9fac3d9e275a93910d9c626ee7bc23ed17a Review-Url: https://codereview.chromium.org/2129913004
* Reland of Better encapsulate oval/rrect batchs. (patchset #1 id:1 of ↵Gravatar bsalomon2016-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2121313004/ ) Reason for revert: Workaround for compiler/stdlib bug landed: https://codereview.chromium.org/2135453002 Original issue's description: > Revert of Better encapsulate oval/rrect batchs. (patchset #5 id:80001 of https://codereview.chromium.org/2104423003/ ) > > Reason for revert: > This CL is suspected to break compilation on arm64. > https://build.chromium.org/p/chromium.android/builders/Android%20arm64%20Builder%20%28dbg%29/builds/5851/steps/compile/logs/stdio > > Original issue's description: > > Better encapsulate oval/rrect batchs. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003 > > > > Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc > > Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90 > > Committed: https://skia.googlesource.com/skia/+/11bf8b2eae7d1780cb969146422a2ab3b933047a > > TBR=robertphillips@google.com,bsalomon@google.com > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/c79fc33d3e83664ffbd3651df3131c3e9e0b635c TBR=robertphillips@google.com,hush@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2134693002
* Make all parameters reqiured to GrReducedClip::ReduceClipStackGravatar bsalomon2016-07-08
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2130903002 Review-Url: https://codereview.chromium.org/2130903002
* Revert of Better encapsulate oval/rrect batchs. (patchset #5 id:80001 of ↵Gravatar hush2016-07-07
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2104423003/ ) Reason for revert: This CL is suspected to break compilation on arm64. https://build.chromium.org/p/chromium.android/builders/Android%20arm64%20Builder%20%28dbg%29/builds/5851/steps/compile/logs/stdio Original issue's description: > Better encapsulate oval/rrect batchs. > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003 > > Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc > Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90 > Committed: https://skia.googlesource.com/skia/+/11bf8b2eae7d1780cb969146422a2ab3b933047a TBR=robertphillips@google.com,bsalomon@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/2121313004
* Revert of Use sRGB pixel config for ARGB masks (color emoji) (patchset #1 ↵Gravatar brianosman2016-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/2129913004/ ) Reason for revert: Color text rendering failing on ANGLE Original issue's description: > Use sRGB pixel config for ARGB masks (color emoji) > > Fixes over-bright color emoji and GM:colortype in sRGB mode > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129913004 > > Committed: https://skia.googlesource.com/skia/+/920af9fac3d9e275a93910d9c626ee7bc23ed17a TBR=bungeman@google.com,jvanverth@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/2128583007
* Use sRGB pixel config for ARGB masks (color emoji)Gravatar brianosman2016-07-07
| | | | | | | | | Fixes over-bright color emoji and GM:colortype in sRGB mode BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129913004 Review-Url: https://codereview.chromium.org/2129913004
* Check granularity in render pass boundsGravatar egdaniel2016-07-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126303002 Review-Url: https://codereview.chromium.org/2126303002
* Add offsets to GrVkBuffer.Gravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127183002 Review-Url: https://codereview.chromium.org/2127183002
* Begin instanced rendering for simple shapesGravatar csmartdalton2016-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a module that performs instanced rendering and starts using it for a select subset of draws on Mac GL platforms. The instance processor can currently handle rects, ovals, round rects, and double round rects. It can generalize shapes as round rects in order to improve batching. The instance processor also employs new drawing algorithms, irrespective of instanced rendering, that improve GPU-side performance (e.g. sample mask, different triangle layouts, etc.). This change only scratches the surface of instanced rendering. The majority of draws still only have one instance. Future work may include: * Passing coord transforms through the texel buffer. * Sending FP uniforms through instanced vertex attribs. * Using instanced rendering for more draws (stencil writes, drawAtlas, etc.). * Adding more shapes to the instance processor’s repertoire. * Batching draws that have mismatched scissors (analyzing draw bounds, inserting clip planes, etc.). * Bindless textures. * Uber shaders. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003 Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891 Review-Url: https://codereview.chromium.org/2066993003
* Only check resource tracking on program shutdown, not context shutdownGravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5496 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128273002 Review-Url: https://codereview.chromium.org/2128273002
* Fix vulkan compileGravatar egdaniel2016-07-07
| | | | | | | | TBR=jvanverth@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122263003 Review-Url: https://codereview.chromium.org/2122263003
* Correctly handle mat2x2 in VulkanGravatar egdaniel2016-07-07
| | | | | | | BUG=skia:5497 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129953002 Review-Url: https://codereview.chromium.org/2129953002
* Better encapsulate oval/rrect batchs.Gravatar bsalomon2016-07-07
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003 Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90 Review-Url: https://codereview.chromium.org/2104423003
* Remove fColor from PathRenderer DrawPathArgs structGravatar robertphillips2016-07-07
| | | | | | | | This was getting in the way of other refactorings. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126083002 Review-Url: https://codereview.chromium.org/2126083002
* Pull out freelist allocation from GrVkSubHeapGravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128673002 Review-Url: https://codereview.chromium.org/2128673002
* Hide NonAAStrokeRectBatch Geometry class and cleanup class.Gravatar bsalomon2016-07-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126893002 Review-Url: https://codereview.chromium.org/2126893002
* Fix bounds computation for non-aa hairlines when snapping to pixel centersGravatar egdaniel2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126913002 Review-Url: https://codereview.chromium.org/2126913002
* Deleting void pointers is bad, mmmkay?Gravatar jvanverth2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129483003 Review-Url: https://codereview.chromium.org/2129483003
* Hide geometry class in AAStrokeRectBatch and remove unused Append function.Gravatar bsalomon2016-07-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119813004 Review-Url: https://codereview.chromium.org/2119813004
* Vulkan fixes for TesselatingPathRenderer testGravatar jvanverth2016-07-06
| | | | | | | | - Be sure to release all secondard command buffers on shutdown - Allow mapping of static buffers GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123323002 Review-Url: https://codereview.chromium.org/2123323002
* Grow descriptor pools by 1.5Gravatar egdaniel2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2121243002 Review-Url: https://codereview.chromium.org/2121243002
* Fixed crash when RunInSeriesFP's color input is nilGravatar dvonbeck2016-07-06
| | | | | | | | | SeriesFragmentProcessor would call emitChild with "" input color as opposed to nil input color when ginven a nil input color. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106893003 Review-Url: https://codereview.chromium.org/2106893003
* Add gm that tests shaded stroked rectangles.Gravatar bsalomon2016-07-06
| | | | | | | | | | | Fix GPU handling of previously untested cases. Move rect->path fallback from SkGpuDevice to GrDrawContext. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125663003 Review-Url: https://codereview.chromium.org/2125663003
* Fix caching of sample locationsGravatar csmartdalton2016-07-06
| | | | | | | | | | | | | | | The original caching logic for sample locations wishfully assumed that the GPU would always use the same sample pattern for render targets that had the same number of samples. It turns out we can't rely on that. This change improves the caching logic to handle mismatched simple patterns with the same count, and adds a unit test that emulates different sample patterns observed on real hardware. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166 Review-Url: https://codereview.chromium.org/2111423002
* Move GrNonAAFillRectPerspectiveBatch to its own fileGravatar robertphillips2016-07-06
| | | | | | | | Get this out of the way of the upcoming changes (and add a test for it) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108403005 Review-Url: https://codereview.chromium.org/2108403005
* Check fIgnoresCoverage in GrPipeline::AreEqualGravatar csmartdalton2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120153002 Review-Url: https://codereview.chromium.org/2120153002
* Add resource tracking output and command buffer recyclingGravatar jvanverth2016-07-06
| | | | | | | BUG=skia:5042 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115993002 Review-Url: https://codereview.chromium.org/2115993002
* Compile Vulkan when building for the Android framework.Gravatar djsollen2016-07-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129523002 Review-Url: https://codereview.chromium.org/2129523002
* Fix vulkan image samplingGravatar egdaniel2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118733005 Review-Url: https://codereview.chromium.org/2118733005
* Increase batching for AA fill rects.Gravatar bsalomon2016-07-06
| | | | | | | | | | This allows batching of rects provided without a local matrix when local coords are required and when the view matrix changes. It also allows batching of rects with a local matrix with rects without a local matrix. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116823002 Committed: https://skia.googlesource.com/skia/+/e525ecaf63f225f1da6e9834f7a291c06ad44d23 Review-Url: https://codereview.chromium.org/2116823002
* Revert of Begin instanced rendering for simple shapes (patchset #20 ↵Gravatar ksakamoto2016-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:380001 of https://codereview.chromium.org/2066993003/ ) Reason for revert: This caused static initializer regressions in Chromium (crbug.com/625728). Relevant build logs here: Linux: https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21849 Mac: https://build.chromium.org/p/chromium/builders/Mac/builds/17350 Relevant lines from the error log: Linux: # InstanceProcessor.cpp GrUniqueKey::GenerateDomain() # InstanceProcessor.cpp gr_instanced::kShapeBufferDomain FAILED linux-release-64/sizes/nacl_helper-si/initializers: actual 8, expected 7, better lower FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower Mac: FAILED mac-release/sizes/chrome-si/initializers: actual 2, expected 0, better lower Original issue's description: > Begin instanced rendering for simple shapes > > Adds a module that performs instanced rendering and starts using it > for a select subset of draws on Mac GL platforms. The instance > processor can currently handle rects, ovals, round rects, and double > round rects. It can generalize shapes as round rects in order to > improve batching. The instance processor also employs new drawing > algorithms, irrespective of instanced rendering, that improve GPU-side > performance (e.g. sample mask, different triangle layouts, etc.). > > This change only scratches the surface of instanced rendering. The > majority of draws still only have one instance. Future work may > include: > > * Passing coord transforms through the texel buffer. > * Sending FP uniforms through instanced vertex attribs. > * Using instanced rendering for more draws (stencil writes, > drawAtlas, etc.). > * Adding more shapes to the instance processor’s repertoire. > * Batching draws that have mismatched scissors (analyzing draw > bounds, inserting clip planes, etc.). > * Bindless textures. > * Uber shaders. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003 > > Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891 NOTREECHECKS=true TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2123693002
* Revert of Fix caching of sample locations (patchset #3 id:40001 of ↵Gravatar rmistry2016-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2111423002/ ) Reason for revert: Seems to be causing Chromium roll failures: * https://codereview.chromium.org/2120373003 * https://codereview.chromium.org/2117193002 * https://codereview.chromium.org/2124653002 Original issue's description: > Fix caching of sample locations > > The original caching logic for sample locations wishfully assumed that > the GPU would always use the same sample pattern for render targets > that had the same number of samples. It turns out we can't rely on > that. This change improves the caching logic to handle mismatched > simple patterns with the same count, and adds a unit test that > emulates different sample patterns observed on real hardware. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 > > Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166 TBR=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/2120403002
* Fix caching of sample locationsGravatar csmartdalton2016-07-04
| | | | | | | | | | | | | | The original caching logic for sample locations wishfully assumed that the GPU would always use the same sample pattern for render targets that had the same number of samples. It turns out we can't rely on that. This change improves the caching logic to handle mismatched simple patterns with the same count, and adds a unit test that emulates different sample patterns observed on real hardware. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 Review-Url: https://codereview.chromium.org/2111423002
* Revert of Increase batching for AA fill rects. (patchset #4 id:60001 of ↵Gravatar benjaminwagner2016-07-04
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2116823002/ ) Reason for revert: I believe this is causing the Chromium DEPS roll to fail due to linux_blink_rel. Reverting for now to get the roll going again. Original issue's description: > Increase batching for AA fill rects. > > This allows batching of rects provided without a local matrix when local coords are required and when the view matrix changes. > > It also allows batching of rects with a local matrix with rects without a local matrix. > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116823002 > > Committed: https://skia.googlesource.com/skia/+/e525ecaf63f225f1da6e9834f7a291c06ad44d23 TBR=robertphillips@google.com,bsalomon@google.com NOTREECHECKS=true # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2124603002
* Increase batching for AA fill rects.Gravatar bsalomon2016-07-01
| | | | | | | | | This allows batching of rects provided without a local matrix when local coords are required and when the view matrix changes. It also allows batching of rects with a local matrix with rects without a local matrix. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116823002 Review-Url: https://codereview.chromium.org/2116823002
* Split apart the GP construction for the NonAAFillRect BatchesGravatar robertphillips2016-07-01
| | | | | | | | This sets up for adding yet another batch type that specializes for rectStaysRect GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106063005 Review-Url: https://codereview.chromium.org/2106063005
* initial checkin of SkSL compilerGravatar ethannicholas2016-07-01
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984363002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/1984363002
* Use bounds of batches for render pass boundsGravatar egdaniel2016-07-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2113303002 Review-Url: https://codereview.chromium.org/2113303002
* Fix vulkan ImageView swizzling to match specGravatar egdaniel2016-07-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115903002 Review-Url: https://codereview.chromium.org/2115903002
* Cleanup non-AA fill rect batch construction.Gravatar bsalomon2016-07-01
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119853002 Review-Url: https://codereview.chromium.org/2119853002
* Simplify AA fill rect batch construction and rename Geometry->RectInfoGravatar bsalomon2016-07-01
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116723003 Review-Url: https://codereview.chromium.org/2116723003