Commit Graph

13062 Commits

Author SHA1 Message Date
bungeman
733418f91e Remove SkRefPtr.
R=mtklein@google.com, reed@google.com, bsalomon@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/393913002
2014-07-17 12:17:55 -07:00
mtklein
04d53a5cd5 Revert of nanobench: --veryVerbose for more Win7 debugging (https://codereview.chromium.org/401663002/)
Reason for revert:
Shouldn't be needed anymore.

Original issue's description:
> nanobench: --veryVerbose for more Win7 debugging
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e57452d

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/404543004
2014-07-17 11:23:07 -07:00
bsalomon
e904c09a3a Fix alpha textures in NV ES3 contexts on Windows.
Make unit tests iterate over all the rendering GL context types rather than using kNative.

Fix the extension printing when gStartupSpew is set.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/398183002
2014-07-17 10:50:59 -07:00
Mike Klein
e57452debd nanobench: --veryVerbose for more Win7 debugging
BUG=skia:

Review URL: https://codereview.chromium.org/401663002
2014-07-17 13:19:22 -04:00
halcanary
0db38ccfef erase bitmap inside unit test to make valgrind happier
R=mtklein@google.com
TBR=sunshine

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/397273006
2014-07-17 10:17:28 -07:00
mtklein
3125e02062 Revert of Revert of Revert of Force DM rebuild. (https://codereview.chromium.org/402663003/)
Reason for revert:
we have to go deeper

Original issue's description:
> Revert of Revert of Force DM rebuild. (https://codereview.chromium.org/399123002/)
>
> Reason for revert:
> jkl;
>
> Original issue's description:
> > Revert of Force DM rebuild. (https://codereview.chromium.org/400723002/)
> >
> > Reason for revert:
> > asdf
> >
> > Original issue's description:
> > > Force DM rebuild.
> > >
> > > BUG=skia:
> > >
> > > Committed: https://skia.googlesource.com/skia/+/8a10de1
> >
> > TBR=mtklein@chromium.org
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/f42e08c12533f2a165bc08451f5ab5dd1363618b
>
> TBR=mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/41f30cd87ece55971b17e4a59873cf31100ee1a0

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/397293004
2014-07-17 10:02:30 -07:00
mtklein
41f30cd87e Revert of Revert of Force DM rebuild. (https://codereview.chromium.org/399123002/)
Reason for revert:
jkl;

Original issue's description:
> Revert of Force DM rebuild. (https://codereview.chromium.org/400723002/)
>
> Reason for revert:
> asdf
>
> Original issue's description:
> > Force DM rebuild.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/8a10de1
>
> TBR=mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f42e08c12533f2a165bc08451f5ab5dd1363618b

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/402663003
2014-07-17 09:34:20 -07:00
cdalton
8dd90cb1fd Add IsPath to GrGLInterface
This will be used by path ranges.

BUG=skia:
R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/403563002
2014-07-17 09:28:36 -07:00
bsalomon
91bdbcdbbd Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted.
Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/376703009
2014-07-17 09:28:07 -07:00
mtklein
f42e08c125 Revert of Force DM rebuild. (https://codereview.chromium.org/400723002/)
Reason for revert:
asdf

Original issue's description:
> Force DM rebuild.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8a10de1

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/399123002
2014-07-17 09:07:19 -07:00
Mike Klein
8a10de173f Force DM rebuild.
BUG=skia:

Review URL: https://codereview.chromium.org/400723002
2014-07-17 12:05:19 -04:00
mtklein
55b0ffc486 nanobench: Protect more against infinite loops.
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/404543002
2014-07-17 08:38:23 -07:00
robertphillips
261b8a98dc Make GrLayerCache use multiple plots in its atlas
Until we have a recycling Rectanizer the atlas purging must occur at the GrPlot level. This CL breaks the atlas into four plots to give some room for purging (without trashing the entire atlas).

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

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/397873004
2014-07-17 08:26:44 -07:00
epoger
a8f774549e create copy_config.py and rename_config.py for skbug 2752
BUG=skia:2752
NOTRY=True
(SkipBuildbotRuns)

R=bsalomon@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/397293002
2014-07-17 08:22:12 -07:00
qiankun.miao
ac298384b3 Fix warning about missing shared library symbols in android_gdbserver
Grab related shared libraryies. Remove libcorkscrew.so due libcorkscrew
is removed from AOSP.

BUG=skia:
R=djsollen@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/399843002
2014-07-17 08:18:23 -07:00
bsalomon
929f29a5c1 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

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/379113004
2014-07-17 07:55:11 -07:00
reed
b959ec7815 factor out flattening/unflattening of common fields from SkImageFilter
This is a precursor to changing SkImageFilters (and all effects) to unflatten via a factory instead of a constructor. In that world, each subclass of ImageFilter will need to control/initiate the unflattening of the common fields, so they can be extract and passed to their Factory.

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/395273002
2014-07-17 07:03:09 -07:00
scroggo
3eb258d3f6 Generate makefile for bench_pictures.
When generating Android framework makefiles, create one for
bench_pictures.

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/391423002
2014-07-17 06:58:29 -07:00
halcanary
805ef159d1 Set maximum output size for scaled-image-cache images
Accessable via:
  SkScaledImageCache::{G,S}etMaximumOutputSizeForHighQualityFilter

Also, a unit test.

BUG=389439
R=humper@google.com, tomhudson@google.com, reveman@chromium.org, vangelis@chromium.org, reed@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/394003003
2014-07-17 06:58:01 -07:00
Mike Klein
3f376a5500 (temporarily?) disable no-oped benches
BUG=skia:

Review URL: https://codereview.chromium.org/391343007
2014-07-16 20:23:43 -04:00
Mike Klein
912947737a Use __rdtsc on Windows.
This seems to be ~100x higher resolution than QueryPerformanceCounter.  AFAIK, all our Windows perf bots have constant_tsc, so we can be a bit more direct about using rdtsc directly: it'll always tick at the max CPU frequency.

Now, the question remains, what is the max CPU frequency to divide through by?  It looks like QueryPerformanceFrequency actually gives the CPU frequency in kHz, suspiciously exactly what we need to divide through to get elapsed milliseconds.  That was a freebie.

I did some before/after comparison on slow benchmarks.  Timings look the same.  Going to land this without review tonight to see what happens on the bots; happy to review carefully tomorrow.

R=mtklein@google.com
TBR=bungeman

BUG=skia:

Review URL: https://codereview.chromium.org/394363003
2014-07-16 19:59:32 -04:00
krajcevski
7ef21622b2 Add new ASTC pixel config
R=bsalomon@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/399623004
2014-07-16 15:21:14 -07:00
epoger
03f3db02c1 roll common DEPS, now using recursedeps
BUG=skia:2618
R=borenet@google.com, cmp@chromium.org

Author: epoger@google.com

Review URL: https://codereview.chromium.org/392353003
2014-07-16 14:45:48 -07:00
mtklein
103ae71cdd Remove benches from DM.
This idea turned out to be more redundant than useful.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/399463003
2014-07-16 14:29:53 -07:00
Mike Klein
0b4cc892cb Disable assertion of fBoundsIsDirty.
We allow this to be raced on, and it may have already become not-dirty by the
time we get to this function if computed by another thread.

BUG=skia:

Review URL: https://codereview.chromium.org/398913002
2014-07-16 17:18:20 -04:00
bungeman
e194c495e9 Remove ambiguous operator= on AutoCFRelease.
The operator= is ambiguous as to the state of the reference count.
Until we have rvalue assignment operators, just use 'reset' as the name
of the reference stealing assignment to AutoCFRelease.

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

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/400453002
2014-07-16 13:46:06 -07:00
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