joshualitt [Fri, 13 Nov 2015 19:22:19 +0000 (11:22 -0800)]
Create a standalone example for using Skia with SDL
BUG=skia:
Review URL: https://codereview.chromium.org/
1442573003
mtklein [Fri, 13 Nov 2015 19:22:04 +0000 (11:22 -0800)]
turn on libc++ for iOS
BUG=skia:
Review URL: https://codereview.chromium.org/
1442103002
msarett [Fri, 13 Nov 2015 17:59:11 +0000 (09:59 -0800)]
Remove dependency on src/android from dm and nanobench
BUG=skia:
Review URL: https://codereview.chromium.org/
1443033002
egdaniel [Fri, 13 Nov 2015 17:55:43 +0000 (09:55 -0800)]
Move GrGLPrimitive/GeometryProc to GLSL
BUG=skia:
Review URL: https://codereview.chromium.org/
1441683008
cdalton [Fri, 13 Nov 2015 17:10:31 +0000 (09:10 -0800)]
Add visualbench option for nvpr stencil samples
Repurposes the --nvpr flag as an int that says how many stencil samples
to use, or disables nvpr with a value of zero.
BUG=skia:
Review URL: https://codereview.chromium.org/
1444543002
cdalton [Fri, 13 Nov 2015 16:56:31 +0000 (08:56 -0800)]
Fix visualbench flicker on triple buffered platforms
BUG=skia:
Review URL: https://codereview.chromium.org/
1441073005
cdalton [Fri, 13 Nov 2015 16:42:06 +0000 (08:42 -0800)]
Make visualbench timing continuous for no-reset mode
Ensures there is no period of time that is not on the clock when not
restting the graphics context between samples.
BUG=skia:
Review URL: https://codereview.chromium.org/
1444473003
egdaniel [Fri, 13 Nov 2015 16:34:52 +0000 (08:34 -0800)]
Move XferProcessors to glsl
This is basically a move and rename
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1440073002
cdalton [Fri, 13 Nov 2015 16:28:49 +0000 (08:28 -0800)]
Add visualbench option to not reset between samples
Adds a --reset flag that controls whether we teardown the graphics
context between samples. Also modifies the timing algorithm to always/
only pre-warm after resetting the context.
BUG=skia:
Review URL: https://codereview.chromium.org/
1442643007
mtklein [Fri, 13 Nov 2015 15:42:26 +0000 (07:42 -0800)]
Exclude src/android from CMake build too.
It requires src/codec.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/
1438123008
mtklein [Fri, 13 Nov 2015 15:07:47 +0000 (07:07 -0800)]
Revert of Switch uses of SkChecksum::Compute to Murmur3. (patchset #2 id:20001 of https://codereview.chromium.org/
1436973003/ )
Reason for revert:
I would not have expected this to change any images.
Looks like it's changed both MSAA and non-MSAA GMs:
https://gold.skia.org/search2?blame=
1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac&unt=true&head=true&query=source_type%3Dgm
Original issue's description:
> Switch uses of SkChecksum::Compute to Murmur3.
>
> SkChecksum::Compute is a very, very poorly distributed hash function.
> This replaces all remaining uses with Murmur3.
>
> The only interesting stuff is in src/gpu.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac
TBR=bsalomon@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1445523003
egdaniel [Fri, 13 Nov 2015 14:54:19 +0000 (06:54 -0800)]
Make all GrFragmentProcessors GL independent.
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1434313002
reed [Fri, 13 Nov 2015 14:23:54 +0000 (06:23 -0800)]
augment gradients_many to exercise flipped gradients and clampping
BUG=skia:
TBR=
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/
1442833004
msarett [Fri, 13 Nov 2015 14:11:09 +0000 (06:11 -0800)]
Move SkBitmapRegionDecoder to include/android and src/android
This will expose the BitmapRegionDecoder API as a public include
and move the implementation to src.
This makes this code more naturally exposed in Android and easier
to test in DM and nanobench.
BUG=skia:
Review URL: https://codereview.chromium.org/
1438873002
robertphillips [Fri, 13 Nov 2015 14:06:03 +0000 (06:06 -0800)]
Update testing frameworks/tests for MDB
This CL:
Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context)
Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case
Updates the ProgramUnitTest to use multiple drawTargets
Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them)
BUG=skia:4094
Review URL: https://codereview.chromium.org/
1441533003
msarett [Fri, 13 Nov 2015 13:56:27 +0000 (05:56 -0800)]
Lock pixels again after dummy reset of pixel ref in SkBitmapRegionCodec
This fixes a bug in Android. We cannot access the pixels after
calling decodeRegion() because the call to lock is missing.
BUG=skia:
Review URL: https://codereview.chromium.org/
1442553003
halcanary [Fri, 13 Nov 2015 12:29:59 +0000 (04:29 -0800)]
Documentation: clean up
- /user/quick/desktop to bring together all common information for
using Skia on desktop OSes. Remove duplication.
- Replace all instances of call ing gyp_skia directly with calling
`python bin/sync-and-gyp`. This is more correct on Windows
- Remove outdated linux prerequisite packages
- Formatting, formatting, formatting.
- Note command-line syntax differences in Windows
- SampleApp.app is no longer a bundle on MacOS
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1439493003
Review URL: https://codereview.chromium.org/
1439493003
mtklein [Thu, 12 Nov 2015 23:44:09 +0000 (15:44 -0800)]
Switch uses of SkChecksum::Compute to Murmur3.
SkChecksum::Compute is a very, very poorly distributed hash function.
This replaces all remaining uses with Murmur3.
The only interesting stuff is in src/gpu.
BUG=skia:
Review URL: https://codereview.chromium.org/
1436973003
cdalton [Thu, 12 Nov 2015 20:11:04 +0000 (12:11 -0800)]
Fix GrCoverageSetOpXP unit test on mixed samples
Updates GrCoverageSetOpXPFactory::TestCreate to not invert coverage
with mixed samples, which is an unsupported configuration.
TBR=bsalomon@google.com
BUG=skia:4556
Review URL: https://codereview.chromium.org/
1442763002
mtklein [Thu, 12 Nov 2015 19:07:53 +0000 (11:07 -0800)]
SkAtomic: always use std::atomic
We were doing it on Windows, now do it everywhere.
This just changes the backend. We could think about another step to actually
replacing all our sk_atomic_... with std atomic stuff.
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot
TBR=reed@google.com
Only deleting from include/...
Review URL: https://codereview.chromium.org/
1441773002
mtklein [Thu, 12 Nov 2015 18:41:05 +0000 (10:41 -0800)]
Replace SkFunction with std::function
TBR=reed@google.com
No public API changes.
Review URL: https://codereview.chromium.org/
1441753002
bsalomon [Thu, 12 Nov 2015 17:59:44 +0000 (09:59 -0800)]
API changes to GrTextureAdjuster.
These changes are to facilitate converting SkGpuDevice::drawTextureAdjuster to SkGpuDevice::drawTextureProducer.
Make constraint rect relative to content area
Store dimensions in GrTextureProducer
Make originalTexture() protected.
Remove getContentArea()
Provide pre-normalized texture matrix to GrTextureAdjuster::createFragmentProcessor. Define it to be be relative to content area.
Review URL: https://codereview.chromium.org/
1438663004
bungeman [Thu, 12 Nov 2015 17:50:08 +0000 (09:50 -0800)]
Factor CSS3 matching rules.
This factors out the CSS3 matching rules, creates tests for it,
and uses it with the GDI font manager.
BUG=chromium:554238,skia:4037
TBR=reed@google.com
No public API changes.
Review URL: https://codereview.chromium.org/
1438113002
cdalton [Thu, 12 Nov 2015 17:18:49 +0000 (09:18 -0800)]
Fix mixed sampled inverse path fills
Fixes a double blend that was occurring down the diagonals of inverse
path fills when using mixed samples.
BUG=skia:
Review URL: https://codereview.chromium.org/
1442513002
herb [Thu, 12 Nov 2015 16:53:42 +0000 (08:53 -0800)]
Increment text pointer when the width is zero in the subpixel with center and right alignment.
BUG=skia:
Review URL: https://codereview.chromium.org/
1438893002
mtklein [Thu, 12 Nov 2015 16:41:40 +0000 (08:41 -0800)]
Target Mac bots at 10.7+libc++ to approximate Chrome's 10.6+libc++.
This is necessary if we want to start using C++11 library features.
Chrome's got their own custom libc++-for-10.6.
This is a somewhat lazy approximation of that.
Chrome should still guard us from using 10.7-specific features
until 10.6-10.8 all go away.
BUG=skia:
Review URL: https://codereview.chromium.org/
1437173002
scroggo [Thu, 12 Nov 2015 06:54:24 +0000 (22:54 -0800)]
Add include guards for SkBRDAllocator
One step towards fixing the master-skia build
Review URL: https://codereview.chromium.org/
1440883002
bsalomon [Thu, 12 Nov 2015 00:52:03 +0000 (16:52 -0800)]
In SkGpuDevice;drawTextureAdjuster perform texture w\h divide in texture matrix
Review URL: https://codereview.chromium.org/
1440763002
cdalton [Wed, 11 Nov 2015 23:27:57 +0000 (15:27 -0800)]
Enable AA stencil clip for mixed samples
Updates GrClipMaskManager to use the stencil buffer when the RT is
mixed sampled.
BUG=skia:
Review URL: https://codereview.chromium.org/
1440513002
cdalton [Wed, 11 Nov 2015 23:16:07 +0000 (15:16 -0800)]
Revert of Enable stencil clipping in mixed sampled render targets (patchset #6 id:100001 of https://codereview.chromium.org/
1232103002/ )
Reason for revert:
Co-centered sample locations are not needed to do stencil clip with mixed samples
Original issue's description:
> Implement stencil clipping in mixed sampled render targets
>
> This change enables multisampled clipping for mixed sampled
> render targets. Previously clipping in mixed samples config
> behaved the same as in the gpu config.
>
> In order to retrofit non-MSAA draw methods, programmable sample
> locations are used in order to colocate all samples at (0.5, 0.5).
> Requires support for NV_sample_locations.
>
> BUG=skia:4399
>
> Committed:
> https://skia.googlesource.com/skia/+/
3e77ba96d56d15db30ac6d8ccb900e30aafcbb16
BUG=skia:
Review URL: https://codereview.chromium.org/
1415873011
cdalton [Wed, 11 Nov 2015 23:03:45 +0000 (15:03 -0800)]
Revert of Fix setColocatedSampleLocations on ES and GL < 4.5 (patchset #2 id:20001 of https://codereview.chromium.org/
1415503008/ )
Reason for revert:
Co-centered sample locations are not needed to do stencil clip with mixed samples.
Original issue's description:
> Fix setColocatedSampleLocations on ES and GL < 4.5
>
> Updates setColocatedSampleLocations to use glFramebufferParameteri
> when
> the DSA version glNamedFramebufferParameteri is not present.
>
> BUG=skia:
>
> Committed:
> https://skia.googlesource.com/skia/+/
98cad6219b430eddf5528473311279f21dbd2e10
BUG=skia:
Review URL: https://codereview.chromium.org/
1420883007
msarett [Wed, 11 Nov 2015 21:30:43 +0000 (13:30 -0800)]
Make BRD take advantage of zero initialized memory
This is the third 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/
1420053010
robertphillips [Wed, 11 Nov 2015 21:18:11 +0000 (13:18 -0800)]
Readd "immediate" mode
This isn't an exact replacement. The accumulated batches are now flushed at drawContext-entry-point granularity (via the AutoCheckFlush objects) rather than per batch.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1439533003
joshualitt [Wed, 11 Nov 2015 21:17:06 +0000 (13:17 -0800)]
bring up SDL on windows
BUG=skia:
patch from issue
1432353002 at patchset 1 (http://crrev.com/
1432353002#ps1)
Review URL: https://codereview.chromium.org/
1438003004
egdaniel [Wed, 11 Nov 2015 21:06:05 +0000 (13:06 -0800)]
Move all ShaderBuilder files to GLSL
BUG=skia:
Review URL: https://codereview.chromium.org/
1438003003
msarett [Wed, 11 Nov 2015 20:43:07 +0000 (12:43 -0800)]
Fix -Wunused-parameter errors in SkCodec.h in Android
BUG=skia:
Review URL: https://codereview.chromium.org/
1437823004
bsalomon [Wed, 11 Nov 2015 20:40:42 +0000 (12:40 -0800)]
Fix leaks in unit tests of GrGLTextureInfos
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/
1433353005
robertphillips [Wed, 11 Nov 2015 20:01:09 +0000 (12:01 -0800)]
Move GrBatchFlushState from GrDrawTarget to GrDrawingManager
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
mtklein [Wed, 11 Nov 2015 19:39:09 +0000 (11:39 -0800)]
float xfermodes (burn, dodge, softlight) in Sk8f, possibly using AVX.
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
herb [Wed, 11 Nov 2015 19:30:11 +0000 (11:30 -0800)]
Replace glyph find and position with common code for the gpu bitmap case.
BUG=skia:
Review URL: https://codereview.chromium.org/
1424173005
benjaminwagner [Wed, 11 Nov 2015 16:46:34 +0000 (08:46 -0800)]
Fix code that left shifts a negative value. This has undefined behavior.
Patched from internal cl/
107515669 by rtrieu and added comments.
BUG=skia:2481
Review URL: https://codereview.chromium.org/
1439483002
msarett [Wed, 11 Nov 2015 14:41:01 +0000 (06:41 -0800)]
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
Review URL: https://codereview.chromium.org/
1412803009
egdaniel [Wed, 11 Nov 2015 14:27:20 +0000 (06:27 -0800)]
Make GrGLSLProgramBuilder base class for GrGLProgramBuilder.
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
msarett [Wed, 11 Nov 2015 14:21:27 +0000 (06:21 -0800)]
Add an Allocator interface that indicates if memory is zero init
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
msarett [Tue, 10 Nov 2015 23:49:46 +0000 (15:49 -0800)]
Reorganize BRD code in new tools directory
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
msarett [Tue, 10 Nov 2015 23:38:23 +0000 (15:38 -0800)]
Delete dead SkImageDecoder::buildTileIndex and decodeSubset code
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
msarett [Tue, 10 Nov 2015 23:24:10 +0000 (15:24 -0800)]
Delete dead BitmapRegionDecoder code in tools
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
msarett [Tue, 10 Nov 2015 23:09:03 +0000 (15:09 -0800)]
Delete dead subset test code from dm
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
msarett [Tue, 10 Nov 2015 22:52:13 +0000 (14:52 -0800)]
Delete dead subset benches from nanobench
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
bungeman [Tue, 10 Nov 2015 21:29:43 +0000 (13:29 -0800)]
Missing resources crash SampleFilterQuality.
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
cdalton [Tue, 10 Nov 2015 20:49:06 +0000 (12:49 -0800)]
Revert of Fix mixed samples stencil clip (patchset #5 id:80001 of 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
bsalomon [Tue, 10 Nov 2015 19:54:56 +0000 (11:54 -0800)]
Use a struct for client GL texture handles
Review URL: https://codereview.chromium.org/
1429863009
msarett [Tue, 10 Nov 2015 19:22:12 +0000 (11:22 -0800)]
Reduce messages from libjpeg-turbo
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
Hal Canary [Tue, 10 Nov 2015 18:25:12 +0000 (13:25 -0500)]
GYP: remove stale skia_scalar gyp variable
DOCS_PREVIEW= https://skia.org/?cl=
1417703013
Review URL: https://codereview.chromium.org/
1417703013 .
robertphillips [Tue, 10 Nov 2015 18:19:50 +0000 (10:19 -0800)]
Disable preemptive batch preparation
Preemptive batch preparation makes MultiDrawBuffer more difficult to implement. This CL disables it.
BUG=skia:4094
Review URL: https://codereview.chromium.org/
1430403002
halcanary [Tue, 10 Nov 2015 17:48:40 +0000 (09:48 -0800)]
SkPDF: Deal with missing ColorTable (don't assert)
Review URL: https://codereview.chromium.org/
1414083005
bsalomon [Tue, 10 Nov 2015 17:18:32 +0000 (09:18 -0800)]
Fix reversion to bilerp on clipped mipmap draws
Review URL: https://codereview.chromium.org/
1437573004
joshualitt [Tue, 10 Nov 2015 16:27:22 +0000 (08:27 -0800)]
Parse command line arguments for sdl + android
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/
1432983002
joshualitt [Tue, 10 Nov 2015 15:36:18 +0000 (07:36 -0800)]
Fixes for building with sdl on android
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1437613002
senorblanco [Tue, 10 Nov 2015 15:32:37 +0000 (07:32 -0800)]
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
Review URL: https://codereview.chromium.org/
1431593002
aleksandar.stojiljkovic [Tue, 10 Nov 2015 12:55:15 +0000 (04:55 -0800)]
SkResourceCache::GetAllocator() index8 and other color types handling
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
reed [Tue, 10 Nov 2015 12:55:08 +0000 (04:55 -0800)]
apply mozilla patch
BUG=skia:4547
Review URL: https://codereview.chromium.org/
1421793009
cdalton [Mon, 9 Nov 2015 23:12:19 +0000 (15:12 -0800)]
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.
Review URL: https://codereview.chromium.org/
1431593006
robertphillips [Mon, 9 Nov 2015 21:51:06 +0000 (13:51 -0800)]
Update Layer Hoisting to store its atlas texture in the resource cache
BUG=skia:4346
Committed: https://skia.googlesource.com/skia/+/
42597bc99f00553825843b5ed41e81b121773368
Review URL: https://codereview.chromium.org/
1406013006
herb [Mon, 9 Nov 2015 21:15:21 +0000 (13:15 -0800)]
Extract glyph find and position code in preparation to use it in XPS and GPU code.
BUG=skia:
Review URL: https://codereview.chromium.org/
1409123010
reed [Mon, 9 Nov 2015 21:10:30 +0000 (13:10 -0800)]
demo tweaks, scale up perlin, add call to flush for fps
BUG=skia:
TBR=bsalomon
Review URL: https://codereview.chromium.org/
1419983006
joshualitt [Mon, 9 Nov 2015 20:30:05 +0000 (12:30 -0800)]
Wire up SDL on mac
BUG=skia:
Review URL: https://codereview.chromium.org/
1428633003
bsalomon [Mon, 9 Nov 2015 19:55:57 +0000 (11:55 -0800)]
Separate out natively-texture image/bmp draws from cached-as-texture 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
halcanary [Mon, 9 Nov 2015 19:47:09 +0000 (11:47 -0800)]
Documentation - Remove references to `gclient sync`
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
herb [Mon, 9 Nov 2015 18:49:29 +0000 (10:49 -0800)]
Fix compile error mac 10.8.
The mac 10.8 compiler seems to get the constructor wrong. Remove the SkNoCopy.
BUG=skia:4037
Review URL: https://codereview.chromium.org/
1421863004
bsalomon [Mon, 9 Nov 2015 18:06:06 +0000 (10:06 -0800)]
Rewrite bleed GM bmp/img generators and change oversized texture case
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
egdaniel [Mon, 9 Nov 2015 18:04:20 +0000 (10:04 -0800)]
Revert of Make SkBlurImageFilter capable of cropping during blur (GPU path). (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
mtklein [Mon, 9 Nov 2015 16:55:01 +0000 (08:55 -0800)]
SkPx: use namespaces as namespaces
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
herb [Mon, 9 Nov 2015 16:51:56 +0000 (08:51 -0800)]
Extract the glyph picking and placing code.
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
egdaniel [Mon, 9 Nov 2015 16:49:21 +0000 (08:49 -0800)]
Remove debug print statement
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1410723005
reed [Mon, 9 Nov 2015 16:36:05 +0000 (08:36 -0800)]
tweaks for nov demo
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
mtklein [Mon, 9 Nov 2015 16:33:53 +0000 (08:33 -0800)]
prune unused SkNx features
- 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
halcanary [Mon, 9 Nov 2015 16:28:13 +0000 (08:28 -0800)]
bin/sync-and-gyp: sh->py (make more cross-platform)
Review URL: https://codereview.chromium.org/
1425593011
egdaniel [Mon, 9 Nov 2015 15:40:49 +0000 (07:40 -0800)]
Update sample to use new perlin noise shader, and make cloud like
BUG=skia:
Review URL: https://codereview.chromium.org/
1410863006
mtklein [Mon, 9 Nov 2015 15:08:32 +0000 (07:08 -0800)]
sse 4.2 detection
While we're detecting instruction sets, let's fill in this hole too.
BUG=skia:
Review URL: https://codereview.chromium.org/
1419553007
ethannicholas [Mon, 9 Nov 2015 14:35:12 +0000 (06:35 -0800)]
added experimental improved Perlin noise shader
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1432863003
fmalita [Mon, 9 Nov 2015 00:30:08 +0000 (16:30 -0800)]
Revert of Change quality settings on SkImageDecoder_libjpeg (patchset #1 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
jvanverth [Sun, 8 Nov 2015 16:07:24 +0000 (08:07 -0800)]
Add text animation sample; tweak DrawShip sample
Committed: https://skia.googlesource.com/skia/+/
3b484a40b3be7f0262afadeaf6b741ba5cedcfe1
Review URL: https://codereview.chromium.org/
1410663005
update-skps [Sun, 8 Nov 2015 08:30:20 +0000 (00:30 -0800)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1416123006
halcanary [Sat, 7 Nov 2015 13:29:00 +0000 (05:29 -0800)]
Comments Style: s/skbug.com/bug.skia.org/
DOCS_PREVIEW= https://skia.org/?cl=
1432503003
Review URL: https://codereview.chromium.org/
1432503003
mtklein [Sat, 7 Nov 2015 03:48:19 +0000 (19:48 -0800)]
avx and avx2 detection
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
jvanverth [Sat, 7 Nov 2015 00:10:34 +0000 (16:10 -0800)]
Revert of Add text animation sample; tweak DrawShip sample (patchset #3 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
jvanverth [Fri, 6 Nov 2015 22:20:03 +0000 (14:20 -0800)]
Add text animation sample; tweak DrawShip sample
Review URL: https://codereview.chromium.org/
1410663005
mtklein [Fri, 6 Nov 2015 22:10:48 +0000 (14:10 -0800)]
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
Review URL: https://codereview.chromium.org/
1317233005
robertphillips [Fri, 6 Nov 2015 22:10:42 +0000 (14:10 -0800)]
Clean up GrBatchAtlas a bit
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
reed [Fri, 6 Nov 2015 20:36:24 +0000 (12:36 -0800)]
add sequence for nov talk
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True
Review URL: https://codereview.chromium.org/
1415453011
Matt Sarett [Fri, 6 Nov 2015 19:59:01 +0000 (14:59 -0500)]
Fix the build on Android devices
mtklein [Fri, 6 Nov 2015 19:34:06 +0000 (11:34 -0800)]
Revert of SkPx: new approach to fixed-point SIMD (patchset #12 id:220001 of 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
hcm [Fri, 6 Nov 2015 19:29:06 +0000 (11:29 -0800)]
Adding Skia Debugger documentation
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1414393010
Review URL: https://codereview.chromium.org/
1414393010
msarett [Fri, 6 Nov 2015 19:15:49 +0000 (11:15 -0800)]
Remove dependencies on Android's forked decoder libraries
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
msarett [Fri, 6 Nov 2015 19:02:06 +0000 (11:02 -0800)]
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:
Review URL: https://codereview.chromium.org/
1412803009
msarett [Fri, 6 Nov 2015 18:53:01 +0000 (10:53 -0800)]
Export tools as an include directory for Android
BUG=skia:
Review URL: https://codereview.chromium.org/
1411933006
herb [Fri, 6 Nov 2015 18:35:37 +0000 (10:35 -0800)]
compare has a syntax error where it is missing the path to sem().
BUG=skia:
Review URL: https://codereview.chromium.org/
1420963010
mtklein [Fri, 6 Nov 2015 17:18:57 +0000 (09:18 -0800)]
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
Review URL: https://codereview.chromium.org/
1317233005
msarett [Fri, 6 Nov 2015 16:56:32 +0000 (08:56 -0800)]
Rename SkBitmapRegionDecoder and Create function
We no longer need to worry about namespace
conflicts SkBitmapRegionDecoder in Android (which
we are replacing).
Additionally, the static Create() function does not
need to repeat the name BitmapRegionDecoder.
BUG=skia:
Review URL: https://codereview.chromium.org/
1415243007