aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Separate out natively-texture image/bmp draws from cached-as-texture ↵Gravatar bsalomon2015-11-09
| | | | | | | | image/bmp draws This makes texture-backed images and bitmaps down a new code path. It adds a pinch point via the texture adjuster that will be used to handle copied necessary for different texture targets. It also fixes bugs in the existing code exhibited by recent updates to the bleed GM. The plan is to move the the sw/generator-backed imgs/bmps on to this code path with future changes. Review URL: https://codereview.chromium.org/1424313010
* Fix compile error mac 10.8.Gravatar herb2015-11-09
| | | | | | | | The mac 10.8 compiler seems to get the constructor wrong. Remove the SkNoCopy. BUG=skia:4037 Review URL: https://codereview.chromium.org/1421863004
* Revert of Make SkBlurImageFilter capable of cropping during blur (GPU path). ↵Gravatar egdaniel2015-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #15 id:260001 of https://codereview.chromium.org/1431593002/ ) Reason for revert: Causing valgrind error. Looks like the issue is in conolve_gaussiand_2d where bounds is not getting set if there is no srcBounds, but later on that bounds is being read in the creation of a TextureDomain. Original issue's description: > Make SkBlurImageFilter capable of cropping during blur (GPU path). > > This is the GPU equivalent of https://codereview.chromium.org/1415653003/. > > It requires passing down the bounds of the crop rect (srcBounds), and > turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: > clear above and below srcBounds, blur with bounds checks inside left and > right rects, blur without bounds checks in middle rect. > > Note: this change causes minor pixels diffs in the > imagefilterscropexpand GM: for odd crop positions relative to the > dstBounds, we are now correctly resampling at an even pixel boundary. > > BUG=skia:4502, skia:4526 > > Committed: https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42 TBR=bsalomon@google.com,senorblanco@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4502, skia:4526 Review URL: https://codereview.chromium.org/1407133019
* SkPx: use namespaces as namespacesGravatar mtklein2015-11-09
| | | | | | | | | | This is a pure refactor. No behavior change. I'm just getting tired of typing out the names... BUG=skia:4117 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1436513002
* Extract the glyph picking and placing code.Gravatar herb2015-11-09
| | | | | | | | | | | | | | | There is a common piece of code which finds and positions glyphs and is used in four places. Some places copied the code, some places added callbacks. Here is a list of code: SkDraw::drawPosText GrAtlasTextContext::internalDrawBMPPosText GrAtlasTextContext::internalDrawDFPosText SkXPSDevice::drawPosText This only extracts the code from SkDraw::drawPosText. I would like to use it in the other three places. I think this code is performance neutral. BUG=skia: Review URL: https://codereview.chromium.org/1420973005
* Remove debug print statementGravatar egdaniel2015-11-09
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1410723005
* prune unused SkNx featuresGravatar mtklein2015-11-09
| | | | | | | | | | | | | | | - remove float -> int conversion, keeping float -> byte - remove support for doubles I was thinking of specializing Sk8f for AVX. This will help keep the complexity down. This may cause minor diffs in radial gradients: toBytes() rounds where castTrunc() truncated. But I don't see any diffs in Gold. https://gold.skia.org/search2?issue=1411563008&unt=true&query=source_type%3Dgm&master=false BUG=skia:4117 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1411563008
* sse 4.2 detectionGravatar mtklein2015-11-09
| | | | | | | | While we're detecting instruction sets, let's fill in this hole too. BUG=skia: Review URL: https://codereview.chromium.org/1419553007
* Revert of Change quality settings on SkImageDecoder_libjpeg (patchset #1 ↵Gravatar fmalita2015-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/1412803009/ ) Reason for revert: Valgrind failures: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/631/steps/nanobench/logs/stdio ==14022== Conditional jump or move depends on uninitialised value(s) ==14022== at 0x6A1DD6: S32A_Opaque_BlitRow32_SSE4(unsigned int*, unsigned int const*, int, unsigned int) (SkBlitRow_opts_SSE4.cpp:47) ==14022== by 0x5A7EEA: Sprite_D32_S32::blitRect(int, int, int, int) (SkSpriteBlitter_ARGB32.cpp:47) ==14022== by 0x57DD8A: SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitter*) (SkScan.cpp:15) ==14022== by 0x57DEDC: SkScan::FillIRect(SkIRect const&, SkRasterClip const&, SkBlitter*) (SkScan.cpp:73) ==14022== by 0x536072: SkDraw::drawBitmap(SkBitmap const&, SkMatrix const&, SkRect const*, SkPaint const&) const (SkDraw.cpp:1286) ==14022== by 0x59CC50: SkBitmapDevice::drawBitmap(SkDraw const&, SkBitmap const&, SkMatrix const&, SkPaint const&) (SkBitmapDevice.cpp:248) ==14022== by 0x52F0DC: SkBaseDevice::drawImage(SkDraw const&, SkImage const*, float, float, SkPaint const&) (SkDevice.cpp:150) ==14022== by 0x525139: SkCanvas::onDrawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:2180) ==14022== by 0x5279A0: SkCanvas::drawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:1864) ==14022== by 0x441C83: SKPBench::onPerCanvasPostDraw(SkCanvas*) (SKPBench.cpp:95) ==14022== by 0x40A3FF: Benchmark::perCanvasPostDraw(SkCanvas*) (Benchmark.cpp:53) ==14022== by 0x44C527: nanobench_main() (nanobench.cpp:1254) ==14022== by 0x44D1E6: main (nanobench.cpp:1344) ==14022== Uninitialised value was created by a heap allocation ==14022== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14022== by 0x602DAC: chromium_jpeg_get_large (jmemnobs.c:57) ==14022== by 0x602818: alloc_large (jmemmgr.c:376) ==14022== by 0x602A2E: alloc_sarray (jmemmgr.c:453) ==14022== by 0x614983: chromium_jinit_d_main_controller (jdmainct.c:450) ==14022== by 0x5FD3A0: chromium_jinit_master_decompress (jdmaster.c:577) ==14022== by 0x5F9198: chromium_jpeg_start_decompress (jdapistd.c:46) ==14022== by 0x680C22: SkJPEGImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode) (SkImageDecoder_libjpeg.cpp:575) ==14022== by 0x67BCE8: SkImageDecoder::decode(SkStream*, SkBitmap*, SkColorType, SkImageDecoder::Mode) (SkImageDecoder.cpp:138) ==14022== by 0x6845E3: SkImageDecoderGenerator::onGetPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator_skia.cpp:59) ==14022== by 0x53D4C7: SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator.cpp:40) ==14022== by 0x53D6DF: SkImageGenerator::tryGenerateBitmap(SkBitmap*, SkImageInfo const*, SkBitmap::Allocator*) (SkImageGenerator.cpp:179) ==14022== by 0x53D334: SkImageCacherator::generateBitmap(SkBitmap*) (SkImageGenerator.h:174) ==14022== by 0x53D3A1: SkImageCacherator::tryLockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:118) ==14022== by 0x53D3EA: SkImageCacherator::lockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:132) ==14022== by 0x58EDCF: SkImage_Generator::getROPixels(SkBitmap*) const (SkImage_Generator.cpp:59) ==14022== by 0x52F007: SkBaseDevice::drawImageRect(SkDraw const&, SkImage const*, SkRect const*, SkRect const&, SkPaint const&, SkCanvas::SrcRectConstraint) (SkDevice.cpp:159) ==14022== by 0x5255E0: SkCanvas::onDrawImageRect(SkImage const*, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:2209) ==14022== by 0x5279DC: SkCanvas::drawImageRect(SkImage const*, SkRect const&, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:1872) Original issue's description: > Change quality settings on SkImageDecoder_libjpeg > > It has been demonstrated that higher quality settings > really do make a difference in the visual quality of > the output image. > https://code.google.com/p/chromium/issues/detail?id=385515 > https://code.google.com/p/skia/issues/detail?id=3770 > > We are planning to replace SkImageDecoder with SkCodec, > and SkCodec will use the higher quality settings. As > a first step, we are using SkCodec as the underlying > implementation for BitmapRegionDecoder. CTS tests require > that BitmapRegionDecoder be a close match to BitmapFactory > (which uses SkImageDecoder), so we must also update the > quality of SkImageDecoder to maintain CTS compatibility. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903 TBR=scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1432863002
* Add text animation sample; tweak DrawShip sampleGravatar jvanverth2015-11-08
| | | | | | Committed: https://skia.googlesource.com/skia/+/3b484a40b3be7f0262afadeaf6b741ba5cedcfe1 Review URL: https://codereview.chromium.org/1410663005
* Comments Style: s/skbug.com/bug.skia.org/Gravatar halcanary2015-11-07
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1432503003 Review URL: https://codereview.chromium.org/1432503003
* avx and avx2 detectionGravatar mtklein2015-11-06
| | | | | | | | | | | | This doesn't do anything yet beyond print out a message in Debug mode, but it's a start. Those messages should match the -SSE4-, -AVX-, or -AVX2- in the Test-...-Debug-Trybots below. The Release ones are just running by accident. So far they look right to me. BUG=skia: Review URL: https://codereview.chromium.org/1428153003
* Revert of Add text animation sample; tweak DrawShip sample (patchset #3 ↵Gravatar jvanverth2015-11-06
| | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/1410663005/ ) Reason for revert: CrOS bots failing. Original issue's description: > Add text animation sample; tweak DrawShip sample > > Committed: https://skia.googlesource.com/skia/+/3b484a40b3be7f0262afadeaf6b741ba5cedcfe1 TBR=robertphillips@google.com,bsalomon@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1408063015
* Add text animation sample; tweak DrawShip sampleGravatar jvanverth2015-11-06
| | | | Review URL: https://codereview.chromium.org/1410663005
* SkPx: new approach to fixed-point SIMDGravatar mtklein2015-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkPx is like Sk4px, except each platform implementation of SkPx can declare a different sweet spot of N pixels, with extra loads and stores to handle the ragged edge of 0<n<N pixels. In this case, _sse's sweet spot remains 4 pixels. _neon jumps up to 8 so we can now use NEON's transposing loads and stores, and _none is just 1. This makes operations involving alpha considerably more efficient on NEON, as alpha is its own distinct 8x8 bit plane that's easy to toss around. This incorporates a few other improvements I've been wanting: - no requirement that we're dealing with SkPMColor. SkColor works too. - no anonymous namespace hack to differentiate implementations. Codegen and perf look good on Clang/x86-64 and GCC/ARMv7. The NEON code looks very similar to the old NEON code, as intended. No .skp or GM diffs on my laptop. Don't expect any. I intend this to replace Sk4px. Plan after landing: - port SkXfermode_opts.h - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other SkOpts code) - delete all Sk4px-related code - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.) leaving Sk2f, Sk4f (and Sk2s, Sk4s). - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels at a time. In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels. BUG=skia:4117 Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot Committed: https://skia.googlesource.com/skia/+/a7627dc5cc2bf5d9a95d883d20c40d477ecadadf Review URL: https://codereview.chromium.org/1317233005
* Clean up GrBatchAtlas a bitGravatar robertphillips2015-11-06
| | | | | | The main thrust of this CL is to remove knowledge of the atlas' backing texture from the BatchPlot. It also reduces the API surface of the BatchPlot and shrinks the amount of fields in the BatchAtlas. Review URL: https://codereview.chromium.org/1413403009
* Fix the build on Android devicesGravatar Matt Sarett2015-11-06
|
* Revert of SkPx: new approach to fixed-point SIMD (patchset #12 id:220001 of ↵Gravatar mtklein2015-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1317233005/ ) Reason for revert: master-skia unhappy: https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/2404853/e6c439e806fb0bd0f872a3d7a5cf0637d4ad11bfaa89e9bc18b651dc65f0a36b/logs/build_error.log?GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=WOqQO7xHkv83SmC4h5tNUIp%2BREaYULqK11hNTWlhj1XXo0NAOQd7GNSIHl775uRRZpBw2LkHeb2Ups3LsgRPrldqymposFtDa%2BUEW0Jv2NWAr%2F1Cqt6lwWsfknvJLN9NiEGfpCCye3Q%2FEYx9bU1ozMBG6h2DRHJUMRS%2FjstkJg0%3D&Expires=1446838937 Original issue's description: > SkPx: new approach to fixed-point SIMD > > SkPx is like Sk4px, except each platform implementation of SkPx can declare > a different sweet spot of N pixels, with extra loads and stores to handle the > ragged edge of 0<n<N pixels. > > In this case, _sse's sweet spot remains 4 pixels. _neon jumps up to 8 so > we can now use NEON's transposing loads and stores, and _none is just 1. > This makes operations involving alpha considerably more efficient on NEON, > as alpha is its own distinct 8x8 bit plane that's easy to toss around. > > This incorporates a few other improvements I've been wanting: > - no requirement that we're dealing with SkPMColor. SkColor works too. > - no anonymous namespace hack to differentiate implementations. > > Codegen and perf look good on Clang/x86-64 and GCC/ARMv7. > The NEON code looks very similar to the old NEON code, as intended. > No .skp or GM diffs on my laptop. Don't expect any. > > I intend this to replace Sk4px. Plan after landing: > - port SkXfermode_opts.h > - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other > SkOpts code) > - delete all Sk4px-related code > - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.) > leaving Sk2f, Sk4f (and Sk2s, Sk4s). > - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels > at a time. > > In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels. > > BUG=skia:4117 > > Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9 > > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot > > Committed: https://skia.googlesource.com/skia/+/a7627dc5cc2bf5d9a95d883d20c40d477ecadadf TBR=msarett@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4117 Review URL: https://codereview.chromium.org/1409843005
* Remove dependencies on Android's forked decoder librariesGravatar msarett2015-11-06
| | | | | | | | | | | Disable SkImageDecoder's code which relies on Android's customized libpng and libjpeg. Build standard versions of libpng and libjpeg-turbo everywhere. The SkImageDecoder code has been replaced with SkCodec, which can decode subsets using standard library APIs BUG=skia: Review URL: https://codereview.chromium.org/1406153015
* Change quality settings on SkImageDecoder_libjpegGravatar msarett2015-11-06
| | | | | | | | | | | | | | | | | | | | It has been demonstrated that higher quality settings really do make a difference in the visual quality of the output image. https://code.google.com/p/chromium/issues/detail?id=385515 https://code.google.com/p/skia/issues/detail?id=3770 We are planning to replace SkImageDecoder with SkCodec, and SkCodec will use the higher quality settings. As a first step, we are using SkCodec as the underlying implementation for BitmapRegionDecoder. CTS tests require that BitmapRegionDecoder be a close match to BitmapFactory (which uses SkImageDecoder), so we must also update the quality of SkImageDecoder to maintain CTS compatibility. BUG=skia: Review URL: https://codereview.chromium.org/1412803009
* SkPx: new approach to fixed-point SIMDGravatar mtklein2015-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkPx is like Sk4px, except each platform implementation of SkPx can declare a different sweet spot of N pixels, with extra loads and stores to handle the ragged edge of 0<n<N pixels. In this case, _sse's sweet spot remains 4 pixels. _neon jumps up to 8 so we can now use NEON's transposing loads and stores, and _none is just 1. This makes operations involving alpha considerably more efficient on NEON, as alpha is its own distinct 8x8 bit plane that's easy to toss around. This incorporates a few other improvements I've been wanting: - no requirement that we're dealing with SkPMColor. SkColor works too. - no anonymous namespace hack to differentiate implementations. Codegen and perf look good on Clang/x86-64 and GCC/ARMv7. The NEON code looks very similar to the old NEON code, as intended. No .skp or GM diffs on my laptop. Don't expect any. I intend this to replace Sk4px. Plan after landing: - port SkXfermode_opts.h - port Color32 in SkBlitRow_D32.cpp (and move to SkBlitRow_opts.h like other SkOpts code) - delete all Sk4px-related code - clean up evolutionary dead ends in SkNx (Sk16b, Sk16h, Sk4i, Sk4d, etc.) leaving Sk2f, Sk4f (and Sk2s, Sk4s). - find a machine with AVX2 to work on, write SkPx_avx2.h handling 8 pixels at a time. In the end we'll have Sk4f for float pixels, SkPx for fixed-point pixels. BUG=skia:4117 Committed: https://skia.googlesource.com/skia/+/82c93b45ed6ac0b628adb8375389c202d1f586f9 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot Review URL: https://codereview.chromium.org/1317233005
* SkPDF: images support 32-but-not-N32 colortypeGravatar halcanary2015-11-06
| | | | | | BUG=550559 Review URL: https://codereview.chromium.org/1407063005
* Loosen requirements for mixed samples supportGravatar cdalton2015-11-06
| | | | | | | | | | | | Quits requiring EXT_raster_multisample and NV_sample_mask_override_coverage for mixed samples support. This will allow platforms without those latter extensions (i.e. Chrome) to still use mixed samples for path rendering. Also moves the mixed samples cap out of shader caps, since it no longer denotes shader functionality. BUG=skia: Review URL: https://codereview.chromium.org/1410383011
* Add addFragPosUniform to GrGLrogramBuilderGravatar egdaniel2015-11-06
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1434483002
* Revert of Update Layer Hoisting to store its atlas texture in the resource ↵Gravatar robertphillips2015-11-06
| | | | | | | | | | | | | | | | | | | | | | cache (patchset #6 id:100001 of https://codereview.chromium.org/1406013006/ ) Reason for revert: Android Original issue's description: > Update Layer Hoisting to store its atlas texture in the resource cache > > BUG=skia:4346 > > Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4346 Review URL: https://codereview.chromium.org/1413483004
* Update Layer Hoisting to store its atlas texture in the resource cacheGravatar robertphillips2015-11-06
| | | | | | BUG=skia:4346 Review URL: https://codereview.chromium.org/1406013006
* Make SkBlurImageFilter capable of cropping during blur (GPU path).Gravatar senorblanco2015-11-05
| | | | | | | | | | | | | | | | | This is the GPU equivalent of https://codereview.chromium.org/1415653003/. It requires passing down the bounds of the crop rect (srcBounds), and turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: clear above and below srcBounds, blur with bounds checks inside left and right rects, blur without bounds checks in middle rect. Note: this change causes minor pixels diffs in the imagefilterscropexpand GM: for odd crop positions relative to the dstBounds, we are now correctly resampling at an even pixel boundary. BUG=skia:4502, skia:4526 Review URL: https://codereview.chromium.org/1431593002
* Wire up SDL on AndroidGravatar joshualitt2015-11-05
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/a4d3797c3b0f0cac8493c46cb334ca88a5d6ccf6 Review URL: https://codereview.chromium.org/1415453009
* Fix bug in sampled decodesGravatar msarett2015-11-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1417993006
* Revert of Wire up SDL on Android (patchset #4 id:60001 of ↵Gravatar joshualitt2015-11-05
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1415453009/ ) Reason for revert: breaks appurify Original issue's description: > Wire up SDL on Android > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/a4d3797c3b0f0cac8493c46cb334ca88a5d6ccf6 TBR=bsalomon@google.com,robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1410703009
* Rename non-aa rect methods on GrDrawContext in anticipation of making them ↵Gravatar bsalomon2015-11-05
| | | | | | | | support aa R=joshualitt@google.com Review URL: https://codereview.chromium.org/1409753008
* For non-opaque SkBitmapDevices, replace malloc-then-zero with calloc.Gravatar mtklein2015-11-05
| | | | | | | | | | | | | | | | | | | | | | There seem about a zillion possible ways to slice this. This adds and uses SkMallocPixelRef::ZeroedPRFactory. I'm not married to it. This appears to clear up a hot spot in the benchmark referenced in this bug: BUG=516426 I'm not confident enough on Windows to declare that definitively yet. It probably helps all other non-opaque layers too. Possibly significantly. So I don't forget, I profiled this: out/Release/performance_browser_tests.exe --gtest_filter=TabCapturePerformanceTest.Performance/2 --single-process No diffs: https://gold.skia.org/search2?issue=1430593007&unt=true&query=source_type%3Dgm&master=false TBR=reed@google.com Review URL: https://codereview.chromium.org/1430593007
* Make bicubic FP factories return const FPsGravatar bsalomon2015-11-05
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1413403008
* Wire up SDL on AndroidGravatar joshualitt2015-11-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1415453009
* Add ifdef guard around gpu-specific code in native windows window.Gravatar plesner2015-11-05
| | | | Review URL: https://codereview.chromium.org/1405963014
* Assert when running SampleApp with msaa 16 on Windows 10Gravatar aleksandar.stojiljkovic2015-11-05
| | | | | | | | | Trivial: skip calling SkWGLExtensions::selectFormat with 0 elements, and handle if called. BUG=4529 Review URL: https://codereview.chromium.org/1427583007
* Fix for atlas doesn't call eviction functionsGravatar joshualitt2015-11-05
| | | | | | | TBR= BUG=551094 Review URL: https://codereview.chromium.org/1412663011
* Create SDL backed SkOSWindowGravatar joshualitt2015-11-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1413593007
* Revert[4] of "stop using drawSprite (at least w/ no filters) as it is going ↵Gravatar reed2015-11-04
| | | | | | | | | | | | | away" This reverts commit 67b8b5e67a427382fed8c5d8b3c70a21ed2492c6. BUG=skia: TBR= Previous revert was due to faulty unittest (now fixed) -- unrelated to this CL. Review URL: https://codereview.chromium.org/1422703009
* SkRecord: text blobsGravatar mtklein2015-11-04
| | | | | | | | | | Other text as blobs to follow. https://gold.skia.org/search2?issue=1417703009&unt=true&query=source_type%3Dgm&master=false&include=true BUG=skia: Review URL: https://codereview.chromium.org/1417703009
* Avoid hang in OncePtr test with --threads 1Gravatar kkinnunen2015-11-04
| | | | | | | | | | | | | Avoid hang in OncePtr test when using "dm --threads 1". The test will hang the threads until sk_num_cores() threads have run the code. This requires that sk_num_cores() threads to be run in parallel, which the global thread pool will not do if the thread count is smaller than sk_num_cores(). BUG=skia: Review URL: https://codereview.chromium.org/1419593004
* Make AndroidOptions constGravatar scroggo2015-11-04
| | | | | | | | | Make the struct passed to SkAndroidCodec::getAndroidPixels const. This matches SkCodec, and makes sense, since it is not used as an output. Brought up in crrev.com/1417583009 Review URL: https://codereview.chromium.org/1411693005
* Create swizzle table inside of glsl capsGravatar egdaniel2015-11-04
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1 Review URL: https://codereview.chromium.org/1420033005
* Revert of Reland "By default purge resources that haven't been used for 64 ↵Gravatar bsalomon2015-11-03
| | | | | | | | | | | | | | | | | | | | | flushes (patchset #5 id:80001 of h… (patchset #1 id:1 of https://codereview.chromium.org/1428053003/ ) Reason for revert: Breaking the DEPS roller - again Original issue's description: > Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/1316233003/ )" > > TBR=robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/f7de08a52b5287cb16b2e89a8e3691676a4dbe5f TBR=robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1414693007
* Revert of Revert[2] of "stop using drawSprite (at least w/ no filters) as it ↵Gravatar reed2015-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | is going away" (patchset #1 id:1 of https://codereview.chromium.org/1410343011/ ) Reason for revert: failing on msaa Original issue's description: > Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away" > > Fixed assert in test that was calling GrRecordReplaceDraw(). That function now uses > drawBitmap, so updated the test to check for that (instead of drawSprite). > > This reverts commit 21b766347064837e6b78d600755901aad88cd6e0. > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/7b81994d95f10cda80ddb85af68a2651ff31782f TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1420053009
* Take mutex when calling into FreeType.Gravatar bungeman2015-11-03
| | | | | | | | | | | | SkScalerContext_FreeType::generateCharToGlyph and generateGlyphToChar do not take a mutex when calling into FreeType, but they need to. The setupSize method also requires the mutex to be locked, which is not a problem since it currently always is, but add a debug assert to ensure that it continues to be. BUG=chromium:542640 Review URL: https://codereview.chromium.org/1431683006
* Revert of Create swizzle table inside of glsl caps (patchset #12 id:210001 ↵Gravatar egdaniel2015-11-03
| | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1420033005/ ) Reason for revert: Breaking gm's on nexus7 and s3 Original issue's description: > Create swizzle table inside of glsl caps > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4036674952f341dab0695c3b054fefa5bb8cdec1 TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1426653008
* SkRemote: saveLayerGravatar mtklein2015-11-03
| | | | | | | | https://gold.skia.org/search2?issue=1432593002&unt=true&query=source_type%3Dgm&master=false&include=true BUG=skia: Review URL: https://codereview.chromium.org/1432593002
* Fix setColocatedSampleLocations on ES and GL < 4.5Gravatar cdalton2015-11-03
| | | | | | | | | Updates setColocatedSampleLocations to use glFramebufferParameteri when the DSA version glNamedFramebufferParameteri is not present. BUG=skia: Review URL: https://codereview.chromium.org/1415503008
* Create swizzle table inside of glsl capsGravatar egdaniel2015-11-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1420033005