platform/upstream/libSkiaSharp.git
10 years agoAlways initialize SkDashPathEffect fields.
mtklein [Wed, 9 Jul 2014 16:54:10 +0000 (09:54 -0700)]
Always initialize SkDashPathEffect fields.

SkDashPathEffect is flattened into a hash key as part of the old-and-busted
SkPicture paint deduping code.  If all its fields aren't intialized, this hash
will be based on uninitialized data.  This means the hash won't be
deterministic, and worse, Valgrind and MSAN will make us feel bad.

An alternative to this is to have SkDashPath::CalcDashParameters always
guarantee it writes something to all its output parameters, even when the dash
intervals make no sense.  I like it being dumb and its users defensive, but
could go either way.

BUG=391001
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/379813004

10 years agoAdd bounds checks to SkTDynamicHash
mtklein [Wed, 9 Jul 2014 16:20:54 +0000 (09:20 -0700)]
Add bounds checks to SkTDynamicHash

BUG=391001
R=bsalomon@google.com, mtklein@google.com, sugoi@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/380443002

10 years agoCleanup: Remove SkUTF16_Str API.
tfarina [Wed, 9 Jul 2014 16:18:05 +0000 (09:18 -0700)]
Cleanup: Remove SkUTF16_Str API.

It does not have any users in Skia, Blink and Chromium.

BUG=None
TEST=make all
R=mtklein@google.com, reed@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/366243004

10 years agoOptimized R11 EAC compressor
krajcevski [Wed, 9 Jul 2014 16:15:45 +0000 (09:15 -0700)]
Optimized R11 EAC compressor

R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/373243002

10 years agoSlim Skia down to just one murmur3 implementation.
mtklein [Wed, 9 Jul 2014 15:49:08 +0000 (08:49 -0700)]
Slim Skia down to just one murmur3 implementation.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/376183004

10 years agonanobench: add median and --cpu/--gpu
mtklein [Wed, 9 Jul 2014 15:46:49 +0000 (08:46 -0700)]
nanobench: add median and --cpu/--gpu

BUG=skia:
R=krajcevski@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/377283002

10 years agoRevert of Make GrGLConfigConversionEffect work for Imagination and some other GPUs...
bsalomon [Wed, 9 Jul 2014 15:14:36 +0000 (08:14 -0700)]
Revert of Make GrGLConfigConversionEffect work for Imagination and some other GPUs. (https://codereview.chromium.org/277323002/)

Reason for revert:
Need to only use the highp variations on GLES contexts not GL contexts.

http://108.170.220.120:10117/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release/builds/3398/steps/RunTests/logs/stdio

Original issue's description:
> Make GrGLConfigConversionEffect work for Imagination and some other GPUs.
>
> BUG=372341
>
> Committed: https://skia.googlesource.com/skia/+/93cf46f7d687128d2ad05762bd65fea6c4539553

R=tomhudson@chromium.org, changjun.yang@intel.com, rmistry@google.com, jcgregorio@google.com
NOTREECHECKS=true
NOTRY=true
BUG=372341

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377263003

10 years agorebaseline_server: cache results in long-running ImageDiffDB instance
epoger [Wed, 9 Jul 2014 14:59:06 +0000 (07:59 -0700)]
rebaseline_server: cache results in long-running ImageDiffDB instance

Rather than rebuilding the ImageDiffDB from scratch every time we update expected/actual results, keep the same ImageDiffDB instance around and add image pairs to it.

This makes updating results within a long-running server.py *much* faster, and tests out an idea I'm ruminating in https://goto.google.com/LongRunningImageDiffDBServer : we could run an ImageDiffDB server that developers could connect to from their locally running rebaseline_server instances, for much faster launch times.

BUG=skia:2414
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/379563005

10 years agoRemove ability for Release code to call getRefCnt() or getWeakRefCnt().
mtklein [Wed, 9 Jul 2014 14:52:32 +0000 (07:52 -0700)]
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().

These getRefCnt() methods are not thread safe, so Skia code should not
be calling them.  unique() is fine.

SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().

This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.

BUG=skia:2726

Committed: https://skia.googlesource.com/skia/+/4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443

R=senorblanco@chromium.org, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/378643003

10 years agoBuild Android with SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG.
scroggo [Wed, 9 Jul 2014 14:26:40 +0000 (07:26 -0700)]
Build Android with SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG.

This flag will be used on Android when built for the framework,
as well as when built for the WebView. Setting this flag for
Android means our tests can fully test CanvasStateTest.

Fix CanvasStateTest. It has bit-rotted since disabling
SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG.

Splitting off from https://codereview.chromium.org/372003002/ ,
as it seems self-contained.

BUG=b/15693384
R=djsollen@google.com, reed@google.com, mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/375943003

10 years agoAdd thread safety configuration check.
henrik.smiding [Wed, 9 Jul 2014 14:25:09 +0000 (07:25 -0700)]
Add thread safety configuration check.

Enables the possibility to set thread model in the configuration
files (like Android does).
Also adds a warning check to make sure that we have an
implementation for the thread safety class.

Author: joakim.landberg@intel.com

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, torne@chromium.org, scroggo@google.com

Author: henrik.smiding@intel.com

Review URL: https://codereview.chromium.org/361423003

10 years agoMake GrGLConfigConversionEffect work for Imagination and some other GPUs.
changjun.yang [Wed, 9 Jul 2014 13:47:29 +0000 (06:47 -0700)]
Make GrGLConfigConversionEffect work for Imagination and some other GPUs.

BUG=372341
R=tomhudson@chromium.org, bsalomon@google.com

Author: changjun.yang@intel.com

Review URL: https://codereview.chromium.org/277323002

10 years agorebaseline_server: allow JSON to control column filtering
epoger [Wed, 9 Jul 2014 13:19:20 +0000 (06:19 -0700)]
rebaseline_server: allow JSON to control column filtering

Makes the rebaseline_server client more generic, allowing the server to tweak display properties by writing directives into the JSON file.

Adds two new fields to the rebaseline_server JSON file (and thus increments VALUE__HEADER__SCHEMA_VERSION):
1. KEY__ROOT__EXTRACOLUMNORDER: order in which the client should display columns
2. KEY__EXTRACOLUMNHEADERS__USE_FREEFORM_FILTER: whether a column should be filtered using a freeform text field or checkboxes

BUG=skia:2230
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/376623002

10 years agoRevert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."
Mike Klein [Wed, 9 Jul 2014 13:04:07 +0000 (09:04 -0400)]
Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."

This reverts commit 4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443.

BUG=skia:

Review URL: https://codereview.chromium.org/382523002

10 years agoAdd SkRacy
mtklein [Wed, 9 Jul 2014 02:37:47 +0000 (19:37 -0700)]
Add SkRacy

SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.

Here we apply in several classes.  In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.

In SkPixelRef, we wrap the genIDs.  We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.

BUG=skia:

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

CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/371363004

10 years agomanual bench rebase after d3f3e58, adjusted with a26bbb95a64c1507ba81d39b971f079f3f9c5646
bensong [Tue, 8 Jul 2014 23:05:39 +0000 (16:05 -0700)]
manual bench rebase after d3f3e58, adjusted with a26bbb95a64c1507ba81d39b971f079f3f9c5646

R=borenet@google.com
TBR=borenet@google.com

Bypassing trybots:
NOTRY=true

Author: bensong@google.com

Review URL: https://codereview.chromium.org/377093002

10 years agobench rebase tool: add ability to specify a second CL for fluctuating data adjustment.
bensong [Tue, 8 Jul 2014 21:36:56 +0000 (14:36 -0700)]
bench rebase tool: add ability to specify a second CL for fluctuating data adjustment.

R=borenet@google.com
TBR=borenet@google.com
BUG=skia:2657
NOTRY=true

Author: bensong@google.com

Review URL: https://codereview.chromium.org/370413002

10 years agoRevert of Add SkRacy (https://codereview.chromium.org/371363004/)
mtklein [Tue, 8 Jul 2014 21:06:46 +0000 (14:06 -0700)]
Revert of Add SkRacy (https://codereview.chromium.org/371363004/)

Reason for revert:
hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so

Original issue's description:
> Add SkRacy
>
> SkRacy<T> is a zero-overhead wrapper for a T, except it also
> silences race warnings when TSAN is running.
>
> Here we apply in several classes.  In SkMatrix and SkPathRef,
> we use it to opportunistically cache some idempotent work.
>
> In SkPixelRef, we wrap the genIDs.  We think the worst that
> can happen here is we'll increment the global next-genID a
> few times instead of once when we go to get another ID.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7

R=reed@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/377693005

10 years agoRevert of Missing volatile in AnnotateBenignRaceSized declaration. (https://coderevie...
mtklein [Tue, 8 Jul 2014 21:04:45 +0000 (14:04 -0700)]
Revert of Missing volatile in AnnotateBenignRaceSized declaration. (https://codereview.chromium.org/380473002/)

Reason for revert:
sdf

Original issue's description:
> Missing volatile in AnnotateBenignRaceSized declaration.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f7a180b

R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/379623004

10 years agoFixed up SkTimedPicturePlayback
robertphillips [Tue, 8 Jul 2014 20:07:57 +0000 (13:07 -0700)]
Fixed up SkTimedPicturePlayback

This was more motivated to remove the preDraw and postDraw virtuals from SkPicturePlayback.

R=mtklein@google.com, reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/375943002

10 years agoMissing volatile in AnnotateBenignRaceSized declaration.
Mike Klein [Tue, 8 Jul 2014 19:54:06 +0000 (15:54 -0400)]
Missing volatile in AnnotateBenignRaceSized declaration.

BUG=skia:

Review URL: https://codereview.chromium.org/380473002

10 years agoAdd SkRacy
mtklein [Tue, 8 Jul 2014 19:30:39 +0000 (12:30 -0700)]
Add SkRacy

SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.

Here we apply in several classes.  In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.

In SkPixelRef, we wrap the genIDs.  We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/371363004

10 years agoAdd missing / in android_gdbserver
tomhudson [Tue, 8 Jul 2014 19:29:54 +0000 (12:29 -0700)]
Add missing / in android_gdbserver

Introduced in https://codereview.chromium.org/22617002, apparently
worked just fine, at least on already-set-up devices. Failing at
least since https://codereview.chromium.org/352303003/.

BUG=skia:2729
R=djsollen@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/372273003

10 years agoUse BUILD_NATIVE_TEST instead of BUILD_EXECUTABLE.
scroggo [Tue, 8 Jul 2014 18:20:57 +0000 (11:20 -0700)]
Use BUILD_NATIVE_TEST instead of BUILD_EXECUTABLE.

This will generate makefiles for our tools (bench, tests, gm, dm) using
the line "include $(BUILD_NATIVE_TEST)". This has been recommended by the
Android team, as it builds both 32 bit and 64 bit versions of the test.

Do not use LOCAL_MODULE_PATH, which is deprecated (see https://docs.google.com/a/google.com/document/d/1uLAuY7_KYGx1TSzJ9SXkyevT8qNpra2ZoIBkmCoq8VM/edit# ).

Corresponds to ag/498302 , which makes this change just for bench.

R=djsollen@google.com, halcanary@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/369673002

10 years agoadd setPreserveSrcDepth to replace PrefTable API for android
reed [Tue, 8 Jul 2014 18:15:59 +0000 (11:15 -0700)]
add setPreserveSrcDepth to replace PrefTable API for android

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/371273007

10 years agoUse stack allocation for Android data in SkScalerContext::MakeRec().
jvanverth [Tue, 8 Jul 2014 18:15:48 +0000 (11:15 -0700)]
Use stack allocation for Android data in SkScalerContext::MakeRec().

In a perfvis run on the "Boogie" test page, descriptorProc() during
detachCache() was taking .721 ms, and 20% of that was the flatten() in
MakeRec(). Changing this to a smaller stack allocation reduces the time
for descriptorProc() to .556 ms.

R=reed@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/372323003

10 years agoCleanup: Rename UnitTestTest.cpp to RTConfRegistryTest.cpp
tfarina [Tue, 8 Jul 2014 17:33:28 +0000 (10:33 -0700)]
Cleanup: Rename UnitTestTest.cpp to RTConfRegistryTest.cpp

BUG=None
TEST=make tests
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/374443002

10 years agoFix param name in GrEffect::CastEffect
bsalomon [Tue, 8 Jul 2014 17:30:37 +0000 (10:30 -0700)]
Fix param name in GrEffect::CastEffect

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/376863006

10 years agoBack off from SkPicture API hardening a bit
Robert Phillips [Tue, 8 Jul 2014 16:58:20 +0000 (12:58 -0400)]
Back off from SkPicture API hardening a bit

Sigh - Chromium still relies on the old clone functionality

TBR=reed@google.com

Review URL: https://codereview.chromium.org/371273006

10 years agoGoodbye GrEffectRef.
bsalomon [Tue, 8 Jul 2014 16:56:10 +0000 (09:56 -0700)]
Goodbye GrEffectRef.

Also, reworked some var names and comments around SkShader::asNewEffect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/374923002

10 years agoAdding validation before using an SkImageInfo object read from an SkReadBuffer.
sugoi [Tue, 8 Jul 2014 16:18:48 +0000 (09:18 -0700)]
Adding validation before using an SkImageInfo object read from an SkReadBuffer.

BUG=389574
R=senorblanco@google.com, reed@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/376803004

10 years agoClean up SkImageFilter constructors.
senorblanco [Tue, 8 Jul 2014 16:16:22 +0000 (09:16 -0700)]
Clean up SkImageFilter constructors.

Now that all creation of SkImageFilters goes through
factory Create() methods, there's no real reason for the
convenience constructors. Some SkImageFilter subclasses
which actually have zero DAG-able inputs were passing NULL
to the superclass constructor. This actually means 1 input,
with a NULL value, not zero inputs. This becomes more
relevant for the upcoming cache infrastructure, where this
indicates that the filter will use its src input, where in
fact some of these filters do not (they are image generators
only).

Limiting SkImageFilter to a single constructor resolves this
ambiguity.

Along the way, I removed all of the default parameters to
the constructors, since the Create methods always call them
with the full argument list.

BUG=skia:
R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/376953003

10 years agoHarden SkPicture interface a bit
robertphillips [Tue, 8 Jul 2014 15:38:18 +0000 (08:38 -0700)]
Harden SkPicture interface a bit

With the removal of SkTimedPicture we can now make more of SkPicture private.

R=reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/377833007

10 years agoSplit SkPictureRangePlayback out of SkPicturePlayback
robertphillips [Tue, 8 Jul 2014 15:28:08 +0000 (08:28 -0700)]
Split SkPictureRangePlayback out of SkPicturePlayback

This CL starts cleaning up SkPicturePlayback. Future CLs will:

split out the SkPictureReplacementPlayback
remove the preDraw/postDraw entry points & fix up SkPictureTimedPlayback

R=mtklein@google.com, reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/374833006

10 years agoRemove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.
bsalomon [Tue, 8 Jul 2014 14:34:20 +0000 (07:34 -0700)]
Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/371103003

10 years agoMake GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
bsalomon [Tue, 8 Jul 2014 13:52:35 +0000 (06:52 -0700)]
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.

Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*

Make GrEffectRef a typedef for GrEffect.

Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377503004

10 years agoRemove ability for Release code to call getRefCnt() or getWeakRefCnt().
mtklein [Tue, 8 Jul 2014 13:48:17 +0000 (06:48 -0700)]
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().

These getRefCnt() methods are not thread safe, so Skia code should not
be calling them.  unique() is fine.

SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().

This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.

BUG=skia:2726
R=senorblanco@chromium.org, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/378643003

10 years agoClean up a bit after SkPictureData/SkPicturePlayback split
robertphillips [Tue, 8 Jul 2014 13:12:22 +0000 (06:12 -0700)]
Clean up a bit after SkPictureData/SkPicturePlayback split

This CL begins setting up the SkPicturePlayback split by simplifying the class and componentizing it a bit. It:
  fuses SkPictureData::OperationList into SkPicture::OperationList
  adds a handleOp method to SkPicturePlayback that can be reused by derived classes
  removes a couple debugging tools (ENABLE_TIME_DRAW & SPEW_CLIP_SKIPPING)

R=mtklein@google.com, reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/378703002

10 years agomake skia_launcher be a position independent executable
Derek Sollenberger [Tue, 8 Jul 2014 12:26:21 +0000 (08:26 -0400)]
make skia_launcher be a position independent executable

R=tomhudson@google.com

Review URL: https://codereview.chromium.org/374833003

10 years agofix WBMP image will get null color table when draw in RGB565 Canvas
Derek Sollenberger [Tue, 8 Jul 2014 12:23:31 +0000 (08:23 -0400)]
fix WBMP image will get null color table when draw in RGB565 Canvas

Symptom: draw Index8 to RGB565 will using SkColorTable::lock16BitCache and return a null array.
Root Cause:lock16BitCache return null pointer because default type is kPremul_SkAlphaType
Solution: WBMP color table should be kOpaque_SkAlphaType
Reproduce steps: draw a WBMP with a matrix that apply rotate and transform

This patch was proposed by arthur_hung at htc.com to the AOSP project.

R=reed@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/377443007

10 years agoMIPS: added optimizations for functions from SkBitmapProcState
djordje.pesut [Tue, 8 Jul 2014 09:24:16 +0000 (02:24 -0700)]
MIPS: added optimizations for functions from SkBitmapProcState

gain is ~30%

following functions are optimized:
  SI8_D16_nofilter_DX
  SI8_opaque_D32_nofilter_DX

R=djsollen@google.com, teodora.petrovic@gmail.com

Author: djordje.pesut@imgtec.com

Review URL: https://codereview.chromium.org/336533003

10 years agoUpdate SKP version to 45
borenet [Tue, 8 Jul 2014 06:36:25 +0000 (23:36 -0700)]
Update SKP version to 45

Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/379523002

10 years agoFlesh out SkMatrix typemask suppressions.
mtklein [Tue, 8 Jul 2014 00:53:17 +0000 (17:53 -0700)]
Flesh out SkMatrix typemask suppressions.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/374763002

10 years agoAnother suppression, this in SkMatrix caching the typemask.
mtklein [Tue, 8 Jul 2014 00:18:50 +0000 (17:18 -0700)]
Another suppression, this in SkMatrix caching the typemask.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/372103005

10 years agoSuppress race to cache SkPathRef bounds.
mtklein [Mon, 7 Jul 2014 23:28:46 +0000 (16:28 -0700)]
Suppress race to cache SkPathRef bounds.

This should be fixed naturally soon, and it's an innocuous race (some paths
may have their bounds calculated more than once), so we can just quiet it for now.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/376733003

10 years agoTurn on threaded DMQuiltTask drawing for old-format SkPictures too.
mtklein [Mon, 7 Jul 2014 23:17:36 +0000 (16:17 -0700)]
Turn on threaded DMQuiltTask drawing for old-format SkPictures too.

This required the same SkBitmap copying that we added today to SkRecord.

BUG=skia:
R=reed@android.com, robertphillips@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/375703002

10 years agoremove unneeded flag for android
reed [Mon, 7 Jul 2014 22:54:20 +0000 (15:54 -0700)]
remove unneeded flag for android

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/372133003

10 years agoHandle close button in SkOSWindow_Unix.
bungeman [Mon, 7 Jul 2014 22:46:00 +0000 (15:46 -0700)]
Handle close button in SkOSWindow_Unix.

Currently X with most Window managers calls 'exit' when the close button
is used. This can cause issues as the Window is not properly destroyed.
With this change we can handle this window message and properly exit.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/377733002

10 years agoSuppress getRefCnt() calls from SkImageFilter.
mtklein [Mon, 7 Jul 2014 22:44:00 +0000 (15:44 -0700)]
Suppress getRefCnt() calls from SkImageFilter.

BUG=skia:2726
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/373863002

10 years agoRevert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. (https...
reed [Mon, 7 Jul 2014 22:17:49 +0000 (15:17 -0700)]
Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. (https://codereview.chromium.org/377503004/)

Reason for revert:
broke linux builders

Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8

R=robertphillips@google.com, bsalomon@google.com
TBR=bsalomon@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: reed@google.com

Review URL: https://codereview.chromium.org/372053003

10 years agoMake GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
bsalomon [Mon, 7 Jul 2014 22:11:31 +0000 (15:11 -0700)]
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.

Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*

Make GrEffectRef a typedef for GrEffect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377503004

10 years agoYUV to RGB converter
sugoi [Mon, 7 Jul 2014 22:09:48 +0000 (15:09 -0700)]
YUV to RGB converter

This is a first piece of the GPU YUV decoder, which is the actual effect that performs the conversion. For now, it simply applies the conversion matrix, since it is all I need. I may add modes if different matrices need to be applied or if I add color profile support here.

I'll try to keep these cls short and easy to review, but there should be a few of them coming once this one is in.

BUG=skia:
R=senorblanco@chromium.org, senorblanco@google.com, reed@google.com, bsalomon@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/378503006

10 years agoguard registering mallocpixelref for chrome
reed [Mon, 7 Jul 2014 21:59:31 +0000 (14:59 -0700)]
guard registering mallocpixelref for chrome

companion to https://codereview.chromium.org/320873003

NOTRY=True
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/373903002

10 years agoremove unneeded flags (have been purged from chrome and android)
reed [Mon, 7 Jul 2014 21:45:11 +0000 (14:45 -0700)]
remove unneeded flags (have been purged from chrome and android)

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/372793003

10 years agochange pixelref to not inherit from SkFlattenable
reed [Mon, 7 Jul 2014 21:32:06 +0000 (14:32 -0700)]
change pixelref to not inherit from SkFlattenable

If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps.

R=robertphillips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/320873003

10 years agoremove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE
reed [Mon, 7 Jul 2014 20:51:48 +0000 (13:51 -0700)]
remove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/373853002

10 years agoremove unneeded flags for android
reed [Mon, 7 Jul 2014 20:48:59 +0000 (13:48 -0700)]
remove unneeded flags for android

R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/369683004

10 years agoSplit SkPicturePlayback out of SkPictureData
robertphillips [Mon, 7 Jul 2014 20:46:35 +0000 (13:46 -0700)]
Split SkPicturePlayback out of SkPictureData

This splits the playback functionality out of SkPictureData. The old SkPictureData::draw method is pulled out along
with its supporting functions as verbatim as possible. Some follow on CLs will be required to:

   re-enable profiling in the debugger (and remove the vestiges of SkTimedPicture)
   re-enable display of command offsets in the picture (this should probably wait until we've switched to SkRecord though)
   Clean up CachedOperationList (maybe fuse with SkPicture::OperationList)
   Split SkPicturePlayback into a base class and two derived classes
   Implement parallel version of GatherGPUInfo for SkRecord

Landing this is blocked on removing Android's use of the abortPlayback entry point.

R=mtklein@google.com, reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/377623002

10 years agoSuppress new TSAN warnings from DMQuiltTask.
mtklein [Mon, 7 Jul 2014 20:11:29 +0000 (13:11 -0700)]
Suppress new TSAN warnings from DMQuiltTask.

We're racing to invalidate the genID of our pixel ref when multiple
threads write into it, and also to call its genID-changed listeners.

We install no listeners on this particular pixel ref, nor do we ever
care about its genID at all.  So these are benign races, races on
data we never make a decision from.

BUG=skia:2725
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/370353004

10 years agoRemove SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK.
mtklein [Mon, 7 Jul 2014 19:33:27 +0000 (12:33 -0700)]
Remove SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK.

Skia no longer looks at this define.  It's as if it's always set now.

BUG=skia:
R=scroggo@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/368953005

10 years agodon't look at SK_SCALAR_IS_FLOAT -- it is true, but no longer defined
reed [Mon, 7 Jul 2014 19:30:28 +0000 (12:30 -0700)]
don't look at SK_SCALAR_IS_FLOAT -- it is true, but no longer defined

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/371033004

10 years agoRemove use of GrEffectRef from draw state and below.
bsalomon [Mon, 7 Jul 2014 18:54:23 +0000 (11:54 -0700)]
Remove use of GrEffectRef from draw state and below.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/372773002

10 years agoAdd return to SkBoxBlurGetPlatformProcs_SSE4.
scroggo [Mon, 7 Jul 2014 18:41:39 +0000 (11:41 -0700)]
Add return to SkBoxBlurGetPlatformProcs_SSE4.

This fixes Android build.

R=reed@google.com, mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/378613002

10 years agogpu and cpu flags for gm and bench.
bsalomon [Mon, 7 Jul 2014 17:46:58 +0000 (10:46 -0700)]
gpu and cpu flags for gm and bench.

BUG=skia:2074
R=borenet@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/376643002

10 years agoRemove GrEffectStage::DeferredStage
bsalomon [Mon, 7 Jul 2014 17:46:32 +0000 (10:46 -0700)]
Remove GrEffectStage::DeferredStage

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/373603005

10 years agoAdd always-threaded SkRecord quilt tests.
mtklein [Mon, 7 Jul 2014 17:41:04 +0000 (10:41 -0700)]
Add always-threaded SkRecord quilt tests.

Now that we're drawing tiles threaded like implside painting, remove the checks
that those lock counts are balanced.  They're just not right for anyone anymore.

SkBitmaps themselves are not threadsafe (even const ones), so shallow copy them
on playback of an SkRecord.  (The underlying SkPixelRefs are threadsafe.)

Simplify quilt drawing by using SkBitmap::extractSubset.  No need for locking.

Bump up to 256x256 tiles.  16x16 tiles just murders performance (way too much
contention).  This has the nice side effect of letting us enable a bunch more
GMs for quilt mode; they drew wrong with small tiles but exactly right with large.

BUG=171776
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/371023005

10 years agoEnable 32/64-bit gyp switch on Android
qiankun.miao [Mon, 7 Jul 2014 16:47:24 +0000 (09:47 -0700)]
Enable 32/64-bit gyp switch on Android

Select 32/64-bit Skia build according skia_arch_width on Android.

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/369813003

10 years agoCleanup: Remove TestXCode project.
tfarina [Mon, 7 Jul 2014 16:31:44 +0000 (09:31 -0700)]
Cleanup: Remove TestXCode project.

GYP generates the project files for us now.

$ GYP_GENERATORS=xcode ./gyp_skia

BUG=None
TEST=None
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/365263006

10 years agorebaseline_server: handle column filtering more generically
epoger [Mon, 7 Jul 2014 15:49:14 +0000 (08:49 -0700)]
rebaseline_server: handle column filtering more generically

This is a step towards making rebaseline_server more flexible, and useful for displaying output of the cluster telemetry server as well as actuals-on-configA-vs-actuals-on-configB.

BUG=skia:2230
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/369133004

10 years agoUpdate remaining expectations for https://codereview.chromium.org/337603008.
jvanverth [Mon, 7 Jul 2014 15:44:45 +0000 (08:44 -0700)]
Update remaining expectations for https://codereview.chromium.org/337603008.

TBR=bungeman@chromium.org

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/371003004

10 years agoRemove GrDrawState::CommonState
bsalomon [Mon, 7 Jul 2014 15:44:05 +0000 (08:44 -0700)]
Remove GrDrawState::CommonState

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367163002

10 years agoremove unneeded flags for android
reed [Mon, 7 Jul 2014 15:38:13 +0000 (08:38 -0700)]
remove unneeded flags for android

NOTRY=True
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/377443008

10 years agoRemove vertical/horizontal metrics selection.
bungeman [Mon, 7 Jul 2014 15:16:37 +0000 (08:16 -0700)]
Remove vertical/horizontal metrics selection.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/370463002

10 years agoRemove deferred version of GrDrawState.
bsalomon [Mon, 7 Jul 2014 15:15:07 +0000 (08:15 -0700)]
Remove deferred version of GrDrawState.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/368913003

10 years agoAdd SSE4 version of BlurImage optimizations.
henrik.smiding [Mon, 7 Jul 2014 15:05:40 +0000 (08:05 -0700)]
Add SSE4 version of BlurImage optimizations.

Adds an SSE4.1 version of the existing BlurImage optimizations.
Performance of blur_image_filter_* benchmarks show a 10-50%
improvement on Linux/Ubuntu Core i7.

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: https://skia.googlesource.com/skia/+/2830632ce93c97ed7647b13348365ea92e4ea665

R=mtklein@google.com, reed@chromium.org

Author: henrik.smiding@intel.com

Review URL: https://codereview.chromium.org/366593004

10 years agowith no save flag options, we can directly reference matrix and clip in MCRec
reed [Mon, 7 Jul 2014 14:49:34 +0000 (07:49 -0700)]
with no save flag options, we can directly reference matrix and clip in MCRec

patch from issue 364973003

R=fmalita@chromium.org
TBR=fmalita@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/364193005

10 years agoRebaseline Angle gms for recent dashing4 rebaseline
egdaniel [Mon, 7 Jul 2014 14:27:37 +0000 (07:27 -0700)]
Rebaseline Angle gms for recent dashing4 rebaseline
NOTREECHECKS=True
NOTRY=True
R=bsalomon@google.com
TBR=bsalomon@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/378513004

10 years agoOnly you can prevent memory leaks.
mtklein [Mon, 7 Jul 2014 14:00:14 +0000 (07:00 -0700)]
Only you can prevent memory leaks.

SkPaint::setFoo() refs the foo, leaving the foo with a bonus ref unless you
call ->unref().

Valgrind caught this:
http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/317/steps/RunTests/logs/stdio

BUG=skia:
R=tomhudson@chromium.org, mtklein@google.com, tomhudson@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/377523002

10 years agoFix history handling for workspaces, issue with M36
jcgregorio [Mon, 7 Jul 2014 13:56:44 +0000 (06:56 -0700)]
Fix history handling for workspaces, issue with M36

BUG=skia:
R=mtklein@google.com

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/363003004

10 years agoRebaseline for gpu dashing4 now doing circle dashes
egdaniel [Mon, 7 Jul 2014 13:28:43 +0000 (06:28 -0700)]
Rebaseline for gpu dashing4 now doing circle dashes
NOTREECHECKS=True
NOTRY=True
R=bsalomon@google.com
TBR=bsalomon@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/374623003

10 years agoAdd Instant Trace Event for shader compilation in gpu which outputs shader text as...
egdaniel [Mon, 7 Jul 2014 13:17:13 +0000 (06:17 -0700)]
Add Instant Trace Event for shader compilation in gpu which outputs shader text as attribute

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/368943002

10 years agoRevert of Add SSE4 version of BlurImage optimizations. (https://codereview.chromium...
reed [Mon, 7 Jul 2014 01:51:29 +0000 (18:51 -0700)]
Revert of Add SSE4 version of BlurImage optimizations. (https://codereview.chromium.org/366593004/)

Reason for revert:
breaks linker on chrome

[04:36:09.966000] [503/5965] LIB obj\chrome\installer_util.lib
[04:36:10.466000] FAILED: C:\Users\chrome-bot\buildbot\third_party\depot_tools\python276_bin\python.exe gyp-win-tool link-with-manifests environment.x86 True skia.dll "C:\Users\chrome-bot\buildbot\third_party\depot_tools\python276_bin\python.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /IMPLIB:skia.dll.lib /DLL /OUT:skia.dll @skia.dll.rsp" 2 mt.exe rc.exe "obj\skia\skia.skia.dll.intermediate.manifest" obj\skia\skia.skia.dll.generated.manifest
[04:36:10.466000] skia.opts_check_x86.obj : error LNK2019: unresolved external symbol "bool __cdecl SkBoxBlurGetPlatformProcs_SSE4(void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int))" (?SkBoxBlurGetPlatformProcs_SSE4@@YA_NPAP6AXPBIHPAIHHHHH@Z222@Z) referenced in function "bool __cdecl SkBoxBlurGetPlatformProcs(void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int),void (__cdecl**)(unsigned int const *,int,unsigned int *,int,int,int,int,int))" (?SkBoxBlurGetPlatformProcs@@YA_NPAP6AXPBIHPAIHHHHH@Z222@Z)
[04:36:10.466000]
[04:36:10.466000] skia.dll : fatal error LNK1120: 1 unresolved externals

Original issue's description:
> Add SSE4 version of BlurImage optimizations.
>
> Adds an SSE4.1 version of the existing BlurImage optimizations.
> Performance of blur_image_filter_* benchmarks show a 10-50%
> improvement on Linux/Ubuntu Core i7.
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: https://skia.googlesource.com/skia/+/2830632ce93c97ed7647b13348365ea92e4ea665

R=mtklein@google.com, henrik.smiding@intel.com
TBR=henrik.smiding@intel.com, mtklein@google.com
NOTREECHECKS=true
NOTRY=true

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/375503003

10 years agoLinear-time implementation of willPlaybackBitmaps(), computed & cached
tomhudson [Sat, 5 Jul 2014 20:37:53 +0000 (13:37 -0700)]
Linear-time implementation of willPlaybackBitmaps(), computed & cached
on construction in SkPicture. Unit test.

Template trickery thanks to mtklein@.

BUG=skia:2702
R=mtklein@google.com, reed@android.com, reed@google.com, tomhudson@google.com, mtklein, reed

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/366443002

10 years agoAdd SSE4 version of BlurImage optimizations.
henrik.smiding [Fri, 4 Jul 2014 11:23:17 +0000 (04:23 -0700)]
Add SSE4 version of BlurImage optimizations.

Adds an SSE4.1 version of the existing BlurImage optimizations.
Performance of blur_image_filter_* benchmarks show a 10-50%
improvement on Linux/Ubuntu Core i7.

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
R=mtklein@google.com

Author: henrik.smiding@intel.com

Review URL: https://codereview.chromium.org/366593004

10 years agoFix SkColorFilterImageFilter matrix optimization.
senorblanco [Thu, 3 Jul 2014 18:13:09 +0000 (11:13 -0700)]
Fix SkColorFilterImageFilter matrix optimization.

The order of matrices passed to multiplication was wrong (apparently,
this optimization was only being tested with matrices which commute).

See Chrome bug http://crbug.com/378362

R=sugoi@chromium.org

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/371523002

10 years agorebaseline_server: if urlSchemaVersion is not specified, assume current
epoger [Thu, 3 Jul 2014 17:50:30 +0000 (10:50 -0700)]
rebaseline_server: if urlSchemaVersion is not specified, assume current

Modification to https://codereview.chromium.org/368933002/ ('rebaseline_server: add urlSchemaVersion parameter')

Means we don't need https://codereview.chromium.org/367173002/ ('add urlSchemaVersion to rebaseline_server link on buildbot console page')

NOTREECHECKS=True
NOTRY=True
R=borenet@google.com
TBR=borenet

Author: epoger@google.com

Review URL: https://codereview.chromium.org/364253003

10 years agoAdding 64 bit checks
sugoi [Thu, 3 Jul 2014 17:44:26 +0000 (10:44 -0700)]
Adding 64 bit checks

Added a few more checks to avoid overflowing 32 bit sizes while computing convolutions.

I also changed a dangerously misleading INHERITED typedef.

BUG=389570
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/361403006

10 years agoRevert of Caching the result of readPixelsSupported (https://codereview.chromium...
reed [Thu, 3 Jul 2014 14:54:08 +0000 (07:54 -0700)]
Revert of Caching the result of readPixelsSupported (https://codereview.chromium.org/364193004/)

Reason for revert:
appears to crash GM on Ubuntu and Win8

http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/1237/steps/GenerateGMs/logs/stdio

Original issue's description:
> Caching the result of readPixelsSupported
>
> The call was calling GR_GL_GetIntegerv 2 times for each readPixels
> and thus was causing a loss of performance
>
> (resubmit of issue 344793008)
>
> Benchmark url: http://packages.gkny.fr/tst/index.html
>
> BUG=skia:2681
>
> Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c

R=junov@chromium.org, piotaixr@chromium.org
TBR=junov@chromium.org, piotaixr@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2681

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/367323003

10 years agomove SkChecksum and SkEmptyShader to private
reed [Thu, 3 Jul 2014 14:26:01 +0000 (07:26 -0700)]
move SkChecksum and SkEmptyShader to private

TBR=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/366133002

10 years agoCaching the result of readPixelsSupported
piotaixr [Thu, 3 Jul 2014 13:50:50 +0000 (06:50 -0700)]
Caching the result of readPixelsSupported

The call was calling GR_GL_GetIntegerv 2 times for each readPixels
and thus was causing a loss of performance

(resubmit of issue 344793008)

Benchmark url: http://packages.gkny.fr/tst/index.html

BUG=skia:2681
R=junov@chromium.org

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/364193004

10 years agoAdd functions to support NV_path_rendering in OpenGL ES
kkinnunen [Thu, 3 Jul 2014 05:56:35 +0000 (22:56 -0700)]
Add functions to support NV_path_rendering in OpenGL ES

Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.

The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:

    Append to the end of the "Shader Inputs" subsection of Section 3.12.2
    "Shader Execution":

    The command

        void ProgramPathFragmentInputGenNV(uint program,
                                           int location,
                                           enum genMode,
                                           int components,
                                           const float *coeffs);

    controls how a user-defined (non-built-in) fragment input of a
    GLSL program object is computed for fragment shading operations that
    occur as a result of CoverFillPathNV or CoverStrokePathNV.

    /program/ names a GLSL program object.  If /program/ has not been
    successfully linked, the error INVALID_OPERATION is generated.

    The given fragment input generation state is loaded into the fragment
    input variable location identified by /location/.  This location
    is a value returned either by GetProgramResourceLocation with a
    /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
    input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
    for the /programInterface/ and LOCATION for the property for a given
    fragment input resource index.

    ....

glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.

Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.

Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.

The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.

Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.

Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.

Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345723002

10 years agoIgnore some GM images for https://codereview.chromium.org/337603008.
jvanverth [Wed, 2 Jul 2014 22:54:24 +0000 (15:54 -0700)]
Ignore some GM images for https://codereview.chromium.org/337603008.

R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/361333002

10 years agoCheck pixelRef before attempting to ktx encode.
scroggo [Wed, 2 Jul 2014 22:00:07 +0000 (15:00 -0700)]
Check pixelRef before attempting to ktx encode.

If there is no pixelRef, do not attempt to dereference it.

This was caught running on Android, where we don't have the resources
folder (tracked in b/14406768). We fail to decode anything, and then
attempt to encode an SkBitmap without a pixelRef.

R=krajcevski@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/362413005

10 years agoGate CrashHandler with SK_CRASH_HANDLER.
mtklein [Wed, 2 Jul 2014 21:30:47 +0000 (14:30 -0700)]
Gate CrashHandler with SK_CRASH_HANDLER.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/364033002

10 years agoMore expectation updates for https://codereview.chromium.org/337603008.
jvanverth [Wed, 2 Jul 2014 21:15:37 +0000 (14:15 -0700)]
More expectation updates for https://codereview.chromium.org/337603008.

R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/368073002

10 years agorebaseline_server: add urlSchemaVersion parameter
epoger [Wed, 2 Jul 2014 20:51:47 +0000 (13:51 -0700)]
rebaseline_server: add urlSchemaVersion parameter

In https://codereview.chromium.org/369473005 ('rebaseline_server: handle category filtering more generically'), I am changing the meaning of some URL parameters.  If a user pastes an old URL into an updated rebaseline_server instance, they may get unexpected results.  Adding a urlSchemaVersion parameter allows us to automatically convert the URL, or at least warn the user.

BUG=skia:2230
NOTRY=True
R=jcgregorio@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/368933002

10 years agoMake GrAllocator Iter return non-const T
bsalomon [Wed, 2 Jul 2014 20:44:57 +0000 (13:44 -0700)]
Make GrAllocator Iter return non-const T

R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/362333004

10 years agoRemove SK_IGNORE_FASTER_TEXT_FIX.
Ben Wagner [Wed, 2 Jul 2014 20:09:00 +0000 (16:09 -0400)]
Remove SK_IGNORE_FASTER_TEXT_FIX.

This flag is no longer defined, so remove its use and guarded code.

10 years agoRemove SK_IGNORE_DWRITE_RENDERING_FIX.
Ben Wagner [Wed, 2 Jul 2014 20:04:09 +0000 (16:04 -0400)]
Remove SK_IGNORE_DWRITE_RENDERING_FIX.

This flag is no longer defined anywhere, so remove it's use.

10 years agoRevert of Remove the AA requirement for selecting GrEffect-based clipping. (https...
mtklein [Wed, 2 Jul 2014 19:55:21 +0000 (12:55 -0700)]
Revert of Remove the AA requirement for selecting GrEffect-based clipping. (https://codereview.chromium.org/367013003/)

Reason for revert:
We think this is breaking the roll.

Original issue's description:
> Remove the AA requirement for selecting GrEffect-based clipping.
>
> Also, optionally use the scissor for a bw clip rect element instead of an effect.
>
> Committed: https://skia.googlesource.com/skia/+/a73218bbbdcbe458651d10815e8d3b73d71b8e11
>
> Committed: https://skia.googlesource.com/skia/+/e9a729cb4d3f05b9c750dc1f63a9cc65b5659f04

R=robertphillips@google.com, bsalomon@google.com
TBR=bsalomon@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/361313002