bsalomon [Wed, 12 Aug 2015 18:14:50 +0000 (11:14 -0700)]
Check for xfer barriers in GrBatch, auto-issue barriers in GrGpu
Review URL: https://codereview.chromium.org/
1287973003
mtklein [Wed, 12 Aug 2015 17:52:25 +0000 (10:52 -0700)]
Normalize SkXfermode_opts.h argument order as d,s[,aa].
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
mtklein [Wed, 12 Aug 2015 17:23:37 +0000 (10:23 -0700)]
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
Review URL: https://codereview.chromium.org/
1286093004
wangyix [Wed, 12 Aug 2015 16:40:47 +0000 (09:40 -0700)]
All child GrFragmentProcs' transforms and textures will be stored in the 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
halcanary [Wed, 12 Aug 2015 15:53:04 +0000 (08:53 -0700)]
Revert of SkPDF: Move SkFlate into src/pdf (part 1/3) (patchset #1 id:1 of 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
scroggo [Wed, 12 Aug 2015 15:31:44 +0000 (08:31 -0700)]
Update CodexTest to test valid_alpha.
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
jvanverth [Wed, 12 Aug 2015 15:15:31 +0000 (08:15 -0700)]
Revise DrawAtlasBatch to get rid of one copy when generating the batch.
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
bsalomon [Wed, 12 Aug 2015 15:11:22 +0000 (08:11 -0700)]
Remove trace marker support from GrBufferedDrawTarget
Review URL: https://codereview.chromium.org/
1284983002
msarett [Wed, 12 Aug 2015 15:08:56 +0000 (08:08 -0700)]
Fix bmp RLE "bug"
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
halcanary [Wed, 12 Aug 2015 14:39:33 +0000 (07:39 -0700)]
SkPDF: Move SkFlate into src/pdf (part 1/3)
Next, we change Chromium build files, then we do the actual move.
Review URL: https://codereview.chromium.org/
1285913002
halcanary [Wed, 12 Aug 2015 14:37:34 +0000 (07:37 -0700)]
C API: add radial, sweep, and two-point conical gradient shaders
Review URL: https://codereview.chromium.org/
1263773006
scroggo [Wed, 12 Aug 2015 14:24:13 +0000 (07:24 -0700)]
Consolidate SkCodec functions for handling rewind
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
egdaniel [Wed, 12 Aug 2015 13:51:08 +0000 (06:51 -0700)]
Add ability to pass in an optional path to additional unit tests to run.
BUG=skia:
Review URL: https://codereview.chromium.org/
1280133004
joshualitt [Wed, 12 Aug 2015 13:36:57 +0000 (06:36 -0700)]
Move AAFillRect into CPP for templatization
BUG=skia:
Review URL: https://codereview.chromium.org/
1278043003
reed [Wed, 12 Aug 2015 12:33:12 +0000 (05:33 -0700)]
Revert[3] "move some public headers into private"
This reverts commit
9d20ee57d72a3850a6b51f2f2b00e00978be3864.
BUG=skia:
TBR=
failures here: https://codereview.chromium.org/
1286103004
Review URL: https://codereview.chromium.org/
1290733002
reed [Wed, 12 Aug 2015 11:42:08 +0000 (04:42 -0700)]
Revert[2] "move some public headers into private"
This reverts commit
4cf9e7e14797f87f08b2078fa1afaf731cbf8f52.
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/
1284173002
bsalomon [Tue, 11 Aug 2015 21:47:42 +0000 (14:47 -0700)]
Make GrBatch carry its own GrPipeline
Review URL: https://codereview.chromium.org/
1278643006
msarett [Tue, 11 Aug 2015 21:44:02 +0000 (14:44 -0700)]
Hopefully fix ios bots
BUG=skia:
Review URL: https://codereview.chromium.org/
1286833002
halcanary [Tue, 11 Aug 2015 20:35:12 +0000 (13:35 -0700)]
SkPDF: clean up overuse of SK_SUPPORT_PDF
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
msarett [Tue, 11 Aug 2015 20:32:54 +0000 (13:32 -0700)]
Switching Skia to chromium's libjpeg-turbo
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
reed [Tue, 11 Aug 2015 19:23:45 +0000 (12:23 -0700)]
decrement lockcount if we failed to get pixels
BUG=519581
Review URL: https://codereview.chromium.org/
1284953002
jvanverth [Tue, 11 Aug 2015 18:07:07 +0000 (11:07 -0700)]
Add high resolution WallTimer to SampleApp
Gives better than 1 ms results when timing framerate.
Review URL: https://codereview.chromium.org/
1288473002
halcanary [Tue, 11 Aug 2015 17:30:12 +0000 (10:30 -0700)]
SkPDF: allow PDF module to be disabled in DM and SampleApp
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
reed [Tue, 11 Aug 2015 15:39:18 +0000 (08:39 -0700)]
Revert "move some public headers into private"
This reverts commit
eedf0fb20489bc6c3706539dd6ab499f41cbe048.
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/
1270313005
reed [Tue, 11 Aug 2015 14:15:00 +0000 (07:15 -0700)]
move some public headers into private
BUG=skia:
Review URL: https://codereview.chromium.org/
1289483002
hcm [Tue, 11 Aug 2015 14:00:01 +0000 (07:00 -0700)]
Move Perf documentation to the testing section
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1280533003
Review URL: https://codereview.chromium.org/
1280533003
bsalomon [Mon, 10 Aug 2015 20:03:50 +0000 (13:03 -0700)]
Make initBatchTracker private, move towards pipeline on batch
Review URL: https://codereview.chromium.org/
1282893002
mtklein [Mon, 10 Aug 2015 19:58:17 +0000 (12:58 -0700)]
Sk4px blit mask.
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
bsalomon [Mon, 10 Aug 2015 19:01:15 +0000 (12:01 -0700)]
Remove GrPipelineOptimizations member from GrPipeline
Review URL: https://codereview.chromium.org/
1275003004
joshualitt [Mon, 10 Aug 2015 18:59:02 +0000 (11:59 -0700)]
trivial CL to add drawBatch to GrDrawContext
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1282883002
joshualitt [Mon, 10 Aug 2015 18:40:56 +0000 (11:40 -0700)]
Expand functionality of GrRectBatchFactory with AARects
BUG=skia:
Review URL: https://codereview.chromium.org/
1279303002
egdaniel [Mon, 10 Aug 2015 18:39:10 +0000 (11:39 -0700)]
Fix to call SkDelete_array instead of SkDelete to fix ASAN error.
TBR=mtklein@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1282333002
egdaniel [Mon, 10 Aug 2015 18:02:46 +0000 (11:02 -0700)]
Revert of [TextBlob] Fall back to TightRunBounds when the font bounds are 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
bsalomon [Mon, 10 Aug 2015 17:47:29 +0000 (10:47 -0700)]
Rename GrPipelineInfo to GrPipelineOptimizations
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/
1274513005
joshualitt [Mon, 10 Aug 2015 17:30:14 +0000 (10:30 -0700)]
Move GrStrokeRectBatch creation to behind factory
BUG=skia:
Review URL: https://codereview.chromium.org/
1282283002
joshualitt [Mon, 10 Aug 2015 17:08:26 +0000 (10:08 -0700)]
Create GrRectBatchFactory
BUG=skia:
Review URL: https://codereview.chromium.org/
1287433003
egdaniel [Mon, 10 Aug 2015 17:06:43 +0000 (10:06 -0700)]
This is a speculative fix for the crash on IOS
TBR=mtklein
Review URL: https://codereview.chromium.org/
1277433005
fmalita [Mon, 10 Aug 2015 16:24:31 +0000 (09:24 -0700)]
[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
Review URL: https://codereview.chromium.org/
1284693002
joshualitt [Mon, 10 Aug 2015 16:03:51 +0000 (09:03 -0700)]
move Stroke Rect and AAFill Rect to their own file
BUG=skia:
Review URL: https://codereview.chromium.org/
1282723004
djsollen [Mon, 10 Aug 2015 15:58:03 +0000 (08:58 -0700)]
Ensure that android "release" apps are signed with debug key
Review URL: https://codereview.chromium.org/
1275223003
halcanary [Mon, 10 Aug 2015 15:49:03 +0000 (08:49 -0700)]
SkPDF: add assert for that SkWStream behaves.
Motivation: this might catch future issues like this.
BUG=skia:4181
Review URL: https://codereview.chromium.org/
1287443002
bsalomon [Mon, 10 Aug 2015 15:23:11 +0000 (08:23 -0700)]
Use a factory function to create GrPipeline and remove unused member
Review URL: https://codereview.chromium.org/
1273803004
joshualitt [Mon, 10 Aug 2015 15:02:58 +0000 (08:02 -0700)]
Wire up testcreate function for GrDrawAtlasBatch
BUG=skia:
Review URL: https://codereview.chromium.org/
1285593002
thakis [Mon, 10 Aug 2015 13:05:17 +0000 (06:05 -0700)]
Remove an unused function.
BUG=chromium:505316
Review URL: https://codereview.chromium.org/
1282143002
reed [Mon, 10 Aug 2015 02:41:13 +0000 (19:41 -0700)]
api helpers inspired by blink use-cases
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1278323002
reed [Sat, 8 Aug 2015 02:09:09 +0000 (19:09 -0700)]
remove unneeded _DRAWIMAGERECT flags
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1281123002
joshualitt [Fri, 7 Aug 2015 20:36:44 +0000 (13:36 -0700)]
fixup precision with configurable atlas
BUG=skia:
Review URL: https://codereview.chromium.org/
1276383003
scroggo [Fri, 7 Aug 2015 19:53:25 +0000 (12:53 -0700)]
Revert of Update libwebp and resume testing scaled webp (patchset #2 id:20001 of https://codereview.chromium.org/
1280073002/ )
Reason for revert:
Compile failures, e.g.
http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_NoNeon/builds/1427/steps/build%20most/logs/stdio
Original issue's description:
> Update libwebp and resume testing scaled webp
>
> libwebp has a fix for [1]. Update to the commit that contains the fix.
>
> Update libwebp.gypi, corresponding to libwebp's latest makefile.
>
> Turn back on DM testing for scaled webp, now that it should no longer
> use uninitialized memory.
>
> Fix a warning in config.h
>
> [1] https://code.google.com/p/webp/issues/detail?id=254
>
> BUG=skia:4038
>
> Committed: https://skia.googlesource.com/skia/+/
0575d3e6c272744a66ab3281f9871366717df339
TBR=djsollen@google.com,msarett@google.com,scroggo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4038
Review URL: https://codereview.chromium.org/
1278173004
scroggo [Fri, 7 Aug 2015 19:49:16 +0000 (12:49 -0700)]
Update libwebp and resume testing scaled webp
libwebp has a fix for [1]. Update to the commit that contains the fix.
Update libwebp.gypi, corresponding to libwebp's latest makefile.
Turn back on DM testing for scaled webp, now that it should no longer
use uninitialized memory.
Fix a warning in config.h
[1] https://code.google.com/p/webp/issues/detail?id=254
BUG=skia:4038
Review URL: https://codereview.chromium.org/
1280073002
joshualitt [Fri, 7 Aug 2015 19:46:26 +0000 (12:46 -0700)]
GrDrawVertices to batches
BUG=skia:
Review URL: https://codereview.chromium.org/
1276333004
jvanverth [Fri, 7 Aug 2015 19:18:54 +0000 (12:18 -0700)]
Move GrDrawAtlasBatch to separate file
Committed: https://skia.googlesource.com/skia/+/
b091c44c33edbad3466601b29d60bc2eaa4453fa
Review URL: https://codereview.chromium.org/
1274013003
jvanverth [Fri, 7 Aug 2015 18:53:13 +0000 (11:53 -0700)]
Revert of Move GrDrawAtlasBatch to separate file (patchset #1 id:1 of https://codereview.chromium.org/
1274013003/ )
Reason for revert:
Build failures
Original issue's description:
> Move GrDrawAtlasBatch to separate file
>
> Committed: https://skia.googlesource.com/skia/+/
b091c44c33edbad3466601b29d60bc2eaa4453fa
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1276173003
jvanverth [Fri, 7 Aug 2015 18:49:17 +0000 (11:49 -0700)]
Move GrDrawAtlasBatch to separate file
Review URL: https://codereview.chromium.org/
1274013003
joshualitt [Fri, 7 Aug 2015 18:42:16 +0000 (11:42 -0700)]
Make folder for batches
BUG=skia:
Review URL: https://codereview.chromium.org/
1277233002
jvanverth [Fri, 7 Aug 2015 17:09:28 +0000 (10:09 -0700)]
First pass at drawAtlas batching.
Moves drawAtlas setup into its own method in GrDrawContext, and adds
DrawAtlasBatch.
Uses pre-built index buffer for quads.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1277933003
hcm [Fri, 7 Aug 2015 17:09:03 +0000 (10:09 -0700)]
Gold Workflows Documentation
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1276663003
Review URL: https://codereview.chromium.org/
1276663003
joshualitt [Fri, 7 Aug 2015 16:55:23 +0000 (09:55 -0700)]
Break LCD and Bitmap text dependency on hardcoded atlas values
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
846b022f6b469cfde285372f26e0d5c593d122ac
Review URL: https://codereview.chromium.org/
1271873002
mtklein [Fri, 7 Aug 2015 16:33:37 +0000 (09:33 -0700)]
Add approxBytesUsed to hashes.
BUG=skia:
Review URL: https://codereview.chromium.org/
1280653003
mtklein [Fri, 7 Aug 2015 15:48:12 +0000 (08:48 -0700)]
The compiler can generate smulbb perfectly well nowadays.
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1273203002
joshualitt [Fri, 7 Aug 2015 15:11:19 +0000 (08:11 -0700)]
Add Batch logging
BUG=skia:
Review URL: https://codereview.chromium.org/
1276913002
mtklein [Fri, 7 Aug 2015 14:22:44 +0000 (07:22 -0700)]
This iOS crash makes little sense to me. Add some debugging.
We called new float[...]. The pointer returned should be aligned for float writes.
See https://uberchromegw.corp.google.com/i/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
30e4d75c3aebf49b179c265a91adbb6012970d2b
Review URL: https://codereview.chromium.org/
1270403006
mtklein [Fri, 7 Aug 2015 13:55:31 +0000 (06:55 -0700)]
This iOS crash makes little sense to me. Add some debugging.
We called new float[...]. The pointer returned should be aligned for float writes.
See https://uberchromegw.corp.google.com/i/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release
BUG=skia:
Review URL: https://codereview.chromium.org/
1270403006
bsalomon [Fri, 7 Aug 2015 00:56:13 +0000 (17:56 -0700)]
Fix StringTest for VS2015
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1280853002
bsalomon [Fri, 7 Aug 2015 00:33:16 +0000 (17:33 -0700)]
Fix warnings on VS2015 x86_64 build
TBR=bungeman@google.com
Review URL: https://codereview.chromium.org/
1276133002
msarett [Thu, 6 Aug 2015 22:34:42 +0000 (15:34 -0700)]
Split SkBmpCodec into three separate classes
Will regress behavior on gold on test32bfv4.bmp, where we
will no longer fix transparent decodes.
TODO: Start fixing transparent decodes again, or decide
that we don't want to fix them and remove isTransparent
from SkSwizzler. I think this may become more clear when I
start implementing the scanline decoder.
BUG=skia:
Review URL: https://codereview.chromium.org/
1258863008
scroggo [Thu, 6 Aug 2015 20:50:15 +0000 (13:50 -0700)]
Let SkWebpCodec decode to 565
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1277893002
senorblanco [Thu, 6 Aug 2015 19:29:03 +0000 (12:29 -0700)]
Plug a leak in GrTestUtils.
TBR=mtklein,bsalomon
Review URL: https://codereview.chromium.org/
1274963003
scroggo [Thu, 6 Aug 2015 18:44:56 +0000 (11:44 -0700)]
Fix color swap for webp 565
When webp decoding to 565, swap the colors so they look right.
BUG=skia:4174
Review URL: https://codereview.chromium.org/
1280693003
reed [Thu, 6 Aug 2015 18:25:15 +0000 (11:25 -0700)]
remove guard for SrcPtr in drawBitmapRect for android
BUG=skia:
NOTRY=True
TBR=
Review URL: https://codereview.chromium.org/
1277963002
mtklein [Thu, 6 Aug 2015 18:18:50 +0000 (11:18 -0700)]
Purge non-NEON ARM code.
As I begin to wade in here, it's nice to remove as much code as possible.
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1277953002
mtklein [Thu, 6 Aug 2015 18:17:06 +0000 (11:17 -0700)]
__ARM_NEON is defined both by ARMv8 and ARMv7 + -mfpu=neon.
Can't hurt to simplify a little.
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1274513003
egdaniel [Thu, 6 Aug 2015 17:54:13 +0000 (10:54 -0700)]
Move some work from backend onClear to base class clear
BUG=skia:
Review URL: https://codereview.chromium.org/
1275543005
senorblanco [Thu, 6 Aug 2015 17:28:55 +0000 (10:28 -0700)]
Implement caching of stroked paths in the tessellating path renderer.
This requires adding the stroke info to the cache key, and doing the
stroking and dashing before rendering as triangles.
BUG=skia:3755
Committed: https://skia.googlesource.com/skia/+/
29e0d3f267a03546f236023347cdb4595ece2fd1
Review URL: https://codereview.chromium.org/
1275553002
reed [Thu, 6 Aug 2015 17:02:53 +0000 (10:02 -0700)]
flag to use const& instead of const* for src-rect
BUG=skia:
Review URL: https://codereview.chromium.org/
1272713005
bsalomon [Thu, 6 Aug 2015 15:52:49 +0000 (08:52 -0700)]
Don't pass pipeline to GrBatch::generateGeometry()
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/
1275083002
joshualitt [Thu, 6 Aug 2015 15:39:22 +0000 (08:39 -0700)]
Another small fix for reordering
BUG=skia:
Review URL: https://codereview.chromium.org/
1274763008
mtklein [Thu, 6 Aug 2015 15:17:16 +0000 (08:17 -0700)]
Port SkTextureCompression opts to SkOpts
Pretty vanilla translation. I cleaned up who calls whom a little.
Used to be utils -> opts -> utils, now it's just utils -> opts.
I may follow up with a pass over the NEON code for readability
and to clean up dead code.
This turns on NEON A8->R11EAC conversion for ARMv8.
Unit tests which now hit the NEON code still pass.
I can't find any related bench.
BUG=skia:4117
Review URL: https://codereview.chromium.org/
1273103002
robertphillips [Thu, 6 Aug 2015 14:08:31 +0000 (07:08 -0700)]
Remove SK_LEGACY_SKPOINT3_CTORS flag
Cannot land before Blink https://codereview.chromium.org/
1274673002/ (Remove reliance on legacy Skia SkPoint3 ctors in FELighting.cpp)
Review URL: https://codereview.chromium.org/
1269383003
fmalita [Thu, 6 Aug 2015 14:04:51 +0000 (07:04 -0700)]
SkSurface copy-on-write can yield stale GPU render targets.
Prepare_rt_for_external_access() grabs the render target and then fires
access notifications.
But the notification handlers may trigger copy-on-write, causing the
returned render target to be stale (pointing at the detached snapshot).
We should grab the render target after firing notifications.
R=reed@google.com,bsalomon@google.com
Review URL: https://codereview.chromium.org/
1276713002
senorblanco [Thu, 6 Aug 2015 13:52:10 +0000 (06:52 -0700)]
Minor cleanup: remove GR_TESSELLATING_PATH_RENDERING #ifdef.
Also, new -> SkNEW.
Review URL: https://codereview.chromium.org/
1280433002
reed [Thu, 6 Aug 2015 13:51:52 +0000 (06:51 -0700)]
use kFast_SrcRectConstraint to match drawAtlas semantics
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1272743003
scroggo [Thu, 6 Aug 2015 13:08:18 +0000 (06:08 -0700)]
Support decoding PNG to 565.
Although we initially discussed not supporting 565, SkCodec needs to
support Android's BitmapFactory and BitmapRegionDecoder, which need to
support 565.
We could instead implement 565 on top of SkCodec, but this would require
more memory and run more slowly.
An open question is whether to support dithering, and how. In order to
support dithering, we need to pass y to RowProc, which I believe means
we will need to pass y to SkSwizzler::swizzle().
I dislike having an option which is typically ignored - SkImageDecoder
allows you to turn on dithering when decoding to any color type, but it
is only meaningful only if the output color type is 565.
We could also make the client implement dithering, which I believe would
mean forcing them to do the conversion to 565 (since we have already
thrown away data when we convered to 565 without dithering).
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1277593002
reed [Thu, 6 Aug 2015 12:14:11 +0000 (05:14 -0700)]
simulate drawatlas
BUG=skia:
Review URL: https://codereview.chromium.org/
1279733002
mtklein [Wed, 5 Aug 2015 23:18:03 +0000 (16:18 -0700)]
Rephrase Windows gyp instructions
The existing instructions seem misleading.
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1275753002
Review URL: https://codereview.chromium.org/
1275753002
joshualitt [Wed, 5 Aug 2015 21:36:31 +0000 (14:36 -0700)]
Fix reording across rendertarget switching
BUG=skia:
Review URL: https://codereview.chromium.org/
1276633003
mtklein [Wed, 5 Aug 2015 21:17:32 +0000 (14:17 -0700)]
Detect MIPS DSP and DSPR2 programattically.
Procedure:
$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -dM -E - < /dev/null | sort > vanilla.mips
$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdsp -dM -E - < /dev/null | sort > dsp.mips
$ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdspr2 -dM -E - < /dev/null | sort > dspr2.mips
$ diff vanilla.mips dsp.mips
239a240,241
> #define __mips_dsp 1
> #define __mips_dsp_rev 1
$ diff vanilla.mips dspr2.mips
239a240,242
> #define __mips_dsp 1
> #define __mips_dsp_rev 2
> #define __mips_dspr2 1
So, defined(__mips_dsp) -> SK_MIPS_HAS_DSP, defined(__mips_dspr2) -> SK_MIPS_HAS_DSPR2.
BUG=skia:
Review URL: https://codereview.chromium.org/
1274873002
brucedawson [Wed, 5 Aug 2015 21:05:17 +0000 (14:05 -0700)]
Fix variable shadowing and unreachable code that it caused
Change https://codereview.chromium.org/
1261643004 renamed a function
parameter so that some code became unreachable. This renames that
parameter back.
R=bsalomon@google.com
BUG=skia:4169
Review URL: https://codereview.chromium.org/
1271353003
msarett [Wed, 5 Aug 2015 20:59:40 +0000 (13:59 -0700)]
Fix ASAN error for wbmp swizzles
BUG=skia:
Review URL: https://codereview.chromium.org/
1269413006
bungeman [Wed, 5 Aug 2015 20:57:49 +0000 (13:57 -0700)]
IWYU: 'core' target, files starting A-C.
TBR=reed@google.com
Verbal lgtm, does not change API.
Committed: https://skia.googlesource.com/skia/+/
7403d87db8e43d4c2b5b25ac22a0ebc22bd09d69
Review URL: https://codereview.chromium.org/
1265033002
senorblanco [Wed, 5 Aug 2015 20:37:49 +0000 (13:37 -0700)]
Revert of Implement caching of stroked paths in the tessellated path renderer. (patchset #4 id:60001 of https://codereview.chromium.org/
1275553002/ )
Reason for revert:
Breaking/asserting in Debug on DM.
Original issue's description:
> Implement caching of stroked paths in the tessellated path renderer.
>
> This requires adding the stroke info to the cache key, and doing the
> stroking and dashing before rendering as triangles.
>
> BUG=skia:3755
>
> Committed: https://skia.googlesource.com/skia/+/
29e0d3f267a03546f236023347cdb4595ece2fd1
TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3755
Review URL: https://codereview.chromium.org/
1276633002
senorblanco [Wed, 5 Aug 2015 20:18:03 +0000 (13:18 -0700)]
Implement caching of stroked paths in the tessellated path renderer.
This requires adding the stroke info to the cache key, and doing the
stroking and dashing before rendering as triangles.
BUG=skia:3755
Review URL: https://codereview.chromium.org/
1275553002
mtklein [Wed, 5 Aug 2015 20:08:12 +0000 (13:08 -0700)]
Update NOPRESUBMIT docs.
"NOPRESUBMIT=true" does not work anymore for me.
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1271423002
Review URL: https://codereview.chromium.org/
1271423002
msarett [Wed, 5 Aug 2015 19:58:26 +0000 (12:58 -0700)]
Scanline decoding for wbmp
We are also changing the wbmp to use SkSwizzler. This
will allow us to take advantage of the sampling routines
that are being implemented in SkSwizzler.
The image in this upload came from:
https://commons.wikimedia.org/wiki/File:Android_robot.png
It is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
BUG=skia:
Review URL: https://codereview.chromium.org/
1254483004
oysteine [Wed, 5 Aug 2015 19:54:40 +0000 (12:54 -0700)]
Moved common cross-project functionality out from SkTraceEvent.h into SkTraceEventCommon.h
Traditionally, SkTraceEvent.h was manually kept in sync with base/trace_event/trace_event.h, with project-specific parts intermixed, and tended to drift out of sync a lot (mainly in Blink, less so in Skia).
The SkTraceEventCommon.h now has only the cross-project parts, and can be copy-pasted verbatim between projects (it's an identical copy of base/trace_event/trace_event_common.h), meaning SkTraceEvent.h shouldn't go out of sync as it has before.
BUG=skia:
[mtklein mucking around below here]
NOPRESUBMIT=true
CQ_EXCLUDE_TRYBOTS=client.skia.fyi:skia_presubmit-Trybot
Review URL: https://codereview.chromium.org/
1270783002
bungeman [Wed, 5 Aug 2015 19:09:57 +0000 (12:09 -0700)]
Add skstd::move and skstd::forward.
Since we can't use the c++11 standard library, re-implement the bits
we want to use now.
TBR=reed@google.com
The next CL is try to move SkTemplates into private.
Review URL: https://codereview.chromium.org/
1273813002
joshualitt [Wed, 5 Aug 2015 19:02:27 +0000 (12:02 -0700)]
Expose coord transforms from GrPipeline
BUG=skia:
Review URL: https://codereview.chromium.org/
1275603002
joshualitt [Wed, 5 Aug 2015 18:05:22 +0000 (11:05 -0700)]
This CL wires up the backend portion necessary for sending transformed coords via vertex attributes.
BUG=skia:
Review URL: https://codereview.chromium.org/
1243583002
bsalomon [Wed, 5 Aug 2015 17:50:01 +0000 (10:50 -0700)]
Move impl of stroke rect batch from h to cpp
Review URL: https://codereview.chromium.org/
1275633003
bsalomon [Wed, 5 Aug 2015 17:34:05 +0000 (10:34 -0700)]
Give strokerectbatch a proper home
Review URL: https://codereview.chromium.org/
1274763002
joshualitt [Wed, 5 Aug 2015 16:30:02 +0000 (09:30 -0700)]
fix for GrFragmentProcessor isEqual in GrPipeline
BUG=skia:
Review URL: https://codereview.chromium.org/
1273693003