aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* DM::PDFSink::draw excercises multi-page pdfGravatar halcanary2015-01-28
| | | | | | BUG=skia:3365 Review URL: https://codereview.chromium.org/881343002
* add more checks for computing clamp counts, remove dead codeGravatar reed2015-01-28
| | | | | | BUG=448299 Review URL: https://codereview.chromium.org/886473003
* Fix wrapped content keys for npot textures.Gravatar bsalomon2015-01-28
| | | | Review URL: https://codereview.chromium.org/879193002
* Fold gmtoskp into DM, as --src gm --config skp.Gravatar mtklein2015-01-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/885733002
* DM::SKPSrc::size() reports correct size.Gravatar mtklein2015-01-28
| | | | | | | | | | | | | Also, DM::GPUSink and DM::RasterSink crop DM::Src::size() to 2048x2048. Motivation: Improve PDF testing by printing the entire SKP. Source: http://crrev.com/863243004 BUG=skia:3365 Review URL: https://codereview.chromium.org/863243005
* dstread gmGravatar joshualitt2015-01-28
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/883053002
* Add a flag to flush the canvases during SkMultiPictureDraw::draw().Gravatar senorblanco2015-01-28
| | | | | | | | | | This is necessary for multisampling, so that each multisampled render target resolves before Chrome's compositor attempts to draw the texture. BUG=skia: Review URL: https://codereview.chromium.org/878653004
* Conservative SkTextBlob bounds.Gravatar fmalita2015-01-28
| | | | | | | | | | Compute cheaper/more conservative text blob bounds based on the typeface maximum glyph bbox. BUG=chromium:451401 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/886473002
* Update SKP versionGravatar skia.buildbots2015-01-28
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/879203002
* Add a script to fetch the latest SKPs.Gravatar mtklein2015-01-28
| | | | | | | | | I keep forgetting how best to do this. NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/880283002
* add a paranoid assertGravatar mtklein2015-01-28
| | | | | | | | NOTREECHECKS=true BUG=chromium:399842 Review URL: https://codereview.chromium.org/881253003
* Revert of GrBatchPrototype (patchset #32 id:630001 of ↵Gravatar joshualitt2015-01-28
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/845103005/) Reason for revert: One last try to fix mac perf regression Original issue's description: > GrBatchPrototype > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 > > Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198 TBR=bsalomon@google.com,kkinnunen@nvidia.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/877393002
* whitespaceGravatar joshualitt2015-01-27
| | | | | | | | | NOTREECHECKS=True NOTRY=True TBR= BUG=skia: Review URL: https://codereview.chromium.org/885443003
* Revert of patch from issue 885453002 at patchset 20001 ↵Gravatar mtklein2015-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (http://crrev.com/885453002#ps20001) (patchset #1 id:1 of https://codereview.chromium.org/881953002/) Reason for revert: ==32435==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x621000d8cd00 Lots of info here: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1198/steps/dm/logs/stdio Original issue's description: > patch from issue 885453002 at patchset 20001 (http://crrev.com/885453002#ps20001) > > Make the char cache dynamic in SkGlyphCache > because it is rarely used. > > Landing on behalf of Herb. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/95faa61d63a6f62916f6f7be58c4624da8357e3b TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/881023003
* GrBatchPrototypeGravatar joshualitt2015-01-27
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 Review URL: https://codereview.chromium.org/845103005
* patch from issue 885453002 at patchset 20001 ↵Gravatar mtklein2015-01-27
| | | | | | | | | | | | | (http://crrev.com/885453002#ps20001) Make the char cache dynamic in SkGlyphCache because it is rarely used. Landing on behalf of Herb. BUG=skia: Review URL: https://codereview.chromium.org/881953002
* add -r to DMGravatar mtklein2015-01-27
| | | | | | | | | $ out/Debug/dm -w good $ out/Debug/dm -r good -w bad && echo "hooray no diffs!" BUG=skia: Review URL: https://codereview.chromium.org/863093003
* SSE4 opaque blend using intrinsics instead of assembly.Gravatar mtklein2015-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we had such a hard time with the assembly versions of this blit (to the point that we have them completely disabled everywhere), I thought I'd take a shot at writing a version of the blit using intrinsics. The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*) to skip the blend when the 16 src pixels we consider each loop are all opaque or all transparent. _mm_shuffle_epi8 from SSSE3 also lends a hand to extract all those alphas. It's worth looking to see if we can backport this type of logic to SSE2 using _mm_movemask_epi8, or up to 32 pixels at a time using AVX. My local performance testing doesn't show this to be an unambiguous win (there are probably microbenchmarks and SKPs where we'd be better off just powering through the blend rather than looking at alphas), but the potential does seem tantalizing enough to let skiaperf vet it on the bots. (< 1.0x is a win.) DM says it draws pixel perfect compare to the old code. Microbenchmarks: bitmap_RGBA_8888_A_source_stripes_two 14us -> 14.4us 1.03x bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp 102us -> 101us 0.99x bitmap_RGBA_8888_scale_rotate_bilerp 103us -> 101us 0.99x bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x bitmap_RGBA_8888_A_scale_rotate_bicubic 71us -> 70us 0.99x bitmap_RGBA_8888_update_scale_rotate_bilerp 103us -> 101us 0.99x bitmap_RGBA_8888_A_scale_rotate_bilerp 112us -> 109us 0.98x bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x bitmap_RGBA_8888 5.73us -> 5.58us 0.97x bitmap_RGBA_8888_update 5.78us -> 5.6us 0.97x bitmap_RGBA_8888_A_scale_bilerp 70.7us -> 68us 0.96x bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x bitmap_RGBA_8888_A_source_opaque 14us -> 6.29us 0.45x bitmap_RGBA_8888_A_source_transparent 14us -> 3.65us 0.26x Running over our ~70 SKP web page captures, this looks like we spend 0.7x the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should be a decent predictor of real-world impact. BUG=chromium:399842 Committed: https://skia.googlesource.com/skia/+/04bc91b972417038fecfa87c484771eac2b9b785 CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot Review URL: https://codereview.chromium.org/874863002
* Remove unused methods from SkScalerContext.Gravatar bungeman2015-01-27
| | | | | | | | | | The methods getLocalMatrixWithoutTextSize and getSingleMatrixWithoutTextSize on SkScalerContext were added as a temporary measure for CoreText issues. Now that the CoreText SkScalerContext is using other means to fix these issues more completely, remove these now unused methods. Review URL: https://codereview.chromium.org/883833002
* SkFontHost_FreeType takes advantage of SkStreamAsset.Gravatar bungeman2015-01-27
| | | | | | | With recent changes, SkTypeface now deals in SkStreamAsset instead of SkStream. Take advantage of this for performance with FreeType. Review URL: https://codereview.chromium.org/882763002
* Fix GPU resource cache related assertions.Gravatar bsalomon2015-01-27
| | | | Review URL: https://codereview.chromium.org/879963003
* Setup Android framework builds to use the appropriate shared lib defines.Gravatar djsollen2015-01-27
| | | | Review URL: https://codereview.chromium.org/864043005
* sk_tool_utils::draw_checkerboard uses SkXfermode::kSrc_Mode to fix valgrind ↵Gravatar halcanary2015-01-27
| | | | | | error. Review URL: https://codereview.chromium.org/877103002
* Use highp for distance field texture coordinates.Gravatar jvanverth2015-01-27
| | | | | | | | Addresses issues with wavy text (probably due to low-precision aliasing) BUG=429080 Review URL: https://codereview.chromium.org/879603003
* fix gm to not rely on SkColor's swizzle == SkPMColor'sGravatar reed2015-01-27
| | | | | | BUG=skia:3361 Review URL: https://codereview.chromium.org/873983009
* Revert of GrBatchPrototype (patchset #30 id:570001 of ↵Gravatar joshualitt2015-01-27
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/845103005/) Reason for revert: creates large performance regression Original issue's description: > GrBatchPrototype > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4 TBR=bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/862823004
* Add ClipDrawMatch SampleApp slideGravatar robertphillips2015-01-27
| | | | | | | | This slide can be used to find and diagnose discrepancies between BW clipping and drawing. BUG=skia:423834 Review URL: https://codereview.chromium.org/872363003
* SkTypeface to use SkStreamAsset.Gravatar bungeman2015-01-27
| | | | | | | SkTypeface already requires typeface streams to support SkStreamAsset in practice, and in practice all users are already supplying them. Review URL: https://codereview.chromium.org/869763002
* speedup mipmap buildingGravatar reed2015-01-27
| | | | | | | | | | | mipmap_build benchmark: before: 3.36ms after: 2.20ms BUG=skia: Review URL: https://codereview.chromium.org/873393002
* Make stencil buffers uncached for uncached render target texturesGravatar kkinnunen2015-01-27
| | | | | | | | | | | | | | | Make new stencil buffers of uncached render target textures not affect the cache budgets. This is consistent with render buffer storage of uncached render target textures. Affects only newly created stencil buffers. An uncached render target might still receive a cached stencil buffer if such is available from cache. BUG=skia:3119 BUG=skia:3301 Review URL: https://codereview.chromium.org/859013002
* Update SKP versionGravatar skia.buildbots2015-01-26
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/882613002
* Split src/opts source lists out of opts.gyp.Gravatar mtklein2015-01-26
| | | | | | | | | | | | | This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN. BUG=skia: Landing this without review as a mega-tryjob. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/c98fe3aa4f8c97c462c0eb6d9106fc37e48d7f82 Review URL: https://codereview.chromium.org/870353003
* Revert of Split src/opts source lists out of opts.gyp. (patchset #1 id:1 of ↵Gravatar mtklein2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/870353003/) Reason for revert: Android Makefiles broken Original issue's description: > Split src/opts source lists out of opts.gyp. > > This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN. > > BUG=skia: > > Landing this without review as a mega-tryjob. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/c98fe3aa4f8c97c462c0eb6d9106fc37e48d7f82 TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/880783002
* Split src/opts source lists out of opts.gyp.Gravatar mtklein2015-01-26
| | | | | | | | | | | This should make it easier to keep our opts.gyp in sync with Chrome's GYP and GN. BUG=skia: Landing this without review as a mega-tryjob. TBR=reed@google.com Review URL: https://codereview.chromium.org/870353003
* Revert of SSE4 opaque blend using intrinsics instead of assembly. (patchset ↵Gravatar bungeman2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #14 id:260001 of https://codereview.chromium.org/874863002/) Reason for revert: This kills Mac 10.6 bots. FAILED: c++ -MMD -MF obj/src/opts/opts_sse4.SkBlitRow_opts_SSE4.o.d -DSK_INTERNAL -DSK_GAMMA_SRGB -DSK_GAMMA_APPLY_TO_A8 -DSK_SCALAR_TO_FLOAT_EXCLUDED -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1 -DSK_SUPPORT_GPU=1 -DSK_SUPPORT_OPENCL=0 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_BUILD_FOR_MAC -DSK_CRASH_HANDLER -DSK_DEVELOPER=1 -I../../src/core -I../../src/utils -I../../include/c -I../../include/config -I../../include/core -I../../include/pathops -I../../include/pipe -I../../include/utils/mac -I../../include/effects -O0 -gdwarf-2 -mmacosx-version-min=10.6 -arch x86_64 -mssse3 -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wno-unused-parameter -Wno-invalid-offsetof -msse4.1 -c ../../src/opts/SkBlitRow_opts_SSE4.cpp -o obj/src/opts/opts_sse4.SkBlitRow_opts_SSE4.o ../../src/opts/SkBlitRow_opts_SSE4.cpp:15:27: warning: x86intrin.h: No such file or directory ../../src/opts/SkBlitRow_opts_SSE4.cpp: In function 'void S32A_Opaque_BlitRow32_SSE4(SkPMColor*, const SkPMColor*, int, U8CPU)': ../../src/opts/SkBlitRow_opts_SSE4.cpp:40: error: '_mm_testz_si128' was not declared in this scope ../../src/opts/SkBlitRow_opts_SSE4.cpp:45: error: '_mm_testc_si128' was not declared in this scope Original issue's description: > SSE4 opaque blend using intrinsics instead of assembly. > > Since we had such a hard time with the assembly versions of this blit (to the > point that we have them completely disabled everywhere), I thought I'd take > a shot at writing a version of the blit using intrinsics. > > The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*) > to skip the blend when the 16 src pixels we consider each loop are all opaque > or all transparent. _mm_shuffle_epi8 from SSSE3 also lends a hand to extract > all those alphas. > > It's worth looking to see if we can backport this type of logic to SSE2 using > _mm_movemask_epi8, or up to 32 pixels at a time using AVX. > > My local performance testing doesn't show this to be an unambiguous win > (there are probably microbenchmarks and SKPs where we'd be better off just > powering through the blend rather than looking at alphas), but the potential > does seem tantalizing enough to let skiaperf vet it on the bots. (< 1.0x is a win.) > > DM says it draws pixel perfect compare to the old code. > > Microbenchmarks: > bitmap_RGBA_8888_A_source_stripes_two 14us -> 14.4us 1.03x > bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x > bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x > bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp 102us -> 101us 0.99x > bitmap_RGBA_8888_scale_rotate_bilerp 103us -> 101us 0.99x > bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x > bitmap_RGBA_8888_A_scale_rotate_bicubic 71us -> 70us 0.99x > bitmap_RGBA_8888_update_scale_rotate_bilerp 103us -> 101us 0.99x > bitmap_RGBA_8888_A_scale_rotate_bilerp 112us -> 109us 0.98x > bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x > bitmap_RGBA_8888 5.73us -> 5.58us 0.97x > bitmap_RGBA_8888_update 5.78us -> 5.6us 0.97x > bitmap_RGBA_8888_A_scale_bilerp 70.7us -> 68us 0.96x > bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x > bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x > bitmap_RGBA_8888_A_source_opaque 14us -> 6.29us 0.45x > bitmap_RGBA_8888_A_source_transparent 14us -> 3.65us 0.26x > > Running over our ~70 SKP web page captures, this looks like we spend 0.7x > the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should > be a decent predictor of real-world impact. > > BUG=chromium:399842 > > Committed: https://skia.googlesource.com/skia/+/04bc91b972417038fecfa87c484771eac2b9b785 TBR=henrik.smiding@intel.com,mtklein@google.com,herb@google.com,reed@google.com,thakis@chromium.org,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:399842 Review URL: https://codereview.chromium.org/874033004
* Add sbix font to coloremoji gm.Gravatar bungeman2015-01-26
| | | | Review URL: https://codereview.chromium.org/797043002
* SSE4 opaque blend using intrinsics instead of assembly.Gravatar mtklein2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we had such a hard time with the assembly versions of this blit (to the point that we have them completely disabled everywhere), I thought I'd take a shot at writing a version of the blit using intrinsics. The key feature of SSE4 we're exploiting is that we can use ptest (_mm_test*) to skip the blend when the 16 src pixels we consider each loop are all opaque or all transparent. _mm_shuffle_epi8 from SSSE3 also lends a hand to extract all those alphas. It's worth looking to see if we can backport this type of logic to SSE2 using _mm_movemask_epi8, or up to 32 pixels at a time using AVX. My local performance testing doesn't show this to be an unambiguous win (there are probably microbenchmarks and SKPs where we'd be better off just powering through the blend rather than looking at alphas), but the potential does seem tantalizing enough to let skiaperf vet it on the bots. (< 1.0x is a win.) DM says it draws pixel perfect compare to the old code. Microbenchmarks: bitmap_RGBA_8888_A_source_stripes_two 14us -> 14.4us 1.03x bitmap_RGBA_8888_A_source_stripes_three 14.3us -> 14.5us 1.01x bitmap_RGBA_8888_scale_bilerp 61.9us -> 62.2us 1.01x bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp 102us -> 101us 0.99x bitmap_RGBA_8888_scale_rotate_bilerp 103us -> 101us 0.99x bitmap_RGBA_8888_scale 18.4us -> 18.2us 0.99x bitmap_RGBA_8888_A_scale_rotate_bicubic 71us -> 70us 0.99x bitmap_RGBA_8888_update_scale_rotate_bilerp 103us -> 101us 0.99x bitmap_RGBA_8888_A_scale_rotate_bilerp 112us -> 109us 0.98x bitmap_RGBA_8888_update_volatile 5.72us -> 5.58us 0.98x bitmap_RGBA_8888 5.73us -> 5.58us 0.97x bitmap_RGBA_8888_update 5.78us -> 5.6us 0.97x bitmap_RGBA_8888_A_scale_bilerp 70.7us -> 68us 0.96x bitmap_RGBA_8888_A_scale_bicubic 23.7us -> 21.8us 0.92x bitmap_RGBA_8888_A 13.9us -> 10.9us 0.78x bitmap_RGBA_8888_A_source_opaque 14us -> 6.29us 0.45x bitmap_RGBA_8888_A_source_transparent 14us -> 3.65us 0.26x Running over our ~70 SKP web page captures, this looks like we spend 0.7x the time in S32A_Opaque_BlitRow compared to the SSE2 version, which should be a decent predictor of real-world impact. BUG=chromium:399842 Review URL: https://codereview.chromium.org/874863002
* site/dev/contrib/directory <= https://status.skia.org/Gravatar halcanary2015-01-26
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/876873002
* GrBatchPrototypeGravatar joshualitt2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/845103005
* Remove clear function from SkGPipeGravatar derekf2015-01-26
| | | | | | Clear no longer exists. (It's now a drawPaint call) Review URL: https://codereview.chromium.org/881563002
* s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/Gravatar halcanary2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/873333004
* site/dev/contrib/revert formatting and detailsGravatar halcanary2015-01-26
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/873483004
* add bench for building mipmapsGravatar reed2015-01-26
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/873293003
* Fix Morphology effects sourcing outside of the crop rect.Gravatar cwallez2015-01-26
| | | | | | | | BUG=skia:1766 Committed: https://skia.googlesource.com/skia/+/f6be925b5615f07039ce95c3433039694a8d1679 Review URL: https://codereview.chromium.org/781153002
* discard scratch render targets when they are recycled.Gravatar bsalomon2015-01-26
| | | | Review URL: https://codereview.chromium.org/871373007
* Alter gpu vetoGravatar robertphillips2015-01-26
| | | | | | | | | | | | | | | | This CL unifies the treatment of the dashed and concave paths. Before: TP 28 FP 15 TN 8 FN 3 IND 3 After: TP 28 FP 18 TN 7 FN 2 IND 2 One of the TrueNegatives that became a FalsePositive was the motivation use case (the Chromium busy spinner). Committed: https://skia.googlesource.com/skia/+/87a6a8e18c7d5bbc94f478b44c53dc0e0549f927 Review URL: https://codereview.chromium.org/875913002
* check effective cache-size for fixed-budget cachesGravatar reed2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/876743002
* Factor out checkerboard function in gm and sampleapp into tools.Gravatar halcanary2015-01-26
| | | | Review URL: https://codereview.chromium.org/834303005
* prettify site/user/sample/helloGravatar halcanary2015-01-26
| | | | | | | NOTRY=true TBR=jcgregorio@google.com Review URL: https://codereview.chromium.org/874303002
* Stop incorrectly setting the clip bit in GrCMMGravatar bsalomon2015-01-26
| | | | Review URL: https://codereview.chromium.org/866403005