aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Remove dead flag from SkPictureRecorderGravatar robertphillips2016-07-14
| | | | | | | | With the Chrome CL (https://codereview.chromium.org/2149533003/ (Remove use of unsupported Skia flag)) landed, this should be good to go. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152943002 Review-Url: https://codereview.chromium.org/2152943002
* Revert of Expand _01 half<->float limitation to _finite. Simplify. ↵Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/2145663003/ ) Reason for revert: Unit tests fail on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast Original issue's description: > Expand _01 half<->float limitation to _finite. Simplify. > > It's become clear we need to sometimes deal with values <0 or >1. > I'm not yet convinced we care about NaN or +-inf. > > We had some fairly clever tricks and optimizations here for NEON > and SSE. I've thrown them out in favor of a single implementation. > If we find the specializations mattered, we can certainly figure out > how to extend them to this new range/domain. > > This happens to add a vectorized float -> half for ARMv7, which was > missing from the _01 version. (The SSE strategy was not portable to > platforms that flush denorm floats to zero.) > > I've tested the full float range for FloatToHalf on my desktop and a 5x. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 > CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot > > Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90 TBR=msarett@google.com,mtklein@chromium.org # 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/2151023003
* Expand _01 half<->float limitation to _finite. Simplify.Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | It's become clear we need to sometimes deal with values <0 or >1. I'm not yet convinced we care about NaN or +-inf. We had some fairly clever tricks and optimizations here for NEON and SSE. I've thrown them out in favor of a single implementation. If we find the specializations mattered, we can certainly figure out how to extend them to this new range/domain. This happens to add a vectorized float -> half for ARMv7, which was missing from the _01 version. (The SSE strategy was not portable to platforms that flush denorm floats to zero.) I've tested the full float range for FloatToHalf on my desktop and a 5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2145663003
* Stop testing texture-backed bitmaps in drawbitmaprect GMGravatar bsalomon2016-07-14
| | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148793003 Review-Url: https://codereview.chromium.org/2148793003
* Rewrite GrTextureMipMapInvalidationTest using SkImageGravatar bsalomon2016-07-14
| | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2149133002 Review-Url: https://codereview.chromium.org/2149133002
* Added premulFourChannelColor to GrInvariantOutputGravatar dvonbeck2016-07-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148273002 Review-Url: https://codereview.chromium.org/2148273002
* 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
* Add verb field in scraping scriptsGravatar fmenozzi2016-07-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150663002 Review-Url: https://codereview.chromium.org/2150663002
* Remove unit test that tests subsetting texture backed bitmaps.Gravatar bsalomon2016-07-14
| | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143003006 Review-Url: https://codereview.chromium.org/2143003006
* 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
* Stop testing texture-backed bitmaps in bleed GMsGravatar bsalomon2016-07-13
| | | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2141973004 Review-Url: https://codereview.chromium.org/2141973004
* 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
* Added the framework for having canvas/recorder/picture record depth_set's.Gravatar vjiaoblack2016-07-13
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002 Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518 Committed: https://skia.googlesource.com/skia/+/1185d90c785f743364cc9113d7007a59af07470c Review-Url: https://codereview.chromium.org/2127233002
* Disable aliased font test on iOS.Gravatar bungeman2016-07-13
| | | | | | | | | | | | See if not requesting aliased text fixes iOS. BUG=skia:5530 TBR=mtklein GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150483003 Review-Url: https://codereview.chromium.org/2150483003
* 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
* Fix SkFixedDiv macroGravatar liyuqian2016-07-13
| | | | | | | | | | Previously, the macro won't pass the unit test that I just added in this CL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2149733002 Review-Url: https://codereview.chromium.org/2149733002
* Remove bulk float <-> half routines. These are dead code.Gravatar mtklein2016-07-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152583002 Review-Url: https://codereview.chromium.org/2152583002
* 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 ASAN botGravatar msarett2016-07-13
| | | | | | | | TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152573002 Review-Url: https://codereview.chromium.org/2152573002
* Specifying master names with "master." prefix is deprecatedGravatar rmistry2016-07-13
| | | | | | | | NOTRY=true BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151623002 Review-Url: https://codereview.chromium.org/2151623002
* use gpu-image instead of wrapping in a bitmap for specialimageGravatar reed2016-07-13
| | | | | | | BUG=skia:5531 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147023002 Review-Url: https://codereview.chromium.org/2147023002
* Disable embedded bitmap test on iOS.Gravatar bungeman2016-07-13
| | | | | | | | | | | | | | | | | | | | The TypefaceRenderingGM crashes on iOS when drawing an embedded bitmap when requesting aliased rendering. The crash looks like libTrueTypeScaler.dylib`<redacted> + 80 stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=...) -> 0x330b19d0 <+80>: strd r2, r3, [r5, #36] 0x330b19d4 <+84>: movs r3, #0x0 0x330b19d6 <+86>: add r2, sp, #0x28 0x330b19d8 <+88>: ldr r0, [r4, #0x4] Disable testing embedded bitmaps on iOS for now. BUG=skia:5530 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2140383004 Review-Url: https://codereview.chromium.org/2140383004
* handle large conic weightsGravatar reed2016-07-13
| | | | | | | BUG=627414 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142393003 Review-Url: https://codereview.chromium.org/2142393003
* 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
* Turn back on nanobench on Debug trybots.Gravatar mtklein2016-07-13
| | | | | | | | | | | Swarming makes the extra wall-clock cost negligible. TBR= BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142223004 Review-Url: https://codereview.chromium.org/2142223004
* 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
* Revert "Added the framework for having canvas/recorder/picture record ↵Gravatar mtklein2016-07-13
| | | | | | | | | | | | | | depth_set's." 1-click revert failed again. This reverts commit 1185d90c785f743364cc9113d7007a59af07470c. BUG=skia: TBR= NOTRY=true Review-Url: https://codereview.chromium.org/2147963002
* 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
* Added the framework for having canvas/recorder/picture record depth_set's.Gravatar vjiaoblack2016-07-13
| | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002 Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518 Review-Url: https://codereview.chromium.org/2127233002
* SkRasterPipeline: simplify impl and remove need to rewire stagesGravatar mtklein2016-07-13
| | | | | | | | | | | This builds the stages correctly wired from the get-go. With a little clever setup, we can also design around the previous error cases like having no stages or pipelines that call st->next() off the end. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2149443002 Review-Url: https://codereview.chromium.org/2149443002
* Try blacklisting RAW images on Nexus 9Gravatar msarett2016-07-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2141923006 Review-Url: https://codereview.chromium.org/2141923006
* Update SkOpts namespaces.Gravatar mtklein2016-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | If we make sure all SkOpts functions are static, we can give the namespaces any name we like. This lets us drop the sk_ prefix and give a real indication of the default SIMD instruction set rather than just saying sk_default. Both of these changes help debugger, profiler, and crash report readability. Perhaps more importantly, keeping these functions static helps prevent accidentally linking in unused versions of functions, as you see here with sk_avx::srcover_srgb_srgb(). This requires we update SkBlend_opts tests and benches to call SkOpts functions through SkOpts rather than declaring the methods externally. In practice this drops testing of the SSE2 version on machines with SSE4. If we still really need to test/bench the compile time best SIMD level version of this method against the runtime detected best, we can include SkBlend_opts.h into the tests or benches directly, similar to what we do for the trivial, brute-force, or best non-SIMD versions. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145833002 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2145833002
* 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
* Remove user specified typeface id.Gravatar bungeman2016-07-13
| | | | | | | | | | | | Now that there may be multiple font managers in a process the typeface ids must be unique across all typefaces, not just unique within a font manager. If two typefaces have the same id there will be issues in the glyph cache. All existing font managers were already doing this by calling SkFontCache::NewFontID, so centralize this in SkTypeface. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147733002 Review-Url: https://codereview.chromium.org/2147733002
* 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
* Add a function to convert a texture backed SkImage to raster.Gravatar bsalomon2016-07-12
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147493004 Review-Url: https://codereview.chromium.org/2147493004
* Revert "Added the framework for having canvas/recorder/picture record ↵Gravatar mtklein2016-07-12
| | | | | | | | | | | | | | depth_set's." 1-click revert failed. This reverts commit 6d3fb898d5f73a82e36f11c712a633c3921ed518. TBR= BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148543002 Review-Url: https://codereview.chromium.org/2148543002
* Run the Vulkan config on nanobench for Vulkan botsGravatar borenet2016-07-12
| | | | | | | BUG=skia:5513 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145633002 Review-Url: https://codereview.chromium.org/2145633002
* Fix option name typoGravatar liyuqian2016-07-12
| | | | | | | | | | BUG=skia: TBR=jvanverth@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143093002 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2143093002 Review-Url: https://codereview.chromium.org/2143093002
* center glyphs for text-on-path-via-rsxformGravatar reed2016-07-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137083005 Review-Url: https://codereview.chromium.org/2137083005