Commit Graph

12832 Commits

Author SHA1 Message Date
scroggo
f05d6268db 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
2014-07-07 11:41:39 -07:00
bsalomon
69456186f7 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
2014-07-07 10:46:59 -07:00
bsalomon
81d71885f1 Remove GrEffectStage::DeferredStage
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/373603005
2014-07-07 10:46:32 -07:00
mtklein
7cdc1ee115 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
2014-07-07 10:41:04 -07:00
qiankun.miao
d312a04ffa 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
2014-07-07 09:47:24 -07:00
tfarina
0b7813b8c5 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
2014-07-07 09:31:44 -07:00
epoger
df55f0632a 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
2014-07-07 08:49:14 -07:00
jvanverth
085f334c47 Update remaining expectations for https://codereview.chromium.org/337603008.
TBR=bungeman@chromium.org

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/371003004
2014-07-07 08:44:46 -07:00
bsalomon
2ed5ef84a5 Remove GrDrawState::CommonState
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367163002
2014-07-07 08:44:05 -07:00
reed
d8a5e8d6d5 remove unneeded flags for android
NOTRY=True
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/377443008
2014-07-07 08:38:13 -07:00
bungeman
410780677a Remove vertical/horizontal metrics selection.
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/370463002
2014-07-07 08:16:38 -07:00
bsalomon
a70353e841 Remove deferred version of GrDrawState.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/368913003
2014-07-07 08:15:07 -07:00
henrik.smiding
5f7f9d04dc 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
2014-07-07 08:05:40 -07:00
reed
1f836ee096 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
2014-07-07 07:49:34 -07:00
egdaniel
705a1535a3 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
2014-07-07 07:27:37 -07:00
mtklein
06d37714f7 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
2014-07-07 07:00:14 -07:00
jcgregorio
3ef0453299 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
2014-07-07 06:56:44 -07:00
egdaniel
8119e6a85d 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
2014-07-07 06:28:44 -07:00
egdaniel
0b99de05b9 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
2014-07-07 06:17:13 -07:00
reed
82cb86f613 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
2014-07-06 18:51:29 -07:00
tomhudson
d930511ee7 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
2014-07-05 13:37:53 -07:00
henrik.smiding
2830632ce9 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
2014-07-04 04:23:17 -07:00
senorblanco
3df05015ef 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
2014-07-03 11:13:09 -07:00
epoger
46e51e10ae 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
2014-07-03 10:50:30 -07:00
sugoi
c197c8a47e 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
2014-07-03 10:44:26 -07:00
reed
2fe7b466c1 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
2014-07-03 07:54:08 -07:00
reed
e1085e0381 move SkChecksum and SkEmptyShader to private
TBR=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/366133002
2014-07-03 07:26:01 -07:00
piotaixr
753a2964af 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
2014-07-03 06:50:51 -07:00
kkinnunen
32b9a3b02e 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
2014-07-02 22:56:36 -07:00
jvanverth
c6bbd82210 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
2014-07-02 15:54:24 -07:00
scroggo
c2dcf4a4a5 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
2014-07-02 15:00:07 -07:00
mtklein
0e3fac215d 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
2014-07-02 14:30:47 -07:00
jvanverth
23ff2a5d46 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
2014-07-02 14:15:37 -07:00
epoger
e5481eca7e 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
2014-07-02 13:51:47 -07:00
bsalomon
e1bc1c6958 Make GrAllocator Iter return non-const T
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/362333004
2014-07-02 13:44:58 -07:00
Ben Wagner
a5c08447cb Remove SK_IGNORE_FASTER_TEXT_FIX.
This flag is no longer defined, so remove its use and guarded code.
2014-07-02 16:09:00 -04:00
Ben Wagner
9504dd5a09 Remove SK_IGNORE_DWRITE_RENDERING_FIX.
This flag is no longer defined anywhere, so remove it's use.
2014-07-02 16:04:09 -04:00
mtklein
217daa7ec5 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
2014-07-02 12:55:21 -07:00
borenet
4621788761 gen_bench_expectations: use subprocess instead of shell_utils due to buildbot-side name collision
BUG=skia:2714
R=rmistry@google.com
TBR=rmistry
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/368043002
2014-07-02 12:52:34 -07:00
mtklein
3fa56b322a Exclude Clang on Windows too. Comment this up a bit.
BUG=391016
R=tomhudson@chromium.org, mtklein@google.com, rnk@chromium.org, thakis@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/363983004
2014-07-02 12:38:38 -07:00
bsalomon
f0480b1e69 Combine clip stack and clip origin into one struct in GrIODB.
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/364823004
2014-07-02 12:11:26 -07:00
bsalomon
e9a729cb4d 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

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367013003
2014-07-02 11:42:29 -07:00
Mike Klein
6a7fdeffa4 Disable assembly code in MemorySanitizer builds.
MemorySanitizer is an unitialized memory use detector which is used in
Chromium, and does not presently support assembly code.

BUG=chromium:344505, chromium:373739
R=mtklein@google.com

Review URL: https://codereview.chromium.org/367973005
2014-07-02 14:37:29 -04:00
jvanverth
5c76a0f1d1 Update some expectations for https://codereview.chromium.org/337603008.
R=bungeman@google.com
TBR=bungeman@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/362373002
2014-07-02 11:33:07 -07:00
bsalomon
e1593862fe Revert of Remove the AA requirement for selecting GrEffect-based clipping. (https://codereview.chromium.org/367013003/)
Reason for revert:
Assertion failing.

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

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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/369613002
2014-07-02 11:11:30 -07:00
halcanary
fa37a21be5 Fix no previous prototype for function error
BUG=skia:2720
R=scroggo@google.com, caryclark@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/363983002
2014-07-02 10:43:50 -07:00
bsalomon
a73218bbbd Remove the AA requirement for selecting GrEffect-based clipping.
Also, optionally use the scissor for a bw clip rect element instead of an effect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/367013003
2014-07-02 10:40:52 -07:00
borenet
b26130af2f Fix RecreateSkps
- Use shell_utils to auto-print all subprocesses.
- Only download bench_pictures data.
- Skip or error out on bots which failed BenchPictures, PostBench, or UploadBenchResults.

BUG=skia:2714
R=rmistry@google.com
TBR=rmistry
NOTRY=true

Author: borenet@google.com

Review URL: https://codereview.chromium.org/363833004
2014-07-02 09:37:03 -07:00
bungeman
256b351fb1 CTFontCopy*Name may return NULL.
BUG=skia:2708
R=caryclark@google.com, reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/365683004
2014-07-02 07:57:59 -07:00
bsalomon
bce3d6dbb9 Reduce integer divides in GrAllocator
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/362023002
2014-07-02 07:54:42 -07:00