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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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