| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1438003003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1437823004
|
|
|
|
|
|
| |
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/1433353005
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL:
moves the flushState
disables immediate mode (it was proving difficult to implement)
also moves the program unit test to the drawing manager
BUG=skia:4094
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1437843002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Xfermode_ColorDodge_aa 10.3ms -> 7.85ms 0.76x
Xfermode_SoftLight_aa 13.8ms -> 10.2ms 0.74x
Xfermode_ColorBurn_aa 10.7ms -> 7.82ms 0.73x
Xfermode_SoftLight 33.6ms -> 23.2ms 0.69x
Xfermode_ColorDodge 25ms -> 16.5ms 0.66x
Xfermode_ColorBurn 26.1ms -> 16.6ms 0.63x
Ought to be no pixel diffs:
https://gold.skia.org/search2?issue=1432903002&unt=true&query=source_type%3Dgm&master=false
Incidental stuff:
I made the SkNx(T) constructors implicit to make writing math expressions simpler.
This allows us to write expressions like
Sk4f v;
...
v = v*4;
rather than
Sk4f v;
...
v = v * Sk4f(4);
As written it only works when the constant is on the right-hand side,
so expressions like `(Sk4f(1) - da)` have to stay for now. I plan on
following up with a CL that lets those become `(1 - da)` too.
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/1432903002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1424173005
|
|
|
|
|
|
|
|
| |
Patched from internal cl/107515669 by rtrieu and added comments.
BUG=skia:2481
Review URL: https://codereview.chromium.org/1439483002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Review URL: https://codereview.chromium.org/1412803009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL still keeps the weird diamond shape we have for all our ProgramBuilders.
However, the GrGLSL base class will allow us to pull multiple other parts
of our program setup away from GL which will eventually allow us to break up
the diamond.
As part of this all ShaderBuilder subclass have been made gl independent,
however I will move them to GLSL files/class names in a follow on CL.
BUG=skia:
Review URL: https://codereview.chromium.org/1416423003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step in a three part change:
(1) Skia: Add SkBRDAllocator.
(2) Android: Make JavaPixelAllocator and RecyclingClippingPixelAllocator
implement SkBRDAllocator.
(3) Skia: Change SkBitmapRegionDecoder to use SkBRDAllocator and take
advantage of zero allocated memory when possible.
BUG=skia:
Review URL: https://codereview.chromium.org/1423253004
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename SkCodecTools.h to SkBitmapRegionDecoderPriv.h
Move BRD code to its own directory in tools. This
allows us to not need to expose the entire tools
directory in Android.
BUG=skia:
Review URL: https://codereview.chromium.org/1417393004
|
|
|
|
|
|
|
|
|
|
|
| |
This approach to subset decoding is no longer supported.
We have replaced it with an implementation that does not
depend on forked libraries.
https://codereview.chromium.org/1406153015/
BUG=skia:
Review URL: https://codereview.chromium.org/1426943009
|
|
|
|
|
|
|
|
|
|
|
| |
This approach to subset decoding is no longer supported.
We have replaced it with an implementation that does not
depend on forked libraries.
https://codereview.chromium.org/1406153015/
BUG=skia:
Review URL: https://codereview.chromium.org/1406033007
|
|
|
|
|
|
|
|
|
|
|
| |
This approach to subset decoding is no longer supported.
We have replaced it with an implementation that does not
depend on forked libraries.
https://codereview.chromium.org/1406153015/
BUG=skia:
Review URL: https://codereview.chromium.org/1416673010
|
|
|
|
|
|
|
|
|
|
|
| |
This approach to subset decoding is no longer supported.
We have replaced it with an implementation that does not
depend on forked libraries.
https://codereview.chromium.org/1406153015/
BUG=skia:
Review URL: https://codereview.chromium.org/1430493005
|
|
|
|
|
|
|
|
| |
The FilterQuality slide segfaults if resources cannot be loaded.
This is particularly noticeable with an Android build, as by
default resources are not available.
Review URL: https://codereview.chromium.org/1422763004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1431593006/ )
Reason for revert:
Co-centered sample locations are not needed to do stencil clip with mixed samples.
Original issue's description:
> Fix mixed samples stencil clip
>
> Fixes rendering bugs and nondeterminism in gm.
>
> Before, mixed samples stencil clip would try to infer whether the draw
> wanted co-centered sample locations from within GrGLGpu, which caused
> various errors. This change reworks it so the draw itself can request
> the co-centered sample locations when it knows it will need them.
>
> Also reduces framebuffer binds by moving the code that enables
> GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget.
>
> Committed: https://skia.googlesource.com/skia/+/14184d5567b58085b6d8a6375796d405056f7f73
TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1407063011
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1429863009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output_message():
By overriding output_message, we can use SkCodecPrintf,
which we can turn on or off.
The default turbo implementation of emit_message calls
output_message when it wants to print a message, so,
even though we don't override emit_message, it also uses
SkCodecPrintf.
emit_message():
Use libjpeg-turbo’s default implementation of emit_message.
It does not print "trace messages" which essentially are info
messages and it only prints the first warning (unless it a very
serious warning).
Currently, we just print everything, which is why the output
has been so verbose.
BUG=skia:
Review URL: https://codereview.chromium.org/1427523007
|
|
|
|
|
|
| |
DOCS_PREVIEW= https://skia.org/?cl=1417703013
Review URL: https://codereview.chromium.org/1417703013 .
|
|
|
|
|
|
|
|
| |
Preemptive batch preparation makes MultiDrawBuffer more difficult to implement. This CL disables it.
BUG=skia:4094
Review URL: https://codereview.chromium.org/1430403002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1414083005
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1437573004
|
|
|
|
|
|
|
| |
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/1432983002
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1437613002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Review URL: https://codereview.chromium.org/1431593002
|
|
|
|
|
|
|
|
|
|
|
| |
Unit tests added to check all color types in SkOneShotDiscardablePixelref
SkResourceCacheTest seems to have been allways using default Heap Allocator.
Fixed so that it uses private (not global that is) SkDiscardableMemory.
BUG=skia:4355
Review URL: https://codereview.chromium.org/1426753006
|
|
|
|
|
|
| |
BUG=skia:4547
Review URL: https://codereview.chromium.org/1421793009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes rendering bugs and nondeterminism in gm.
Before, mixed samples stencil clip would try to infer whether the draw
wanted co-centered sample locations from within GrGLGpu, which caused
various errors. This change reworks it so the draw itself can request
the co-centered sample locations when it knows it will need them.
Also reduces framebuffer binds by moving the code that enables
GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget.
Review URL: https://codereview.chromium.org/1431593006
|
|
|
|
|
|
|
|
| |
BUG=skia:4346
Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368
Review URL: https://codereview.chromium.org/1406013006
|
|
|
|
|
|
|
|
| |
code.
BUG=skia:
Review URL: https://codereview.chromium.org/1409123010
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=bsalomon
Review URL: https://codereview.chromium.org/1419983006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1428633003
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
skia.org/user/download
- Move sections "Making changes" and "Uploading changes for review"
to "How to submit a patch" page
- Mention bin/sync-and-gyp
skia.org/dev/contrib/submit
- Mention branch.autosetuprebase=always to fit with Skia's linear
history style.
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/download?cl=1411403010
DOCS_PREVIEW= https://skia.org/dev/contrib/submit?cl=1411403010
Review URL: https://codereview.chromium.org/1411403010
|
|
|
|
|
|
|
|
| |
The mac 10.8 compiler seems to get the constructor wrong. Remove the SkNoCopy.
BUG=skia:4037
Review URL: https://codereview.chromium.org/1421863004
|
|
|
|
|
|
| |
Makes it so that the oversized-texture/bmp case doesn't run on the CPU and makes it so that the subrect rendered is adjacent to the texture pad area on the bottom/right edges.
Review URL: https://codereview.chromium.org/1424473006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1410723005
|
|
|
|
|
|
|
|
|
|
|
| |
Add this flag to SampleApp, and it will run with the specified restricted sequence
--sequence /skia/trunk/resources/nov-talk-sequence.txt
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1410243009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1425593011
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1410863006
|
|
|
|
|
|
|
|
| |
While we're detecting instruction sets, let's fill in this hole too.
BUG=skia:
Review URL: https://codereview.chromium.org/1419553007
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1432863003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/3b484a40b3be7f0262afadeaf6b741ba5cedcfe1
Review URL: https://codereview.chromium.org/1410663005
|
|
|
|
|
|
|
|
|
| |
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/1416123006
|