| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
Review URL: https://codereview.chromium.org/1287023006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1285283002
|
|
|
|
|
|
|
|
|
| |
This reverts commit 9cdcabefa33d49febfdb45e388e762b4dee8dd6f.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1291613007
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1289803005
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1290813002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:1 of https://codereview.chromium.org/1286093004/ )
Reason for revert:
Maybe causing test / gold problems?
Original issue's description:
> Refactor to put SkXfermode_opts inside SK_OPTS_NS.
>
> Without this refactor I was getting warnings previously about having code
> inside namespace SK_OPTS_NS (e.g. namespace sse2, namespace neon) referring to
> code inside an anonymous namespace (Sk4px, SkPMFloat, Sk4f, etc) [1].
>
> That low-level code was in an anonymous namespace to allow multiple independent
> copies of its methods to be instantiated without the linker getting confused /
> offended about violating the One Definition Rule. This was only happening in
> Debug mode where the methods were not being inlined.
>
> To fix this all, I've force-inlined the methods of the low-level code and
> removed the anonymous namespace.
>
> BUG=skia:4117
>
>
> [1] Here is what those errors looked like:
>
> In file included from ../../../../src/core/SkOpts.cpp:18:0:
> ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fProc4' whose type uses the anonymous namespace [-Werror]
> class Sk4pxXfermode : public SkProcCoeffXfermode {
> ^
> ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fAAProc4' whose type uses the anonymous namespace [-Werror]
> ../../../../src/opts/SkXfermode_opts.h:235:7: error: 'portable::SkPMFloatXfermode' has a field 'portable::SkPMFloatXfermode::fProcF' whose type uses the anonymous namespace [-Werror]
> class SkPMFloatXfermode : public SkProcCoeffXfermode {
> ^
> cc1plus: all warnings being treated as errors
>
> Committed: https://skia.googlesource.com/skia/+/b07bee3121680b53b98b780ac08d14d374dd4c6f
TBR=djsollen@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4117
Review URL: https://codereview.chromium.org/1284333002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1290763002
|
|
|
|
|
|
| |
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/1287103003
|
|
|
|
|
|
|
|
| |
Rename to SkDeflate so Chromium builders continue to work
Next, we change remove SkFlate from Chromium build files, then we can delete SkFlate.
Review URL: https://codereview.chromium.org/1285913002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1287973003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At head they're s,d[,aa] in SkXfermode_opts.h but Sk4px::Map* expect d,s[,aa]
so we ended up having to write weird little lambda shims to match impedance.
There's no reason for these to disagree, and d,s[,aa] is the One True Order
(because no matter what you're doing in graphics, there's always a dst).
Should be no perf or image diff, though I'm suspicious it might help MSVC code generation.
BUG=skia:4117
Review URL: https://codereview.chromium.org/1289903002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this refactor I was getting warnings previously about having code
inside namespace SK_OPTS_NS (e.g. namespace sse2, namespace neon) referring to
code inside an anonymous namespace (Sk4px, SkPMFloat, Sk4f, etc) [1].
That low-level code was in an anonymous namespace to allow multiple independent
copies of its methods to be instantiated without the linker getting confused /
offended about violating the One Definition Rule. This was only happening in
Debug mode where the methods were not being inlined.
To fix this all, I've force-inlined the methods of the low-level code and
removed the anonymous namespace.
BUG=skia:4117
[1] Here is what those errors looked like:
In file included from ../../../../src/core/SkOpts.cpp:18:0:
../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fProc4' whose type uses the anonymous namespace [-Werror]
class Sk4pxXfermode : public SkProcCoeffXfermode {
^
../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fAAProc4' whose type uses the anonymous namespace [-Werror]
../../../../src/opts/SkXfermode_opts.h:235:7: error: 'portable::SkPMFloatXfermode' has a field 'portable::SkPMFloatXfermode::fProcF' whose type uses the anonymous namespace [-Werror]
class SkPMFloatXfermode : public SkProcCoeffXfermode {
^
cc1plus: all warnings being treated as errors
Review URL: https://codereview.chromium.org/1286093004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
root GrFragmentProc in preorder
Changed childProcessor(i) to return const referencd
Fixed rootProc/parentProc offset issues; renamed a few things.
added nonempty check to gatherTransforms to avoid segfault
removed recursive append_gr_coord_transforms() from GrGLProgramBuilder
BUILDS! Changed num*includeProc() calls to num() calls
added gatherCoordTransforms(). added coordTransforms() for root proc only
Modified GrFragmentProcessor to append child proc transforms and textures to root proc's arrays.
BUG=skia:4182
Review URL: https://codereview.chromium.org/1275853005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1285913002/ )
Reason for revert:
broke gn ("Duplicate object file")
Original issue's description:
> SkPDF: Move SkFlate into src/pdf (part 1/3)
>
> Next, we change Chromium build files, then we do the actual move.
>
> Committed: https://skia.googlesource.com/skia/+/e14c1fe04fc72ec9bcf55820b5c65a71d7d0a764
TBR=bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1289863002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a static function to CodexTest, which consolidates decoding,
comparing to an expected SkCodec::Result, and optionally comparing to a
digest.
Test decoding non-opaque to opaque (fails) and premul to unpremul/vice
versa (succeeds).
BUG=skia:3475
Review URL: https://codereview.chromium.org/1277253003
|
|
|
|
|
|
|
|
| |
This doesn't appear to have much affect on perf in SampleApp, but
it should avoid some copies and replaces a couple of STArrays
with one that just does a memcpy in the copy constructor.
Review URL: https://codereview.chromium.org/1279343004
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1284983002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chromium's test suite contains an RLE image that reports a certain
file size in the header, but then contains additional encoded data.
Our bmp decoder would only decode half of the image, before stopping.
With this fix, we check for additional data before returning
kIncompleteInput.
If this lands, I will upload the test image to the bots.
Also adding an invalid image test to CodexTest.
BUG=skia:
Review URL: https://codereview.chromium.org/1273853004
|
|
|
|
|
|
| |
Next, we change Chromium build files, then we do the actual move.
Review URL: https://codereview.chromium.org/1285913002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1263773006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, many of our codec implementations followed the same
pattern (often in a function named handleRewind):
switch (this->rewindIfNeeded()) {
case CouldNotRewind:
return CouldNotRewind;
case NoRewindNecessary:
// keep going
break;
case Rewound:
<re-read header etc>
break;
}
In this CL, remove the enum, and put the piece that happens in the
Rewound case into a virtual function, onRewind. rewindIfNeeded now
contains the common pieces from various functions named handleRewind.
In SkBmpCodec, add a function that returns whether the BMP is in ICO,
so it can have a common implementation for onRewind.
BUG=skia:3257
Review URL: https://codereview.chromium.org/1288483002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1280133004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1278043003
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 9d20ee57d72a3850a6b51f2f2b00e00978be3864.
BUG=skia:
TBR=
failures here: https://codereview.chromium.org/1286103004
Review URL: https://codereview.chromium.org/1290733002
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4cf9e7e14797f87f08b2078fa1afaf731cbf8f52.
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/1284173002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1278643006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1286833002
|
|
|
|
|
|
|
| |
When possible use run-time checks (via SkDocument::CreatePDF)
When PDF is disabled, do not compile tests/PDF*.cpp
Review URL: https://codereview.chromium.org/1278403006
|
|
|
|
|
|
|
|
|
|
|
| |
Compile SkJpegCodec and SkImageDecoder_libjpeg with
chromium's libjpeg-turbo. SkImageDecoder_libjpeg still uses
libjpeg on Android and the Android framework. SkJpegCodec is
still not compiled on the Android framework.
BUG=skia:
Review URL: https://codereview.chromium.org/1275773004
|
|
|
|
|
|
| |
BUG=519581
Review URL: https://codereview.chromium.org/1284953002
|
|
|
|
|
|
| |
Gives better than 1 ms results when timing framerate.
Review URL: https://codereview.chromium.org/1288473002
|
|
|
|
|
|
|
|
|
|
|
| |
To disable PDF:
GYP_DEFINES='skia_pdf=0' bin/sync-and-gyp
ninja -C out/Debug dm SampleApp
When disabled, SkDocument::CreatePDF() always returns NULL.
Review URL: https://codereview.chromium.org/1279123007
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit eedf0fb20489bc6c3706539dd6ab499f41cbe048.
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/1270313005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1289483002
|
|
|
|
|
|
|
|
| |
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1280533003
Review URL: https://codereview.chromium.org/1280533003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1282893002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Local SKP nanobenching ranges SSE between 1.05x and 0.87x, much more heavily weighted toward <1.0x ratios (speedups).
I profiled the top five regressions (1.05x-1.01x) and they look like noise. Will follow up after broad bot results.
NEON looks similar but less extreme than SSE changes, ranging between 1.02x and 0.95x, again mostly speedups in 0.99x-0.97x range.
The old code trifurcated into black, opaque-but-not-black, and general versions as a function of the constant src color. I did not see a significant difference between general and opaque-but-not-black, and I don't think a black version would be faster using SIMD. So we have here just one version of the code, the general version.
Somewhat fantastically, I see no pixel diffs on GMs or SKPs.
I will be following up with more CLs for the other procs called by SkBlitMask.
BUG=skia:
Review URL: https://codereview.chromium.org/1278253003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1275003004
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1282883002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1279303002
|
|
|
|
|
|
|
|
| |
TBR=mtklein@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1282333002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
empty (patchset #1 id:1 of https://codereview.chromium.org/1284693002/ )
Reason for revert:
Breaking DEPS roll on Assert in SkTextBlobBuilder::TightRunBounds.
Original issue's description:
> [TextBlob] Fall back to TightRunBounds when the font bounds are empty
>
> Empty font bounds are likely an indication of a font bug. As a best
> effort, we can use TightRunBounds in this easily detectable case.
>
> BUG=507022
> R=reed@google.com,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/d6b99cc6b84b3ec864221cbe9945d203bd9eb072
TBR=bungeman@google.com,reed@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=507022
Review URL: https://codereview.chromium.org/1283853002
|
|
|
|
|
|
| |
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/1274513005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1282283002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1287433003
|
|
|
|
|
|
| |
TBR=mtklein
Review URL: https://codereview.chromium.org/1277433005
|
|
|
|
|
|
|
|
|
|
| |
Empty font bounds are likely an indication of a font bug. As a best
effort, we can use TightRunBounds in this easily detectable case.
BUG=507022
R=reed@google.com,bungeman@google.com
Review URL: https://codereview.chromium.org/1284693002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1282723004
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1275223003
|
|
|
|
|
|
|
|
| |
Motivation: this might catch future issues like this.
BUG=skia:4181
Review URL: https://codereview.chromium.org/1287443002
|