aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* 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
* Collapse consecutive SkTableColorFiltersGravatar cwallez2015-01-26
| | | | | | | | | | | BUG=skia:1366 For the added bench, the collapsing makes the bench take: - 70% of the time for CPU rendering of 3 consecutive matrix filters - almost no change in the GPU rendering of the matrix filters - 50% of the time for CPU and GPU rendering of 3 consecutive table filters Review URL: https://codereview.chromium.org/776673002
* prettify site/dev/design/pdftheoryGravatar halcanary2015-01-26
| | | | | | | NOTRY=true TBR=jcgregorio@google.com Review URL: https://codereview.chromium.org/868473006
* Add docs on how to get a preview of markdown pages.Gravatar jcgregorio2015-01-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/878593002
* https://fiddle.skia.org/Gravatar halcanary2015-01-26
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/868473005
* Don't do a pointless << 0.Gravatar mtklein2015-01-26
| | | | | | | | | | It's very common (universal?) that alpha is the top byte. You'd hope the compiler would remove the left shift then, but I've seen Clang just do a dumb left shift of zero. :( BUG=skia: Review URL: https://codereview.chromium.org/872243003
* Revert of Alter gpu veto (patchset #1 id:1 of ↵Gravatar robertphillips2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/875913002/) Reason for revert: Failing tests Original issue's description: > Alter gpu veto > > 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 TBR=egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/879483003
* Fix Chrome buildGravatar robertphillips2015-01-26
| | | | | | | | | | Switch SkShader's toString method to not be pure virtual due to derived classes in Chromium TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/875043002
* 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). Review URL: https://codereview.chromium.org/875913002
* Update references to skiaperf.com.Gravatar tfarina2015-01-26
| | | | | | | | | The new server is being run in perf.skia.org. BUG=None R=jcgregorio@google.com Review URL: https://codereview.chromium.org/866943003
* Add patheffects to debugger printoutGravatar robertphillips2015-01-26
| | | | | | TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/872043002
* Fix Windows buildGravatar robertphillips2015-01-26
| | | | | | | | TBR=jvanverth@google.com NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/876643002
* Fold alpha to the inner savelayer in savelayer-savelayer-restore patternsGravatar kkinnunen2015-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns such as this: SaveLayer (non-opaque) Save ClipRect SaveLayer Restore Restore Restore Current blink generates these for example for SVG content such as this: <path style="opacity:0.5 filter:url(#blur_filter)"/> The outer save layer is due to the opacity and the inner one is due to blur filter being implemented with picture image filter. Reduces layers in desk_carsvg.skp testcase from 115 to 78. BUG=skia:3119 Review URL: https://codereview.chromium.org/835973005
* Update SKP versionGravatar skia.buildbots2015-01-25
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/873163002
* initial preroll apiGravatar reed2015-01-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/855473002
* Update SKP versionGravatar skia.buildbots2015-01-24
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/870353002
* experimental/skp_to_pdf_md5 optionally also outputs pdf filesGravatar halcanary2015-01-24
| | | | | | TBR=mtklein@google.com Review URL: https://codereview.chromium.org/868333002
* Don't leak image in Surface test.Gravatar mtklein2015-01-24
| | | | | | | | | | | | | | | | | | | | | | ==7023== 5,056 (896 direct, 4,160 indirect) bytes in 8 blocks are definitely lost in loss record 947 of 2,656 ==7023== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7023== by 0x82CB99: SkNewImageFromBitmapTexture(SkBitmap const&, int, SkSurface::Budgeted) (SkImage_Gpu.cpp:64) ==7023== by 0x81A1CF: SkSurface_Gpu::onNewImageSnapshot(SkSurface::Budgeted) (SkSurface_Gpu.cpp:50) ==7023== by 0x694F9D: SkSurface::newImageSnapshot(SkSurface::Budgeted) (SkSurface_Base.h:92) ==7023== by 0x55EA7C: test_Surface(skiatest::Reporter*, GrContextFactory*) (SurfaceTest.cpp:485) ==7023== by 0x407CB2: run_test(skiatest::Test*) (DM.cpp:399) ==7023== by 0x408382: run_enclave_and_gpu_tests(SkTArray<Task, false>*) (DM.cpp:411) ==7023== by 0x68B71E: SkTaskGroup::wait() (SkTaskGroup.cpp:67) ==7023== by 0x40934E: dm_main() (DM.cpp:455) ==7023== by 0x409483: main (DM.cpp:477) http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/276/steps/dm/logs/stdio TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/872183002
* Update SKP versionGravatar skia.buildbots2015-01-23
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/871143002
* a typo in SkResourceCacheTestGravatar yunchao.he2015-01-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/868613002
* Revert of Fix Morphology effects sourcing outside of the crop rect. ↵Gravatar mtklein2015-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/781153002/) Reason for revert: Looks like this is causing memory leaks: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1155/steps/dm/logs/stdio And causing crashes on Mac 10.6: http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug/builds/1417/steps/dm/logs/stdio Original issue's description: > Fix Morphology effects sourcing outside of the crop rect. > > BUG=skia:1766 > > Committed: https://skia.googlesource.com/skia/+/f6be925b5615f07039ce95c3433039694a8d1679 TBR=junov@google.com,junov@chromium.org,bsalomon@google.com,reed@google.com,cwallez@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:1766 Review URL: https://codereview.chromium.org/868973005
* Cleanup: Delete buildbot_globals.py script.Gravatar tfarina2015-01-23
| | | | | | | | | | | | rebaseline_server was the only user of this code but it was removed in https://chromium.googlesource.com/skia/+/3886046f008f0542de36cbeb35e220404e7c88a9 So there aren't more users of this script and we can remove it now. BUG=skia:3200 R=borenet@google.com Review URL: https://codereview.chromium.org/873593005
* Fix Morphology effects sourcing outside of the crop rect.Gravatar cwallez2015-01-23
| | | | | | BUG=skia:1766 Review URL: https://codereview.chromium.org/781153002
* Zap the scratch key on non-RT textures when scratch textures are disabled.Gravatar bsalomon2015-01-23
| | | | Review URL: https://codereview.chromium.org/870103002
* Fix the speeling of "purgeable" in Gr codeGravatar bsalomon2015-01-23
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/874693002
* Cleanup SkPDFObject::emit*Gravatar halcanary2015-01-23
| | | | Review URL: https://codereview.chromium.org/869783003
* remove unused GM flagsGravatar mtklein2015-01-23
| | | | | | | | | | Depends on https://codereview.chromium.org/873753002/ Thumbs up to CLion for refactoring this for me. BUG=skia: Review URL: https://codereview.chromium.org/867963004
* Remove deprecated SkSurface::NewRenderTarget factoriesGravatar bsalomon2015-01-23
| | | | Review URL: https://codereview.chromium.org/837723008