Commit Graph

13227 Commits

Author SHA1 Message Date
Derek Sollenberger
122f9ecef8 Remove outdated compiler restrictions.
R=scroggo@google.com

Review URL: https://codereview.chromium.org/394263002
2014-07-16 15:20:01 -04:00
Mike Klein
9d7321c9d0 Skip tiling on bitmapscroll:
- off by exactly one pixel when using DirectWrite
    - also at least one pixel off on ChromeOS

BUG=skia:
R=bungeman@google.com

Review URL: https://codereview.chromium.org/394243002
2014-07-16 14:19:54 -04:00
Mike Klein
720c66b818 Reexport skia_gdi.
BUG=skia:

Review URL: https://codereview.chromium.org/398043004
2014-07-16 13:26:19 -04:00
Mike Klein
20f340379c Put skia_directwrite back for now.
BUG=skia:

Review URL: https://codereview.chromium.org/397073002
2014-07-16 13:11:50 -04:00
Mike Klein
9358706750 skia_directwrite -> skia_gdi
This will require lots of rebaselines and a bot CL to swap our lone direct write bot to a lone GDI bot.

BUG=skia:
R=bungeman@google.com

Review URL: https://codereview.chromium.org/394223003
2014-07-16 13:06:04 -04:00
bungeman
c7af812b42 Revert of Reopened: Caching the result of readPixelsSupported (https://codereview.chromium.org/364193004/)
Reason for revert:
This appears to be causing failures on Android when running tests.

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
>
> Committed: https://skia.googlesource.com/skia/+/8339371f1ec3c57a0741932fd96bff32c53d4e54

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

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/395203002
2014-07-16 09:10:41 -07:00
epoger
33ac9506fb make gm self-tests launch python unittests automatically
(not just within the rebaseline_server subdirectory)

Generally useful, but needed asap for my work on http://skbug.com/2752 ('split existing "gpu" GM results into "gl" and "gles"')

BUG=skia:677
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com
TBR=rmistry

Author: epoger@google.com

Review URL: https://codereview.chromium.org/398043002
2014-07-16 08:28:23 -07:00
mtklein
7940100fae Revert of Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys. (https://codereview.chromium.org/379113004/)
Reason for revert:
Most likely candidate for Valgrind failures:

[21:10:08.755668] ==3036== Use of uninitialised value of size 8
[21:10:08.755753] ==3036==    at 0x734AB2: GrGpuGL::ProgramCache::getProgram(GrGLProgramDesc const&, GrEffectStage const**, GrEffectStage const**) (GrGpuGL_program.cpp:107)
[21:10:08.755788] ==3036==    by 0x734ED2: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:253)
[21:10:08.755811] ==3036==    by 0x6E81C2: GrGpu::setupClipAndFlushState(GrGpu::DrawType, GrDeviceCoordTexture const*, GrDrawState::AutoRestoreEffects*, SkRect const*) (GrGpu.cpp:350)
[21:10:08.755837] ==3036==    by 0x6E9BE8: GrGpu::onDraw(GrDrawTarget::DrawInfo const&) (GrGpu.cpp:390)
[21:10:08.755858] ==3036==    by 0x6EEECE: GrInOrderDrawBuffer::flush() (GrDrawTarget.h:506)
[21:10:08.755879] ==3036==    by 0x6D0EB4: GrContext::flush(int) (GrContext.cpp:1327)
[21:10:08.755900] ==3036==    by 0x6D3F8F: GrContext::writeTexturePixels(GrTexture*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1349)
[21:10:08.755922] ==3036==    by 0x6D39D7: GrContext::writeRenderTargetPixels(GrRenderTarget*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1632)
[21:10:08.755949] ==3036==    by 0x6FFDF3: GrRenderTarget::writePixels(int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrRenderTarget.cpp:45)
[21:10:08.755978] ==3036==    by 0x735563: SkGpuDevice::onWritePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkGpuDevice.cpp:280)
[21:10:08.756003] ==3036==    by 0x57A048: SkBaseDevice::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkDevice.cpp:106)
[21:10:08.756025] ==3036==    by 0x56D0AE: SkCanvas::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkCanvas.cpp:700)
[21:10:08.756050] ==3036==    by 0x56D156: SkCanvas::writePixels(SkBitmap const&, int, int) (SkCanvas.cpp:652)
[21:10:08.756077] ==3036==    by 0x5109B6: test_WritePixels(skiatest::Reporter*, GrContextFactory*) (WritePixelsTest.cpp:464)
[21:10:08.756099] ==3036==    by 0x51114C: skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (WritePixelsTest.cpp:361)
[21:10:08.756122] ==3036==    by 0x406BE8: skiatest::Test::run() (Test.cpp:107)
[21:10:08.756145] ==3036==    by 0x4064C2: SkTestRunnable::run() (skia_test.cpp:109)
[21:10:08.756167] ==3036==    by 0x405D1A: tool_main(int, char**) (skia_test.cpp:221)
[21:10:08.756189] ==3036==    by 0x405F75: main (skia_test.cpp:239)
[21:10:08.756211] ==3036==  Uninitialised value was created by a stack allocation
[21:10:08.756233] ==3036==    at 0x734CC8: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:213)

Original issue's description:
> Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys.
>
> Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF.
>
> Cleans up docs around GrBackendEffectFactory.
>
> Committed: https://skia.googlesource.com/skia/+/c0ea398aff8254e31152cbb94c9ab6150428e252

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/394213002
2014-07-16 06:16:43 -07:00
ljagielski
e9d2d09ea5 Leaking CGBitmapContext in SkFontHost_mac
third_party/skia/src/ports/SkFontHost_mac.cpp: don't increase retain count of
newly assigned CFTypeRef in AutoCFRelease::reset(). Each time CFTypeRef is
assigned to AutoCFRelease, AutoCFRelease becomes its sole owner.

BUG=skia:
R=reed@google.com, bungeman@google.com, rmistry@google.com, sheyang@chromium.org

Author: ljagielski@opera.com

Review URL: https://codereview.chromium.org/393513003
2014-07-15 20:02:04 -07:00
bungeman
9d3cdb6886 Fix some issues with sfnt maxp headers.
The TT version was missing the second to last member,
and the names of the asserts in the CFF version were wrong.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/390203003
2014-07-15 20:01:56 -07:00
reed
285d375508 remove dead code from sample
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/393063002
2014-07-15 19:56:55 -07:00
scroggo
0847059fcf Remove kImageIsImmutable_Flag.
This flag was only used when setting or checking SkBitmap's
immutability when it did not have an SkPixelRef. Now that an
SkBitmap *must* have one in order to draw (e.g. you can no
longer have an SkBitmap that owns its pixels directly), its
immutabity without an SkPixelRef makes no sense.

Also, now that the flags are not contiguous starting from
0x01, use a more appropriate check to ensure only meaningful
flags are used.

R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/387083002
2014-07-15 19:56:48 -07:00
qiankun.miao
cd27a41dda Use va_list variable safely
va_list variable will be invalid after the first call. Use va_copy to
initialize the va_list for another call.

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

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/394763004
2014-07-15 19:51:41 -07:00
halcanary
be7e59e3b4 Make SkTextureCompressor compile with Clang 3.5
kR11EACModifierPalettes moved inside #ifdef where it is used

R=mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/391113002
2014-07-15 19:51:35 -07:00
robertphillips
21048b588f Always have GrLayer's rect be valid
This CL just makes atlasing easier/clearer since there is a separate atlased query method. Not using the rect as a signal also simplifies the rendering of the layer in SkGpuDevice.cpp.

This is calved off from (Add atlased layer purging - https://codereview.chromium.org/367073002/)

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/384233002
2014-07-15 19:46:35 -07:00
dandov
32a311bfc0 Fixed the bug in drawVertices when no colors or texture coordinates are provided by modifying the grprimitive to klines and adjusting the indices.
BUG=skia:2745

Committed: https://skia.googlesource.com/skia/+/612364de87cb2012239c4f6435e8e11760617fdc

R=jvanverth@google.com, bsalomon@google.com, egdaniel@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/387113002
2014-07-15 19:46:27 -07:00
bsalomon
c0ea398aff Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys.
Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF.

Cleans up docs around GrBackendEffectFactory.

R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/379113004
2014-07-15 19:41:17 -07:00
piotaixr
8339371f1e 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, reed@chromium.org, bsalomon@chromium.org, mtklein@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/364193004
2014-07-15 19:41:08 -07:00
Mike Klein
e51b6bd1f9 revert timer changes
BUG=skia:

Review URL: https://codereview.chromium.org/397843002
2014-07-15 19:17:44 -04:00
Mike Klein
7edaeb515c nanobench on Windows: try compiler barriers around timer instead.
BUG=skia:

Review URL: https://codereview.chromium.org/391193003
2014-07-15 19:04:14 -04:00
Mike Klein
f7e51ea79e Disable LTCG for nanobench.
NOTREECHECKS=true

BUG=skia:
R=mtklein@google.com

Review URL: https://codereview.chromium.org/393953006
2014-07-15 18:39:49 -04:00
Mike Klein
e3631364e9 Try to debug Windows infinite loops in nanobench.
NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/396753004
2014-07-15 17:56:37 -04:00
mtklein
184ff37c62 Keep at most one GPU device alive at a time.
NOTREECHECKS=true

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/392013004
2014-07-15 14:38:53 -07:00
mtklein
a179a1ede9 SkAutoRef seems lonely. Might as well delete it.
(On the other hand, SkAutoUnref is well-used.)

NOTREECHECKS=true

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/393953004
2014-07-15 13:29:34 -07:00
Mike Klein
18515cf370 DM: destroy contexts after each GPU task instead of before
This is for consistency with bench/nanobench/GM.  Haven't seen it make a difference.

BUG=skia:

Review URL: https://codereview.chromium.org/397743004
2014-07-15 16:10:02 -04:00
scroggo
352c2181d1 Change SkCanvasState to use inheritance.
The base class, SkCanvasState, now holds the version, width, and
height. These fields will always be a necessary part of the class.
(Also add in some padding.)
The other fields, which may change, have been moved into the
subclass, SkCanvasState_v1. If/when the version changes, it will
correspond to a new subclass.
In SkCanvasStateUtils::CreateFromCanvasState, check the version on
the base class, then do a static_cast to the version corresponding
to SkCanvasState::version.

Remove CANVAS_STATE_VERSION, which is redundant with the version
specified by the subclass.

Use unambiguous type for rowBytes.

Build Android with SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG. This allows us
to run the full suite of CanvasState tests. It is also representative
of what will be used on Android by WebView.

Fix CanvasStateTest where it was broken inside ifdef'ed out code.

Use SkCanvas::getBaseLayerSize() instead of the deprecated
SkCanvas::getDeviceSize().

Update the comments in the header to be more clear. In particular,
an SkCanvasState can only be used to pass an SkCanvas' state to a
future version of Skia (or the same); not an older version.

NOTREECHECKS=true

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/372003002
2014-07-15 12:34:26 -07:00
Mike Klein
3944a1d237 destroyContexts after each bench instead of before
BUG=skia:

Review URL: https://codereview.chromium.org/394893002
2014-07-15 13:40:19 -04:00
mtklein
6238688af0 Give windows boring bars and use 'us' for microseconds.
NOTREECHECKS=true

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/393673006
2014-07-15 10:30:31 -07:00
Mike Klein
770787e07f force another build
BUG=skia:

Review URL: https://codereview.chromium.org/397493008
2014-07-15 12:01:06 -04:00
Mike Klein
5a89706771 Force a build for nanobench.
BUG=skia:

Review URL: https://codereview.chromium.org/391983002
2014-07-15 11:49:58 -04:00
mtklein
1e319f7342 Add --resetGpuContext to both DM and nanobench.
Defaulting to true to be conservative for now.

BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/398483005
2014-07-15 08:27:06 -07:00
kozyatinskiy
c09e8c2ec9 https://chromiumcodereview.appspot.com/331133004/
patch from issue 331133004
2014-07-15 11:11:25 -04:00
Mike Klein
e02fcf902f Another forced run for Android bots.
BUG=skia:

Review URL: https://codereview.chromium.org/388683005
2014-07-15 11:00:26 -04:00
Mike Klein
5c0e190656 force build
BUG=skia:

Review URL: https://codereview.chromium.org/391103002
2014-07-15 10:37:53 -04:00
borenet
d3b1b1fd62 Whitespace change to test failures after https://skia.googlesource.com/buildbot/+/0e977d0753ecc81fd4e45e088ebc5bc16f0b4b75 and https://skia.googlesource.com/buildbot/+/0e6fdada778ad14e38b25f8b5827a8b156674045
BUG=skia:
R=mtklein@google.com
TBR=mtklein

Author: borenet@google.com

Review URL: https://codereview.chromium.org/397613003
2014-07-15 05:30:47 -07:00
bensong
d183032366 manual bench rebase after f459c85, adjusted with ed458688e2
R=robertphillips@google.com
TBR=robertphillips@google.com

Bypassing trybots:
NOTRY=true

Author: bensong@google.com

Review URL: https://codereview.chromium.org/394673002
2014-07-14 16:36:07 -07:00
dandov
49b3590798 Revert of drawVertices bug on gpu side (https://codereview.chromium.org/387113002/)
Reason for revert:
compare gms failed on 6 images, I will check them and determine if they need a rebaseline or if the output is incorrect.

Original issue's description:
> Fixed the bug in drawVertices when no colors or texture coordinates are provided by modifying the grprimitive to klines and adjusting the indices.
>
> BUG=skia:2745
>
> Committed: https://skia.googlesource.com/skia/+/612364de87cb2012239c4f6435e8e11760617fdc

R=jvanverth@google.com, bsalomon@google.com, egdaniel@google.com
TBR=bsalomon@google.com, egdaniel@google.com, jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2745

Author: dandov@google.com

Review URL: https://codereview.chromium.org/395613002
2014-07-14 14:52:36 -07:00
reed
f59eab2693 patch from issue 383923002
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/394603003
2014-07-14 14:39:15 -07:00
dandov
612364de87 Fixed the bug in drawVertices when no colors or texture coordinates are provided by modifying the grprimitive to klines and adjusting the indices.
BUG=skia:2745
R=jvanverth@google.com, bsalomon@google.com, egdaniel@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/387113002
2014-07-14 14:26:04 -07:00
halcanary
f459c85457 Fix memory leak introduced in http://crrev.com/387863005
NOTRY=true
R=bungeman@google.com, mtklein@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/395543002
2014-07-14 12:59:59 -07:00
tfarina
6599258a99 Cleanup: Remove unused/unimplemented SkTextLayout.h.
Nobody uses it in Skia, Chromium and Blink. And it does not have any
implementation either.

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/385323002
2014-07-14 12:32:47 -07:00
mtklein
a189ccdb4d nanobench: add --runOnce.
BUG=skia:
R=egdaniel@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/392583005
2014-07-14 12:28:48 -07:00
krajcevski
630598cbb8 Add support for NEON intrinsics to speed up texture compression. We can
now convert the time that we would have spent uploading the texture to
compressing it giving a net 50% memory savings for these things.

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

R=robertphillips@google.com, mtklein@google.com, kevin.petit@arm.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/390453002
2014-07-14 12:00:04 -07:00
mtklein
60317d0ffb nanobench: support --outResultsFile
BUG=skia:
R=kelvinly@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/390933002
2014-07-14 11:30:37 -07:00
scroggo
41b8687417 Include SkTypes before using ifdefs.
Fixes Android framework build.

When building for the Android framework, we depend on SkUserConfig.h
to define things like SK_SUPPORT_GPU. So we cannot have the first
include inside a guard requring SK_SUPPORT_GPU to be defined. Include
SkTypes first, which will pull in SkUserConfig, define the flag, and
allow us to include GrContextFactory.h.

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/394533003
2014-07-14 10:25:01 -07:00
scroggo
24b04fa2ad Alphabetize defines in generated SkUserConfig.
When generating SkUserConfig.h for Android, alphabetize the defines.

This will make one merge much harder to look at, but every following
one much easier.

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/388693003
2014-07-14 10:22:02 -07:00
senorblanco
837f5321a4 Fix for saveLayer() with filters vs. the BBox Hierarchy.
When building acceleration structures for SkPicture, we must transform
the primitive's bounds not only by its own SkPaint, but by the paints of
any saveLayer()s currently active above it.

We do this by pushing the SkPaint onto a stack on
saveLayer(), and popping them on restore(). We also push
a NULL paint in save(), so that the pushes and pops are
balanced.

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

Committed: https://skia.googlesource.com/skia/+/6ca0b6a46cbe9bef3e2b9b9db813ec864efd62de

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/380373003
2014-07-14 10:19:55 -07:00
reed
3b72f79289 remove unused SkPixelRef constructor
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/390893002
2014-07-14 10:13:57 -07:00
reed
ed458688e2 remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/387313004
2014-07-14 09:21:31 -07:00
halcanary
e322482f4d Move SkPDFStream back to SkStream to save memory.
SkPDFStream stores data as a SkStreamRewindable to minimize
deep duplication and memory overhead.

SkStreamToStreamRewindable function to deal with fact that
SkTypeface returns a SkStream.

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

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/387863005
2014-07-14 09:12:12 -07:00