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