aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
...
* remove dead methods now that we use specials exclusively for imagefiltersGravatar reed2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164763003 Review-Url: https://codereview.chromium.org/2164763003
* Use dFdx in Vulkan to address distance field issues.Gravatar jvanverth2016-07-20
| | | | | | | | | | | | On Nexus Player and occasionally Nexus 5x we get transparent boxes around paths. This appears to be because the dFdy call is not as accurate as dFdx, which is the opposite of Mali 400. As Mali 400 is not supported with Vulkan, we can go back to using dFdx in this case. BUG=skia:5523 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163213004 Review-Url: https://codereview.chromium.org/2163213004
* SkLS now accepting nullptr for diffuse shader and normal source, now ↵Gravatar dvonbeck2016-07-20
| | | | | | | | | | | accurately handling alpha This CL's base is the CL for taking in a diffuse shader into SkLS on the API side: https://codereview.chromium.org/2064153002 BUG=skia:5502,skia:5517 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132113002 Review-Url: https://codereview.chromium.org/2132113002
* Remove SkDevice::accessRenderTarget virtualGravatar robertphillips2016-07-20
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002 Review-Url: https://codereview.chromium.org/2167723002
* Add GrVkRecycledResource subclassGravatar egdaniel2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167453003 Review-Url: https://codereview.chromium.org/2167453003
* Add integer array uniforms to GL and VulkanGravatar fmenozzi2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163173005 Review-Url: https://codereview.chromium.org/2163173005
* Consolidate special case shape transformation logic in GrShapeTest.Gravatar bsalomon2016-07-20
| | | | | | | | | | Enable all tests on all geometry types. Add conversion of fill+miter-stroke->fill for rect geometries in GrShape. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157013003 Review-Url: https://codereview.chromium.org/2157013003
* pre-land special methods on deviceGravatar reed2016-07-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161233002 Review-Url: https://codereview.chromium.org/2161233002
* Minor cleanup of GrStencilAndCoverTextContextGravatar robertphillips2016-07-19
| | | | | | | | Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165673002 Review-Url: https://codereview.chromium.org/2165673002
* Create DCs rather than textures in GrConfigConversionEffectGravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162953002 Review-Url: https://codereview.chromium.org/2162953002
* Start from DC rather than texture in GrTexutreParamsAdjuster copy code.Gravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158383002 Review-Url: https://codereview.chromium.org/2158383002
* Fix debugging code for tracing texture creationGravatar brianosman2016-07-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164623002 Review-Url: https://codereview.chromium.org/2164623002
* Make SkFont a bit more useableGravatar robertphillips2016-07-19
| | | | | | | | Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002 Review-Url: https://codereview.chromium.org/2163633002
* Convert readSurfacePixels to use a draw context instead of a textureGravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165523003 Review-Url: https://codereview.chromium.org/2165523003
* Fix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contextsGravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156343004 Review-Url: https://codereview.chromium.org/2156343004
* Remove guards in GrGLInterface::validate() for functions that Chromium used ↵Gravatar bsalomon2016-07-18
| | | | | | | | | to not provide. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158983002 Review-Url: https://codereview.chromium.org/2158983002
* Push GrPipelineBuilder down to the drawBatch calls in the TextContextGravatar robertphillips2016-07-18
| | | | | | | | This is split out of https://codereview.chromium.org/2092893003/ (Retract PipelineBuilder some more) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155983003 Review-Url: https://codereview.chromium.org/2155983003
* Introduce GrColorSpaceXform, for gamut conversion on texturesGravatar brianosman2016-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | GrTextureAccess optionally includes an instance, computed from the src and dst color spaces. In all common cases (no color space for either src or dst, or same color space for both), no object is allocated. This change is orthogonal to my attempts to get color space attached to render targets - regardless of how we choose to do that, this will give us the source color space at all points where we are connecting src to dst. There are many dangling injection points where I've been inserting nullptr, but I have a record of all of them. Additionally, there are now three places (the most common simple paths for bitmap/image rendering) where things are plumbed enough that I expect to have access to the dst color space (all marked with XFORMTODO). In addition to getting the dst color space, I need to inject shader code and uniform uploading for appendTextureLookup and friends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154753003 Review-Url: https://codereview.chromium.org/2154753003
* Add makeSpecial calls to SkGpuDeviceGravatar robertphillips2016-07-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161533003 Review-Url: https://codereview.chromium.org/2161533003
* In GrShape detect that stroked axis-aligned lines are rrects.Gravatar bsalomon2016-07-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151313002 Review-Url: https://codereview.chromium.org/2151313002
* Dont allocate a new image which already has mip levels, when regenerating ↵Gravatar egdaniel2016-07-15
| | | | | | | | | vulkan mipmaps BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146063008 Review-Url: https://codereview.chromium.org/2146063008
* Add copy (when needed) to SkGpuDevice::asSpecialGravatar robertphillips2016-07-15
| | | | | | | | split out of https://codereview.chromium.org/2145343005/ (Recast draw_filter_into_device as drawDevice) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157513002 Review-Url: https://codereview.chromium.org/2157513002
* Add SkGpuDevice::asSpecial entry pointGravatar robertphillips2016-07-15
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151033003 Review-Url: https://codereview.chromium.org/2151033003
* Add getColorSpace to GrTextureProducerGravatar brianosman2016-07-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150113002 Review-Url: https://codereview.chromium.org/2150113002
* Remove GrWrapTextureInBitmap call in SkGpuDevice::drawSpriteWithFilterGravatar robertphillips2016-07-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146223003 Review-Url: https://codereview.chromium.org/2146223003
* Remove SkGrTexturePixelRef and SkGrRenderTargetPixelRef aliases for SkGrPixelRefGravatar bsalomon2016-07-14
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151873002 Review-Url: https://codereview.chromium.org/2151873002
* Fix leak when DFPR fails to draw pathGravatar bsalomon2016-07-14
| | | | | | | TBR=jvanverth@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2144283002 Review-Url: https://codereview.chromium.org/2144283002
* GrBufferAllocPool: use _throw calloc() if unchecked.Gravatar mtklein2016-07-14
| | | | | | | | | | | Looks like this code is using sk_calloc(), NULL on failure, accidentally instead of sk_calloc_throw(). We're using sk_malloc_throw() in the parallel code path, so it really seems like we're not checking the result pointer. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152753002 Review-Url: https://codereview.chromium.org/2152753002
* Remove GrWrapTextureInBitmap from public APIGravatar bsalomon2016-07-13
| | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147053002 Review-Url: https://codereview.chromium.org/2147053002
* Make GrBatchAtlas robust against attempts to add large rects.Gravatar bsalomon2016-07-13
| | | | | | | | | Make GrAADistanceFieldPathRenderer robust against paths that in src space wind up being too large for the atlas. BUG=chromium:627443 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2144663004 Review-Url: https://codereview.chromium.org/2144663004
* Update RT views and framebuffer in vulkan after mipmapingGravatar egdaniel2016-07-13
| | | | | | | | | | | | I've also changed it so all attachment views (texture, color, and resolve) are created separately and not shared with each other. This just added a lot more complexity than we were probably even saving in time. A quick fix to make sure we don't reuse keys in resource tracking also got merged into this change. BUG=skia:5223 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146103002 Review-Url: https://codereview.chromium.org/2146103002
* Add Texture2D and Sampler GrSLTypesGravatar egdaniel2016-07-13
| | | | | | | | | | | | | | | | | | | | | | | | These two new types are in support of Vulkan and the ability to send separate texture and sampler uniforms to the shader. They don't really fit well in the current system, since the current system ties together to idea of intended use and how to emit shader code into the same GrSLType enum. In vulkan, I want the GrGLSLSampler object to be used as a Sampler2D, but when appending its declaration it will emit a Texture2D and sampler object. Our query for GrSLTypeIsSamplerType refers more to the combination of texture and sampler and not just the sampler part. The GrSLTypeIs2DTextureType query is for is a a SamplerType that uses Texture2Ds. My new types don't really fit into either these categories as they are just half of the whole. In some refactoring down the road (possibly connected with SkSL), I suggest we split apart the concept of how we intend to use a GrGLSLSampler (Sampler2D, SamplerBuffer, etc.), from how we actually add it to the code (sampler, texture2D, sampler2D, etc.). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143143002 Review-Url: https://codereview.chromium.org/2143143002
* move GrPixelRef headers to private (as we work to eliminate them)Gravatar reed2016-07-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150693002 Review-Url: https://codereview.chromium.org/2150693002
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-13
| | | | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf Review-Url: https://codereview.chromium.org/2132073002
* Remove GrLayerHoisterGravatar robertphillips2016-07-13
| | | | | | | | This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002 Review-Url: https://codereview.chromium.org/1950523002
* Revert of SkSL performance improvements (patchset #6 id:140001 of ↵Gravatar msarett2016-07-13
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2131223002/ ) Reason for revert: Valgrind bot failures https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1224/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > SkSL performance improvements (plus a couple of minor warning fixes) > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 > > Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc TBR=benjaminwagner@google.com,egdaniel@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2143323003
* Fix vertex count estimate in GrTessellator.Gravatar senorblanco2016-07-13
| | | | | | | | | | | | | | When we start a new MonotonePoly due to a handedness change, we don't need to increase the vertex count, since that edge (and vertex) has already been accounted for in the previous MonotonePoly. This was not a correctness issue, but was causing us to allocate extra vertices which would go unused. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146063002 Review-Url: https://codereview.chromium.org/2146063002
* Add resource provider flag to avoid client-side buffersGravatar csmartdalton2016-07-13
| | | | | | | | | | | | | | | On some platforms, a newly-created buffer was liable to be CPU backed. This would break code that expected a VBO (aka instanced rendering). This change adds an optional flag to GrResourceProvider that requires a buffer to be created in GPU memory. It also moves the CPU backing logic into Gr land in order to properly cache real VBOs on platforms that prefer client-side buffers. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143333002 Review-Url: https://codereview.chromium.org/2143333002
* Retract PipelineBuilder from GrClip::applyGravatar robertphillips2016-07-13
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147443004 Review-Url: https://codereview.chromium.org/2147443004
* Never allow dither for non-legacy (sRGB or F16) targets.Gravatar brianosman2016-07-13
| | | | | | | | | | | With sRGB, the noise from dithering is (obviously) non-linear, and highly objectionable for very dark values. With F16, it's completely unnecessary. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2113793002 Review-Url: https://codereview.chromium.org/2113793002
* Fix various issues with instanced rendering precisionGravatar csmartdalton2016-07-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148633003 Review-Url: https://codereview.chromium.org/2148633003
* Replace switch statements in instanced vertex shadersGravatar csmartdalton2016-07-13
| | | | | | | | | | Replaces switch statements with 3-way if’s. The switches as they were seemed to be the cause of an Adreno compiler crash. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2136103011 Review-Url: https://codereview.chromium.org/2136103011
* Fix GL shader sources getting truncated by ADB logGravatar csmartdalton2016-07-13
| | | | | | | | | | Prints the shaders one line at a time so they don't get truncated by the ADB log. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142223003 Review-Url: https://codereview.chromium.org/2142223003
* Move GrDrawTarget::clear logic into GrDrawContextGravatar robertphillips2016-07-13
| | | | | | | | I found it a bit worrisome that GrDrawTarget was calling back into GrDrawContext. This also moves GrDrawTarget closer to being a simple-ish container of batches. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145643003 Review-Url: https://codereview.chromium.org/2145643003
* Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of ↵Gravatar msarett2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2132073002/ ) Reason for revert: I think this is still causing a test failure on Chrome windows bots. https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/243928/steps/cc_unittests%20%28with%20patch%29%20on%20Windows-7-SP1/logs/stdio Original issue's description: > Pre-crop filled rects to avoid scissor > > Updates GrDrawContext to crop filled rects to the clip bounds before > creating batches for them. Also adds clipping logic to ignore scissor > when the draw falls completely inside. These two changes combined > reduce API traffic and improve batching. > > In the future this can and should be improved by switching to floating > point clip boundaries, thus allowing us to throw out non pixel aligned > rectangle clips as well. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 > > Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a > Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf TBR=bsalomon@google.com,robertphillips@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/2140253004
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-12
| | | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a Review-Url: https://codereview.chromium.org/2132073002
* SkSL performance improvements (plus a couple of minor warning fixes)Gravatar ethannicholas2016-07-12
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 Review-Url: https://codereview.chromium.org/2131223002
* Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of ↵Gravatar msarett2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2132073002/ ) Reason for revert: I believe that this is breaking the roll. https://codereview.chromium.org/2141923002 https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/258434/steps/cc_unittests%20%28with%20patch%29%20on%20Mac-10.9/logs/stdio Original issue's description: > Pre-crop filled rects to avoid scissor > > Updates GrDrawContext to crop filled rects to the clip bounds before > creating batches for them. Also adds clipping logic to ignore scissor > when the draw falls completely inside. These two changes combined > reduce API traffic and improve batching. > > In the future this can and should be improved by switching to floating > point clip boundaries, thus allowing us to throw out non pixel aligned > rectangle clips as well. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 > > Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a TBR=bsalomon@google.com,robertphillips@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/2145573002
* Pre-crop filled rects to avoid scissorGravatar csmartdalton2016-07-11
| | | | | | | | | | | | | | | | Updates GrDrawContext to crop filled rects to the clip bounds before creating batches for them. Also adds clipping logic to ignore scissor when the draw falls completely inside. These two changes combined reduce API traffic and improve batching. In the future this can and should be improved by switching to floating point clip boundaries, thus allowing us to throw out non pixel aligned rectangle clips as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002 Review-Url: https://codereview.chromium.org/2132073002
* Simplify GrDefaultPathRenderer a tiny bitGravatar robertphillips2016-07-11
| | | | | | | | This is far less compelling than https://codereview.chromium.org/2135053002/ (Simplify MSAA path renderer) but is probably still worth it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135853003 Review-Url: https://codereview.chromium.org/2135853003