Commit Graph

12702 Commits

Author SHA1 Message Date
bsalomon
da07a08367 Make LTCG optional on windows builds.
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/335123010
2014-06-26 12:56:28 -07:00
bsalomon
3512eda332 Add trace event when GrBufferAllocPool unmaps a buffer indicating what % of the buffer was unwritten.
R=egdaniel@google.com
TBR=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/339433009
2014-06-26 12:56:22 -07:00
rmistry
8ba8d923da Rebaseline Test-Android-Logan-Nvidia-Arm7-*
Reviewed both by mtklein and bsalomon in skia:2695.

TBR=
BUG=skia:2695
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/352353004
2014-06-26 11:35:33 -07:00
kelvinly
4d1a364e39 Make SKP bench JSON ouput better
BUG=skia:
NOTREECHECKS=true
R=bensong@google.com, jcgregorio@google.com, bsalomon@google.com, robertphillips@google.com, rmistry@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/329993008
2014-06-26 11:26:41 -07:00
Mike Klein
93fabf4847 Don't set SK_MALLOC_TEMP in SkAutoTMalloc.
Unlike SkAutoSTMalloc, it doesn't make sense for SkAutoTMalloc to set
SK_MALLOC_TEMP.  See SkAutoMalloc/SkAutoSMalloc for similar in the void*
world.(This change is a documentation-only no-op.  No code pays any
attention to SK_MALLOC_TEMP.)

BUG=skia:
R=halcanary@google.com

Review URL: https://codereview.chromium.org/356913003
2014-06-26 11:04:28 -04:00
bsalomon
3f547cb6a7 Add SK_API to SkWriter32
R=mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/356053002
2014-06-26 08:01:14 -07:00
kevin.petit
0d44830309 ARM Skia NEON patches - 40 - arm64: S32A_D565_Opaque
Here are some perf results:

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -2.54% |     -5.39% |
+-------+------------+------------+
|     2 |     -0.66% |     -2.08% |
+-------+------------+------------+
|     4 |    -11.13% |      0.00% |
+-------+------------+------------+
|     8 |     -5.79% |     -1.30% |
+-------+------------+------------+
|    16 |     71.60% |     93.27% |
+-------+------------+------------+
|    64 |     30.99% |     57.35% |
+-------+------------+------------+
|   256 |     25.41% |     52.59% |
+-------+------------+------------+
|  1024 |     25.56% |     53.76% |
+-------+------------+------------+

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

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

Author: kevin.petit@arm.com

Review URL: https://codereview.chromium.org/346843003
2014-06-26 02:51:29 -07:00
borenet
1ea04a0a4d Update SKP version to 33
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/336613005
2014-06-25 23:53:02 -07:00
senorblanco
7bf1068473 Remove SkBicubicImageFilter, and all related tests.
Now that we have SkResizeImageFilter, and the bicubic
resizing is part of skia proper, there's no need for a
specialized image filter.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/357793002
2014-06-25 14:39:06 -07:00
mtklein
f372321de3 Add nanobench, a fresh look at our microbenchmark harness.
out/Release/nanobench runs 4-5x faster on my Z620 and ~2x faster on my N5 than out/Release/bench with the same configs.

(Debug isn't really comparable.  I haven't added the Debug -> single loop check.)

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/347443002
2014-06-25 14:08:00 -07:00
halcanary
20fb7c6220 tools/git-sync-deps is a stand-alone program, not dependent on synced deps.
Motivation:  With common repo, we had a chicken-egg problem.

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

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/351063003
2014-06-25 13:28:30 -07:00
mtklein
b726df472b Add noinline for GCC 4.6, which seems to vectorize after inlining.
GCC 4.7 and 4.8 don't need this, but we're not building with them so it doesn't hurt.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/343423003
2014-06-25 12:40:51 -07:00
george
7c4c63a62e "interface" is defined in Windows headers, so undef it in GrGLCaps so we don't have a name collision
R=bsalomon@google.com, mtklein@google.com, bsalomon
BUG=skia:

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/344253003
2014-06-25 12:14:30 -07:00
mtklein
0cf27818e0 Narrow disabled vectorization further to just ConvolveHorizontally.
BUG=skia:2575
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/352883002
2014-06-25 11:38:00 -07:00
tfarina
12345aee12 Rename TestSize.cpp to SizeTest.cpp
It is the only file where Test is the prefix rather than the sufix.
 This patch fixes that so it matches with the rest of the files
 under tests/ directory.

And separate SkISize test into its own DEF_TEST().

BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/337783007
2014-06-25 10:39:02 -07:00
Mike Klein
85a08789c0 Rebase Test-Ubuntu12-ShuttleA-GTX660-x86-Release.
BUG=skia:2575

Review URL: https://codereview.chromium.org/353883002
2014-06-25 13:21:56 -04:00
Mike Klein
4809e4d796 try release only 2014-06-25 12:35:19 -04:00
Mike Klein
729c6f0f29 disable on nacl 2014-06-25 12:23:53 -04:00
mtklein
2b8a3b8f26 Focus disabled optimizations on just BGRAConvolve2D, and only 32-bit.
Last CL accidentally disabled autovectorization on 64-bit builds too.
This fixes that.

BUG=skia:2575
R=rmistry@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/353823005
2014-06-25 09:14:28 -07:00
borenet
3da21d2b62 Whitespace fixes for Python tools
BUG=skia:
R=rmistry@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/353853003
2014-06-25 08:40:58 -07:00
mtklein
ec368cf4d6 Temporarily disable autovectorization in core for 32-bit Linux builds.
BUG=skia:2575
R=rmistry@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/354833006
2014-06-25 08:27:09 -07:00
bsalomon
61d04c4bf0 Add valgrind supp for NV driver.
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/351053002
2014-06-25 08:25:30 -07:00
Eric Boren
bb0ef0a134 Use new common tools in Python scripts
BUG=skia:2682
R=rmistry@google.com

Review URL: https://codereview.chromium.org/330423004
2014-06-25 11:13:27 -04:00
kkinnunen
55106da359 Ignore degeneratesegments for nvprmsaa4 to unbreak the build
Ignore degeneratesegments for nvprmsaa4 to unbreak the build. The result image
seems to be inconsistent with different Linux GTX660 builds. Ignore the test for
Test-Ubuntu12-ShuttleA-GTX660-x86_64-Release.

BUG=skia:2689
R=rmistry@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345423006
2014-06-25 04:30:38 -07:00
borenet
669a121e7e Update SKP version to 32
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/352073002
2014-06-25 00:29:51 -07:00
mtklein
474cef4c55 Disable bogus _scaled benches until we can figure out why they're bogus.
BUG=skia:
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/357513006
2014-06-24 15:19:26 -07:00
robertphillips
1d86ee8363 Rename GrAtlasMgr to GrAtlas (and other cleanup)
This CL also renames the old GrAtlas to ClientPlotUsage and moves it into the new GrAtlas.

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/355673002
2014-06-24 15:08:49 -07:00
Brian Salomon
20fa0c3238 rebase GMs
BUG=skia:

Review URL: https://codereview.chromium.org/351973003
2014-06-24 18:08:09 -04:00
mtklein
32492e8204 delete disabled bench
BUG=skia:
R=tomhudson@google.com, mtklein@google.com, junov@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/354693003
2014-06-24 14:16:50 -07:00
egdaniel
4c6443e869 Remove special case gpu transforms for Identity and Translate
Change will remove some special cases for coord transforms in favor of not needing to compile
a new program if the coord trans changes from one special case to another.

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/344233006
2014-06-24 13:43:13 -07:00
robertphillips
4ec84da746 Move allocation of texture from SkGpuDevice to GrLayerCache
In order to atlas the layers the GrLayerCache needs to be given more control over where a given layer's texture is allocated (i.e., it could be a raw scratch texture or in the cache).

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/350183006
2014-06-24 13:10:43 -07:00
borenet
332600fb43 Bench: Change default maxMs from 4s to 1s.
Speculative fix for Android crashes.

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

Author: borenet@google.com

Review URL: https://codereview.chromium.org/346263011
2014-06-24 12:40:01 -07:00
mtklein
7373456679 Support serialization in SkRecord-backed SkPictures.
Update DM to test SkRecord through SkPictureRecorder API.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/345553003
2014-06-24 12:28:34 -07:00
bsalomon
22900008fb Make GrGLShaderBuilder::fragmentPosition() return a vec4, with 1.0 as the zw components when in the y-flip case. This works around an Adreno driver bug.
Revert "Stop referencing gl_FragCoord z and w components."

This reverts commit 160a52ba21.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/354663002
2014-06-24 11:16:52 -07:00
jvanverth
8a243376d6 Another iOS fix for SampleApp.
R=caryclark@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/353683003
2014-06-24 11:06:02 -07:00
mtklein
40684ba95f Prune some dead code from SkPicture.cpp.
There's no path that makes playback != fPlayback.get() anymore.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/352643002
2014-06-24 10:12:39 -07:00
caryclark
66a5d8bf13 add path dump test
Add a unit test for SkPath::dump(). The unit test exposed a minor
bug (inconsistent CRs) and an unused parameter (title).

R=bsalomon@google.com
TBR=bsalomon
BUG=skia:1836

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/351833003
2014-06-24 08:30:18 -07:00
Mike Klein
c11530ea73 Tick off some TODOs:
- support fRecord in copy constructor
  - support SkDrawPictureCallback

Moved SkDrawPictureCallback to its own header so
SkRecordDraw can include it without pulling in all of
SkPicture.

Adding an SkAutoSaveRestore to SkRecordDraw was the easiest
way to match the balance guarantees of the callback, and
probably not a bad idea in general.  Updated its tests.

BUG=skia:
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/349973008
2014-06-24 11:29:06 -04:00
mtklein
5a940b5cbb Tidy up fOwner in SkMutex_pthread.h.
- Initialize fOwner to kNoOwner in SkMutex::SkMutex.
  - Note that we're stretching the API with kNoOwner.
  - Use pthread_equal() instead of ==.

BUG=387993
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/357473002
2014-06-24 08:26:30 -07:00
caryclark
a8d2ffb1c2 add pathops tight bounds; conform path ops' gyp to unit tests
Implement path tight bounds using path ops machinery. This is not
as efficient as it could be; for instance, internally, it creates
a path ops structure more suited to intersection. If this shows
up as a performance bottleneck, it could be improved.

Fix path ops gyp files, which have fallen out of sync with other
tests.

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/348343002
2014-06-24 07:55:12 -07:00
tfarina
9ea53f93e7 Preprend Test to test function name generated by DEF_TEST() macro.
That way when declaring a test with DEF_TEST() macro, you don't have to
uniquify the test name because it might colide with the class it is
being testing.

For example, if you are testing SkBase64 and do:

DEF_TEST(SkBase64, reporter) {
}

That will generate an error because the macro will declare a function
named SkBase64 which colides with the type SkBase64.

By adding Test to the function name we avoid this problem.

Fixed the entries found with the following command line:

$ git grep "Test, r" | grep DEF

BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/345753007
2014-06-24 06:50:39 -07:00
kkinnunen
5da2fa436e Initialize a variable in GrDrawTarget::drawPaths
Initialize the device bounds rect variable before use in GrDrawTarget::drawPaths.

R=rmistry@google.com, jvanverth@google.com, mtklein@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/355603003
2014-06-24 05:43:21 -07:00
kkinnunen
68dd81bde9 Rebaseline gm results after "Implement text rendering with NVPR"
Rebaseline gm results after "Implement text rendering with NVPR".  The text is
rasterized by NV_path_rendering extension, so pixels are expected to be a bit
different.

NOTRY=true
R=rmistry@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/346413002
2014-06-24 04:45:58 -07:00
kkinnunen
c6cb56f36c Implement text rendering with NVPR
Use path rendering to render the text from outlines if supported by the
GPU. Implement this in GrStencilAndCoverTextContext by copying chunks of code
from GrBitmapTextContext.

The drawing is implemented with "instanced" path drawing functions.

Moves the creation of the "main" text context from SkGpuDevice to the
GrContext::createTextContext. This is done because the decision of which text
renderer is optimal can be made only with the internal implementation-specific
information of the context.

Remove a windows assertion from SkScalerContext_GDI::getGDIGlyphPath.  The
GetGlyphOutlineW fails in fontmgr_match for the initial space char in the string
" [700] ...". According to MSDN, this is a known problem.  Just return that the
glyph has no path data in these cases.

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/196133014
2014-06-24 00:12:27 -07:00
Mike Klein
6fc763e3c2 No one uses SkPicture::swap.
BUG=skia:
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/349313004
2014-06-23 15:29:52 -04:00
Mike Klein
744fb7313f Enable basic drawing with SkRecord-based pictures.
I've tagged all the functions in SkPicture.cpp is // fRecord TODO or // fRecord
OK, depending on whether or not they're totally broken when used from an
SkRecord-based picture.  Obviously next steps are to eliminate all the TODOs,
then clean up the notes.

I converted SkPicture over to smart pointers too.  It's particularly helpful
that the smart pointers initialize to NULL by default.

For now I've got all the SkRecord-based code jammed in at the bottom of the file.  I figure it'll help me keep things straight for a bit, then we can rearrange later.

BUG=skia:
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/333823007
2014-06-23 15:13:26 -04:00
caryclark
5fb6bd4b7e use platform-independent font for gm
Create a custom typeface and scaler to render simple paths the
same on all platforms.

GM tests are modified to explicitly select the custom typeface.

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/348323003
2014-06-23 11:25:00 -07:00
Ben Wagner
c83780c9ec Remove unneeded return from DirectWrite. 2014-06-23 13:53:26 -04:00
rmistry
798496c66f Rebaseline shadertext2_{gpu,8888} after SkPaint::measureText changes
These two GMs were missing from https://codereview.chromium.org/347393002/.

This CL is to fix http://108.170.220.121:10117/static/view.html#/view.html?resultsToLoad=%2Fresults%2Ffailures&displayLimitPending=50&showThumbnailsPending&mergeIdenticalRowsPending&imageSizePending=100&sortColumnSubdict=differenceData&sortColumnKey=perceptualDifference&hiddenResultTypes=failure-ignored,no-comparison,succeeded&hiddenConfigs=&builder=Test-Win7-ShuttleA-HD2000-x86-Release&test=

BUG=skia:
R=kkinnunen@nvidia.com, jvanverth@google.com, mtklein@google.com

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/333193003
2014-06-23 10:32:29 -07:00
Mike Klein
f22b6b5883 Use smart pointers to make SkPictureRecorder lifetimes less manual.
BUG=skia:
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/344253005
2014-06-23 13:29:10 -04:00