Commit Graph

13036 Commits

Author SHA1 Message Date
joshualitt
ee5da55477 32 bpp floating point textures
This is VERY preliminary, but it was sufficient for me to get 32 bit floating point textures in a sample app

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

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/359803003
2014-07-16 13:32:56 -07:00
krajcevski
2ec93fc1d3 Buffer four scanlines prior to blitting. We will eventually use this
to blit four scanlines in a row in order to aggressively compress alpha
masks as the information comes in. This CL is only to introduce the API
and to make sure that nothing breaks in the general case.

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

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/387953005
2014-07-16 13:31:41 -07:00
krajcevski
b577c55a13 Generalize mask helper a bit for compression
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/398603004
2014-07-16 13:26:43 -07:00
robertphillips
17dabfc38d Add unique ID to GrPlot
This is calved off of (Add atlased layer purging - https://codereview.chromium.org/367073002/) where it is used for plot lifetime management (i.e., tracking which plots are locked).

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/391153002
2014-07-16 13:26:24 -07:00
robertphillips
b6638bddcd Chromium no longer needs the SkPicture default constructor
With the landing of the Chromium CL (Remove use of default SkPicture constructor - https://codereview.chromium.org/387343003/) Chromium should no longer require the SK_SUPPORT_LEGACY_DEFAULT_PICTURE_CTOR flag.

R=halcanary@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/398463002
2014-07-16 13:21:21 -07:00
qiankun.miao
d75547925d Make gdb work for 64-bit Skia
BUG=skia:
R=djsollen@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/398733002
2014-07-16 13:21:15 -07:00
Mike Klein
dddf564ee7 rebaseline most dw changes
BUG=skia:

Review URL: https://codereview.chromium.org/402443002
2014-07-16 16:20:12 -04:00
Derek Sollenberger
eccbfec18a Fix broken android framework builds where 32-bit MIPS compilers lack 64-bit __sync operators.
R=mtklein@google.com, reed@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/398153002
2014-07-16 15:51:39 -04:00
Mike Klein
e7fd6db41a Remove yet-unused 64-bit atomic hooks.
For now, I think we'll just be using sk_atomic_inc on 64-bit values, so
let's cut out the dead code for now.

NOTREECHECKS=true

BUG=skia:
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/398003004
2014-07-16 15:20:58 -04:00
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