Commit Graph

21440 Commits

Author SHA1 Message Date
msarett
1088db9234 Refactor SkBmpCodec
I started working on indicating the native encoded formats
and things got really complicated for bmp.  I think starting
with this refactor may help a little, and I also think that
this is a good change by itself.

BUG=skia:4133
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1820283002

Review URL: https://codereview.chromium.org/1820283002
2016-03-22 08:58:35 -07:00
reed
4c9776b046 Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )"
Fixed legacy withColorFilter to call new(er) make method

This reverts commit 1eb81db650.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825073002

TBR=

Review URL: https://codereview.chromium.org/1825073002
2016-03-22 08:10:17 -07:00
reed
1eb81db650 Revert of switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )
Reason for revert:
need to fix unguarded makeWithFilter

Original issue's description:
> switch colorfilters to sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822623002
>
> Committed: https://skia.googlesource.com/skia/+/f809d7687a4fb7b88b651b046da2bc0035d6aa09

TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1820303002
2016-03-22 07:35:17 -07:00
mtklein
ee451cf09d Revert of Clean up SSSE3 and SSE4 stubs. (patchset #1 id:1 of https://codereview.chromium.org/1810183003/ )
Reason for revert:
I've just had a better idea about how to fix this.  Let's revert while I work on it.

Original issue's description:
> Clean up SSSE3 and SSE4 stubs.
>
> We added these stubs to work around OpenBSD's old compiler, which had
> support for SSE2 but not SSSE3 or SSE4.
>
> We now already have other unstubbed files that require SSSE3 and SSE4 compiler
> support.  All the compilers we support have SSSE3 and SSE4 support, and all the
> way up to at least AVX2.
>
> (Requiring C++11 has had some nice ripple effects...)
>
>
> And, <immintrin.h> is already auto-included for these files, so no need for smmintrin or tmmintrin.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810183003
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/2b1b40e11afc41452b4d2f74cdebb1b6e6f7cc96

TBR=djsollen@google.com,mtklein@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1819223003
2016-03-22 07:28:12 -07:00
reed
f809d7687a switch colorfilters to sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822623002

Review URL: https://codereview.chromium.org/1822623002
2016-03-22 07:23:24 -07:00
egdaniel
cfcd1819d1 Fully implement onResetContext for Vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1819343002

Review URL: https://codereview.chromium.org/1819343002
2016-03-22 07:16:10 -07:00
robertphillips
d03b542492 Potential fix for SpecialImageTest memory leak
TBR=bsalomon@google.com
NOTREECHECKS=true

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825043002

Review URL: https://codereview.chromium.org/1825043002
2016-03-22 06:15:47 -07:00
jcgregorio
6ae6dc7b0a nanobench: Stop reporting median_ms, it's no better than min_ms.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825473002

Review URL: https://codereview.chromium.org/1825473002
2016-03-22 05:26:57 -07:00
senorblanco
e5e79840ef Change signatures of filter bounds methods to return a rect.
Change filterBounds(), onFilterBounds() and onFilterNodeBounds() and computeFastBounds() to
return the destination rectangle. There was no code path that could
return false, and returning rects by value is ok now.

BUG=skia:5094
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823573003

Review URL: https://codereview.chromium.org/1823573003
2016-03-21 14:51:59 -07:00
halcanary
989da4a32c SkPDF: SkPDFDevice has ptr to SkPDFDocument
This is necessary for pre-serialization of images.

BUG=skia:5087
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1802963002

Review URL: https://codereview.chromium.org/1802963002
2016-03-21 14:33:17 -07:00
egdaniel
2cab66be9c fix release build vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1819853004

Review URL: https://codereview.chromium.org/1819853004
2016-03-21 14:24:14 -07:00
halcanary
50e82e6176 SkPDF: SkPDFDocument reorganized so that some objects can be serialized early.
No change in output.

BUG=skia:5087
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1802033003

Review URL: https://codereview.chromium.org/1802033003
2016-03-21 13:45:05 -07:00
robertphillips
b4bd11e665 Update SkSpecialImage to be able to create tight SkImages and SkSurfaces
This calved off of: https://codereview.chromium.org/1810693003/ (Switch SkTileImageFilter over to new onFilterImage interface) since the TileImageFilter needs a tight bitmap/texture/image to perform its draw.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1816223002

Review URL: https://codereview.chromium.org/1816223002
2016-03-21 13:44:18 -07:00
msarett
60316a9ec4 Disable the WIC encoder for jpegs
My fix from https://codereview.chromium.org/1791583002/ is not
sufficient.

WIC will only encode JPEGs if we pass in a bitmap in BGR
format.  For now, let's disable the WIC encoder on JPEGs
and fall back on SkImageEncoder_libjpeg.

This should fix the scaled-generator gm.
https://gold.skia.org/search2?query=source_type%3Dgm%26name%3Dscale-generator&include=false&head=true&unt=true&pos=false&neg=false&limit=100

BUG=skia:3969
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823743002

Review URL: https://codereview.chromium.org/1823743002
2016-03-21 13:35:43 -07:00
reed
7b380d0d0e guard rasterizer and drawlooper setters
Need to land https://codereview.chromium.org/1823513002/ first

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1821533002

Review URL: https://codereview.chromium.org/1821533002
2016-03-21 13:25:16 -07:00
fmalita
dc6c9bf91c Refactor 4f gradients using trait templates
Some 4f gradient housekeeping.

1) replace <DstPtrType, ColorProfile> specialization tuples with an enum covering all dest types
   (L32, S32, F16, F32)

2) group various template helpers into dest trait classes, specialized for each dest type

(2a - conflate current dst_swizzle and scale_for_dest ops into one load op)

R=reed@google.com,mtklein@google.com,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1816883002

Review URL: https://codereview.chromium.org/1816883002
2016-03-21 13:16:52 -07:00
halcanary
66be626f7f SkPDF: Add SkPDFCanvas to intercept some draw calls
Motivation: this simplifies implementation at the device level.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812063002

Review URL: https://codereview.chromium.org/1812063002
2016-03-21 13:01:34 -07:00
jvanverth
ddf9835e9c Minor fixes to avoid NVPR in Vulkan and provide good GrVkGpu teardown.
BUG=skia:5097
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1818093002

Review URL: https://codereview.chromium.org/1818093002
2016-03-21 11:46:00 -07:00
caryclark
fa4c20e728 exit computeFilters if filter width is zero
The fuzzer associated with this bug triggered an assert
when building the resize filter. I can't tell if there
is a more fundemental bug here or not.

Checking for a zero-sized filter fixes the fuzzer.

R=fmalita@chromium.org
BUG=595856
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810333002

Review URL: https://codereview.chromium.org/1810333002
2016-03-21 11:25:42 -07:00
benjaminwagner
d9dd581566 Exclude new file in Google3 build.
The new file was added in https://codereview.chromium.org/1817633002

Review URL: https://codereview.chromium.org/1823703002
2016-03-21 10:45:01 -07:00
ethannicholas
f67531f713 unified PNG encoding between SkDrawCommand and skiaserve
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1818043003

Review URL: https://codereview.chromium.org/1818043003
2016-03-21 10:19:39 -07:00
halcanary
bae235eb07 SkPDF: add drop() virtual to release resources early.
Call drop() after calling emitObject() on top-level objects.  In Debug
mode, assert that each object is emited exactly once by asserting that
emitObject is never called after drop().  Same for addResources().

To make sure that top level objects don't get deleted prematurely,
SkPDFObjNumMap takes a reference.

Motivation: save RAM.  Allow even earlier serialization with later
changes.

Also: Switch some SkTDArrays to SkTArrays.

BUG=skia:5087
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1790023003

Review URL: https://codereview.chromium.org/1790023003
2016-03-21 10:05:23 -07:00
mtklein
f8f90e4a85 SkNx refresh
- rearrange a bit
   - fewer macros
   - hooks for all operators
   - add left and right scalar operator overrides
   - add +=, &=, <<=, etc.
   - add SkNx_split() and SkNx_join()
   - simplify the many rsqrt() and invert() options to just what we actually use

This refactoring pointed out that our float <-> int NEON conversions are not specialized, so I've implemented them.  It seems nice that this is an error rather than silently falling back to serial code.

It's unclear to me if split/join want to be external, static methods, or non-static methods (SkNx_join(), Sk4f::Join(), x.join()).  Time will tell?

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812233003
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1812233003
2016-03-21 10:04:46 -07:00
mtklein
04cdc4b618 Remove transitional explicit operator bool.
These should no longer be necessary. Android's STL should now
be sane.

TBR=reed
This just removes code.

Review URL: https://codereview.chromium.org/1817153002
2016-03-21 09:35:33 -07:00
bsalomon
3c481001b1 Make the debug interface a GrGLTestInterface subclass.
The debug interface subsumes the GrDebugGL singleton which allows multiple instances.

Fixes a few issues that existed before this CL (pack alignment wasn't tracked or respected, and we weren't initializing a texture id to 0 in one GM). Apparently this is not currently run on the bots.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812323002

Review URL: https://codereview.chromium.org/1812323002
2016-03-21 09:04:26 -07:00
borenet
423ba24cac Swarming: Ensure depot_tools is in PATH when compiling
Turns out we were "lucky" for our Linux bots which already have depot_tools in PATH. The Mac bot does have depot_tools, but it's not in PATH.  Add it in the script to ensure we can always get to it.

NOTRY=true
BUG=skia:4763
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823653002

Review URL: https://codereview.chromium.org/1823653002
2016-03-21 09:02:51 -07:00
jbroman
17a652017a Make SkComposeImageFilter::onFilterImage filter the bounds given to the inner filter.
Previously, the bounds requested by the caller would be passed to both the
inner and outer filter, but since the outer filter may move pixels, this is not
necessarily sufficient to supply the pixels required by the outer filter to fill
the bounds.

Unit test included.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813373002

Review URL: https://codereview.chromium.org/1813373002
2016-03-21 08:38:58 -07:00
reed
b95f55510b add SK_SUPPORT_LEGACY_PATHEFFECT_PTR for google3 roll fix
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817113002

TBR=mtklein
NOTRY=True

Review URL: https://codereview.chromium.org/1817113002
2016-03-21 08:30:19 -07:00
jbroman
127fe3e24b Correct comment to refer to SkImageFilter::kReverse_MapDirection.
kBackward_MapDirection does not exist; might as well have the comment exactly
match the valid enumerator.

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1820883002

Review URL: https://codereview.chromium.org/1820883002
2016-03-21 08:28:48 -07:00
msarett
0e6274f540 Parse icc profiles and exif orientation from jpeg markers
New resources should be fine to add since they are already
checked into chromium.

BUG=skia:3834
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813273002

Review URL: https://codereview.chromium.org/1813273002
2016-03-21 08:04:40 -07:00
bungeman
85c9447d4d Add note about Chromium's use of old libstdc++ to docs.
Chromium must still build against libstdc++4.6.4, which presents limits
on at least type traits and perhaps performance.

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1820873002

Review URL: https://codereview.chromium.org/1820873002
2016-03-21 07:46:28 -07:00
jcgregorio
7b2707d538 nanobench: Reduce the total number of statistics being captured.
BUG=skia:5092
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1819863002

Review URL: https://codereview.chromium.org/1819863002
2016-03-21 07:42:59 -07:00
caryclark
fe7ada7f0d Make FreeType usable on Windows.
Add missing functionality so that pdfium can use FreeType
from Windows.

Add an empty custom font manager so pdfium can use FreeType
without any local fonts.

R=bungeman@google.com

Review URL: https://codereview.chromium.org/1817633002
2016-03-21 06:55:52 -07:00
brianosman
a635936588 sRGB support in Ganesh. Several pieces:
sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows
us to disable sRGB -> Linear conversion when reading textures. This gives
us an easy way to support "legacy" L32 mode. We disable decoding based on
the pixel config of the render target. Textures can override that behavior
(specifically for format-conversion draws where we want that behavior).

Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA
internally, and the external format is BGR order, so TexImage calls will
swizzle correctly. This lets us interact with sRGB raster surfaces on BGR
platforms.

Devices without sRGB support behave like they always have: conversion from
color type and profile type ignores sRGB and always returns linear pixel
configs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002

Review URL: https://codereview.chromium.org/1789663002
2016-03-21 06:55:37 -07:00
marco.diiga
f8ee67edb8 Fix for unaligned automatic variable address in SSE routines. This used to work on linux but crashed on windows when rendering antialiased glyphs. I tracked the problem down to an alignment issue.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817813002

Review URL: https://codereview.chromium.org/1817813002
2016-03-21 06:04:43 -07:00
halcanary
2c9c469cc9 SkPDF: metadata first
Motivation: while experimenting with serializing images immediately, I would like to keep serializing metadata first.

TBR=djsollen@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780463008

Review URL: https://codereview.chromium.org/1780463008
2016-03-20 07:07:11 -07:00
update-skps
ee0fa00427 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817833002

Review URL: https://codereview.chromium.org/1817833002
2016-03-20 01:28:13 -07:00
bungeman
4ab57e0097 Don't convert DWORD to int.
DWORD is unsigned, and might not be an int. vs2015u2 complains.

BUG=skia:4553

TBR=mtklein
This is pretty trivial and makes the vs2015 bot compile.

Review URL: https://codereview.chromium.org/1818713002
2016-03-19 15:51:05 -07:00
bungeman
68c14d9b32 Templatize SkToXXX.
Makes the checked cast in debug more correct, avoiding new
warnings in vs2015.

BUG=skia:4553

Committed: https://skia.googlesource.com/skia/+/0be9e806af72b3e029e691eef5c891c90d3fd320

Review URL: https://codereview.chromium.org/1814153003
2016-03-19 15:06:56 -07:00
fmalita
ba73ad0f3a Fix uninitialized fCurrProgramID in GrGLCreateNullInterface
TBR=bsalomon@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817793002

Review URL: https://codereview.chromium.org/1817793002
2016-03-19 13:07:14 -07:00
herb
5c473bee8e Document BitmapStateAutoMapper.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815373002

Review URL: https://codereview.chromium.org/1815373002
2016-03-19 08:46:24 -07:00
reed
e22bab9954 disable SK_SUPPORT_LEGACY_PATHEFFECT_PTR for skia builds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1820593002

TBR=

Review URL: https://codereview.chromium.org/1820593002
2016-03-18 19:18:18 -07:00
msarett
d15750c0c7 Remove uses of SkImageDecoder from samplecode
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812323003

Review URL: https://codereview.chromium.org/1812323003
2016-03-18 15:48:49 -07:00
msarett
07ec54d8e6 Replace uses of SkImageDecoder in src/animator
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1818563002

Review URL: https://codereview.chromium.org/1818563002
2016-03-18 15:41:00 -07:00
egdaniel
c2dc1b29ba Add DescriptorPool and set manager to GrVkProgram
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765923002

Review URL: https://codereview.chromium.org/1765923002
2016-03-18 13:18:23 -07:00
bsalomon
56cb377c75 Fix ANGLE build
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1814233003

Review URL: https://codereview.chromium.org/1814233003
2016-03-18 13:10:33 -07:00
egdaniel
470d77a1d7 Use dynamic state from vulkan pipelines
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813913002

Review URL: https://codereview.chromium.org/1813913002
2016-03-18 12:50:27 -07:00
reed
58fc94e55f allow more options for shader blitprocs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810383004

Review URL: https://codereview.chromium.org/1810383004
2016-03-18 12:42:26 -07:00
jvanverth
d2497f35ce Enable extension support and debug layer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785813002
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1785813002
2016-03-18 12:39:05 -07:00
msarett
e820dfebbc Remove uses of SkImageDecoder from gms
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1791583002

Committed: https://skia.googlesource.com/skia/+/d427266a58af7e6ea6c12c9cd56ade3e179a0c04

Review URL: https://codereview.chromium.org/1791583002
2016-03-18 12:13:47 -07:00