aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* SkMultiPictureDocument: don't rely on SkPicture::cullRectGravatar halcanary2016-06-14
| | | | | | | SkPicture::cullRect() is not guaranteed to be the same as the bounds passed to SkPictureRecorder::beginRecording(). Review-Url: https://codereview.chromium.org/2067473003
* Remove command buffer sample app support.Gravatar bsalomon2016-06-14
| | | | | | | | | | This hasn't compiled for months. We are deemphasizing SampleApp in favor of viewer. Windowed command buffer is not currently something we currently plan to maintain. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061233002 Review-Url: https://codereview.chromium.org/2061233002
* Store GLSL max samplers using uint32_t rather than uint8_tGravatar bsalomon2016-06-14
| | | | | | | TBR=egdaniel@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061123003 Review-Url: https://codereview.chromium.org/2061123003
* Fix linux compile errorGravatar jvanverth2016-06-14
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069633002 TBR=egdaniel@google.com Review-Url: https://codereview.chromium.org/2069633002
* Fix compile error (uninitialized variable use)Gravatar brianosman2016-06-14
| | | | | | | | | | | switch is already handling all cases, but some compilers don't care. This suppresses errors about potentially using vkLoadOp and vkStoreOp uninitialized. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068523002 Review-Url: https://codereview.chromium.org/2068523002
* Create free list heap for suballocationGravatar jvanverth2016-06-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029763002 Review-Url: https://codereview.chromium.org/2029763002
* Revert of Clean up two unlaunched SSE 4.1 8888 blits. (patchset #1 id:1 of ↵Gravatar mtklein2016-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2062853002/ ) Reason for revert: Breaks a couple Google3 goldens. I need to rebaseline google3 with -DSK_SUPPORT_LEGACY_X86_BLITS first, then reland this. Original issue's description: > Clean up two unlaunched SSE 4.1 8888 blits. > > This code was running on our bots but never in Chrome. > That's a bad state to be in. > > My plan here use to be to redesign how our 8888 blits worked in SSE 4.1, mainly > for perfect correctness but also for speed, then to spread what I learned there > to SSE2, AVX+, and NEON. > > I have since lost interest in changing any aspect of how our legacy 8888 blits > work. There's not much point in making them a bit or two more correct when the > math is fundamentally wrong. > > This will cause many diffs in Gold, none perceptible. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062853002 > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/6e472093009bf2fc4a8e53010b51040efcb71213 TBR=reed@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/2066453003
* Revert of Update typeface serialization style. (patchset #3 id:40001 of ↵Gravatar mtklein2016-06-13
| | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2030683002/ ) Reason for revert: serialize-8888 broken for typefacestyles on Mac. (Bold weighting goes missing.) Original issue's description: > Update typeface serialization style. > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002 > > Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17 TBR=reed@google.com,bungeman@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/2067583002
* Fix SkImage::asLegacyBitmap() to respect color space infoGravatar msarett2016-06-13
| | | | | | | BUG=skia:5428 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061783002 Review-Url: https://codereview.chromium.org/2061783002
* Add prescale option to deferred paramsGravatar ericrk2016-06-13
| | | | | | | | | | | Currently, Skia always uploads GPU textures at full resolution. This change allows us to pass a pre-scale mip level to the deferred texture image logic, which causes us to pre-scale the image to the given mip level, and upload that mip level instead of the full image. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2007113008 Review-Url: https://codereview.chromium.org/2007113008
* Clean up two unlaunched SSE 4.1 8888 blits.Gravatar mtklein2016-06-13
| | | | | | | | | | | | | | | | | | | | | This code was running on our bots but never in Chrome. That's a bad state to be in. My plan here use to be to redesign how our 8888 blits worked in SSE 4.1, mainly for perfect correctness but also for speed, then to spread what I learned there to SSE2, AVX+, and NEON. I have since lost interest in changing any aspect of how our legacy 8888 blits work. There's not much point in making them a bit or two more correct when the math is fundamentally wrong. This will cause many diffs in Gold, none perceptible. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062853002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2062853002
* Update typeface serialization style.Gravatar bungeman2016-06-13
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002 Review-Url: https://codereview.chromium.org/2030683002
* Add control over whether lines are special cased in SkDashPath. Disable when ↵Gravatar bsalomon2016-06-13
| | | | | | | | called from GrShape. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055253002 Review-Url: https://codereview.chromium.org/2055253002
* Better (?) interface for controlling sRGB-ness of mipmaps on GrTextureGravatar brianosman2016-06-13
| | | | | | | | | | | Switch to new SkSourceGammaTreatment type. Move to a separate setter, rather than an optional argument to dirty. Set the flag correctly after uploading CPU-built mips. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058143002 Review-Url: https://codereview.chromium.org/2058143002
* Move multisampleDisableSupport into GrCapsGravatar csmartdalton2016-06-10
| | | | | | | | | | Non-platform code needs this information in order to make rendering decisions. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062443002 Review-Url: https://codereview.chromium.org/2062443002
* Type-erase SkAutoMutexAcquire and SkAutoExclusive.Gravatar mtklein2016-06-10
| | | | | | | | | | This is purely for convenience, to not need to write the lock type in the guard anymore. This should all inline away. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055023003 Review-Url: https://codereview.chromium.org/2055023003
* fix non-square stroke rects (non-aa)Gravatar reed2016-06-10
| | | | | | | | | fiddle showing bug: https://fiddle.skia.org/c/a21ecf5e33da84f52eba26e8c2f3d280 BUG=skia:5408 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060543002 Review-Url: https://codereview.chromium.org/2060543002
* Make SkBlitter hierarchy explicit about what needs to be implemented.Gravatar herb2016-06-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053823002 Review-Url: https://codereview.chromium.org/2053823002
* Implement SkFontMgr_Custom::onCreateFromFontData.Gravatar bungeman2016-06-10
| | | | | | | | | This fixes serialization issues. We could create a non-default gx typeface, but not deserialize it correctly. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057293002 Review-Url: https://codereview.chromium.org/2057293002
* Fix GrDrawContextPriv::stencilRectGravatar csmartdalton2016-06-10
| | | | | | | | | | | Updates stencilRect to not call getFillRectBatch. This method can return a batch that uses coverage AA, which isn't appropriate for stencil draws. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057613003 Review-Url: https://codereview.chromium.org/2057613003
* respect srgb gamma when building mipsGravatar reed2016-06-10
| | | | | | | | | | | Proposed policy: - If the target is *legacy* (e.g. L32/PMColor) ignore gamma - If the target is S32/F16 respect gamma BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029373004 Review-Url: https://codereview.chromium.org/2029373004
* Make GrShape capable of representing inverse filled rrects.Gravatar bsalomon2016-06-10
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056523002 Review-Url: https://codereview.chromium.org/2056523002
* add fail condition to addexpandedGravatar caryclark2016-06-10
| | | | | | | | | | | If coincident pairs don't match, give up rather than deref null. R=fmalita@chromium.org BUG=618991 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058773002 Review-Url: https://codereview.chromium.org/2058773002
* Implement all onCreateFromStream overloads.Gravatar bungeman2016-06-10
| | | | | | | | | | The custom font manager does not implement all onCreateFromStream overloads leading to warnings. Since this needs to be implemented anyway, implement it now. BUG=skia:5412 Review-Url: https://codereview.chromium.org/2053903003
* Fix glDraw*Indirect prototypesGravatar csmartdalton2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050403002 Review-Url: https://codereview.chromium.org/2050403002
* Move immintrin/arm_neon includes to where they are used.Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On my Mac (so, immintrin), this improves compile time, both wall and cpu, by about 16%. To test I ran this on an SSD with files hot in their caches: $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \ ninja -C out/Release -t clean && \ time ninja -C out/Release Before: 159 wall / 3367 cpu 159 wall / 3368 cpu After: 137 wall / 2860 cpu 136 wall / 2863 cpu I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc. That made no signficant difference, so I've kept immintrin for its simplicity. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot TBR=reed@google.com No public API changes. Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a Review-Url: https://codereview.chromium.org/2045633002
* Add NV12 texture conversion support.Gravatar jbauman2016-06-09
| | | | | | | | | | | If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same, then treat the input as NV12 and sample from the g component of texture 2. BUG=skia:5209 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002 Review-Url: https://codereview.chromium.org/2016593002
* Add control of manual mipmapping to GrContextOptionsGravatar brianosman2016-06-09
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968 Review-Url: https://codereview.chromium.org/2054623003
* Cleanup needed to use WindowContext for AndroidGravatar djsollen2016-06-09
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055693003 Review-Url: https://codereview.chromium.org/2055693003
* SkPictureAnalyzer: expose the number of slow GPU commands.Gravatar senorblanco2016-06-09
| | | | | | | BUG=614724 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031243003 Review-Url: https://codereview.chromium.org/2031243003
* Revert of Add control of manual mipmapping to GrContextOptions (patchset #2 ↵Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/2054623003/ ) Reason for revert: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3481/steps/test_skia%20on%20Ubuntu/logs/stdio ../../../src/gpu/gl/GrGLCaps.cpp:554:25: runtime error: load of value 187, which is not a valid value for type 'bool' SUMMARY: AddressSanitizer: undefined-behavior ../../../src/gpu/gl/GrGLCaps.cpp:554:25 in step returned non-zero exit code: 1 Original issue's description: > Add control of manual mipmapping to GrContextOptions > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 > > Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968 TBR=bsalomon@google.com,brianosman@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/2050373002
* SkPixmap::setColorSpaceGravatar msarett2016-06-09
| | | | | | | | | | | | Landed for reed@ with bug fix: Use default copy constructor for SkDraw BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057563002 patch from issue 2057563002 at patchset 1 (http://crrev.com/2057563002#ps1) Review-Url: https://codereview.chromium.org/2052943002
* Add raw pixel serialization fallback for SkImages that cannot be encoded.Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | This fixes serialize-8888 for 2 GMs on Mac that I'm now unblacklisting. I think another was already fixed, and two more were Windows-only. Seems safe to use encoded_size=1 as another sentinel here (like we already use =0); I can't imagine any encoded image format that can encode an image in a single byte. I suspect this is the root of the referenced bug too, but this is a good idea even if not. BUG=chromium:601851 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039813007 CQ_EXTRA_TRYBOTS=client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Release-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot;client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Release-Trybot Review-Url: https://codereview.chromium.org/2039813007
* SkMipMap::ComputeLevelSize should only cover SkMipMap's levels.Gravatar cblume2016-06-09
| | | | | | | | | | | | | | SkMipMap only deals with the levels it generates. That is to day, it deals with mipmap levels 1-x, not 0-x. Other functions reflect thing when indexing. They go from 0 to x-1 (giving the index into SkMipMap's contents). ComputeLevelSize should also follow that same indexing. BUG=578304 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042843005 Review-Url: https://codereview.chromium.org/2042843005
* Add control of manual mipmapping to GrContextOptionsGravatar brianosman2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 Review-Url: https://codereview.chromium.org/2054623003
* Simplify code by breaking general sampler into Nearest and Bilerp.Gravatar herb2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055513003 Review-Url: https://codereview.chromium.org/2055513003
* sk_sp for Ganesh.Gravatar bungeman2016-06-09
| | | | | | | | | | Convert use of GrFragmentProcessor, GrGeometryProcessor, and GrXPFactory to sk_sp. This clarifies ownership and should reduce reference count churn by moving ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004 Review-Url: https://codereview.chromium.org/2041113004
* SkColorSpace::NewICC fix integer overflow caught by fuzzerGravatar msarett2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053683002 Review-Url: https://codereview.chromium.org/2053683002
* Make SkDashPathEffect fail for stroke+fill style (in addition to fill style)Gravatar bsalomon2016-06-09
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2048183002 Review-Url: https://codereview.chromium.org/2048183002
* Optimize color xforms with 2.2 gammas for SSE2Gravatar msarett2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we recognize commonly used gamma tables and parameters as 2.2f, about 98% of jpegs with color profiles will pass through this xform (assuming the dst is also 2.2f). Sample size is 10,322 jpegs. I won't go crazy with performance numbers because this is a work in progress, particularly in terms of correctness. 201295.jpg on HP z620 (300x280, most common form of sRGB profile) Decode Time + QCMS Xform 1.28 ms QCMS Xform Only 0.495 ms Decode Time + Skia Opt Xform 1.01 ms Skia Opt Xform Only 0.235 ms Decode Time + Xform Speed-up 1.27x Xform Only Speed-up 2.11x FWIW, Skia xform time before these optimizations was 41.1 ms. But we expected that code to be slow. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046013002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2046013002
* Use faster case for on tile sampling, and a little clean up. This has been a ↵Gravatar herb2016-06-08
| | | | | | | | | | | sampling bug and so was bypassed using "false &&". Found the sampling bug and added the case back in. Remove long commented out code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044373003 Review-Url: https://codereview.chromium.org/2044373003
* Add GpuCommandBuffer support.Gravatar egdaniel2016-06-08
| | | | | | | | | | | | | | | Currently this is not actually hooked into the system. To give some context, in a follow up CL I'll add this to GrDrawTarget. For this I will move the gpu onDraw command to the GpuCommandBuffer as well. For GL this will end up just being a pass through to a non virtual draw(...) on GrGLGpu, and for vulkan it will mostly do what it currently does but adding commands to the secondary command buffer instead. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038583002 Review-Url: https://codereview.chromium.org/2038583002
* Fix mipmap generation on Nexus 5x & 6p devices.Gravatar brianosman2016-06-08
| | | | | | | | | | Just like copyImage, these want the Z range of blit regions to be [0, 1], even for 2D resources where Z should be ignored. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039913007 Review-Url: https://codereview.chromium.org/2039913007
* Replace targetHasUnifiedMultisampling in GrPB constructorGravatar csmartdalton2016-06-08
| | | | | | | | | | | | Replaces targetHasUnifiedMultisampling with a simpler "useHWAA". Now the code that creates a pipeline builder needs to decide on its own whether it should enable multisampling, rather than relying on the builder to try and guess. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041283002 Review-Url: https://codereview.chromium.org/2041283002
* When setting up a copySurface dst texture make the orientation match the src ↵Gravatar bsalomon2016-06-08
| | | | | | | | | when glBlitFramebuffer requires it BUG=chromium:618122 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049753002 Review-Url: https://codereview.chromium.org/2049753002
* Fix instances where hwaa was wrong for mixed samplesGravatar csmartdalton2016-06-08
| | | | | | | | | | | Fixes a bug with coverage-AA hairlines where hwaa was unintentionally enabled for mixed samples, and a bug with path stenciling where hwaa was unintentionally disabled for mixed samples. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043203004 Review-Url: https://codereview.chromium.org/2043203004
* Handle single pixel case on tiled.Gravatar herb2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041813004 Review-Url: https://codereview.chromium.org/2041813004
* Subclass GrVkCommandBuffer into Primary and Secondary CommandBuffers.Gravatar egdaniel2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2019723002 Review-Url: https://codereview.chromium.org/2019723002
* Add support for finding/creating general GrVkRenderPass from the ↵Gravatar egdaniel2016-06-08
| | | | | | | | | VkResourceProvider. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035853002 Review-Url: https://codereview.chromium.org/2035853002
* fix pathops fuzz bugsGravatar caryclark2016-06-08
| | | | | | | | | | | | | | | | | | | Fail out in a couple of new places when the input data is very large and exceeds the limits of the pathops machinery. Most of the change here plumbs in a way to exclude an assert in one of these exceptional cases. The current SkAddIntersection implementation and the inner functions it calls has no way to report an error to the root caller for an early exit, so rather than add that in, exclude the assert when the test that would trigger it runs (allowing the test to otherwise ensure that it properly fails). TBR=reed@google.com BUG=617586,617635 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046713003 Review-Url: https://codereview.chromium.org/2046713003