Commit Graph

14036 Commits

Author SHA1 Message Date
Brian Salomon
34a9895baf Revert "Use draw buffer for texture copy impl."
This reverts commit e3d4bf234a.

Conflicts:
	src/gpu/GrContext.cpp
2014-09-24 11:41:24 -04:00
mtklein
dc5bbab138 Have nanobench --verbose mode always just print integer nanoseconds.
Don't know that anyone but me is using this.  Speak up now!

BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/599913002
2014-09-24 06:34:09 -07:00
borenet
e33985a56d Revert "Add support for EGL on linux"
This reverts commit 1cea736c32.

Caused segfaults on all Android devices

R=bsalomon@google.com, djsollen@google.com
TBR=bsalomon, djsollen
NOTRY=true
BUG=skia:

Author: borenet@google.com

Review URL: https://codereview.chromium.org/599493003
2014-09-24 05:31:07 -07:00
borenet
6915f7f849 Update SKP version to 110
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/595203002
2014-09-23 21:22:12 -07:00
derekf
1cea736c32 Add support for EGL on linux
Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

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

Author: derekf@osg.samsung.com

Review URL: https://codereview.chromium.org/543363004
2014-09-23 15:17:36 -07:00
piotaixr
432789972c SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas
BUG=skia:2947
R=junov@chromium.org, reed@google.com, bsalomon@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/583453002
2014-09-23 14:10:50 -07:00
Mike Klein
271a030f5d We need to adjust the bounds of clip ops with SaveLayer paints too.
Before this CL, SkRecord only adjusted the bounds of draw ops for SaveLayers' paints.
That worked fine, but as a final step we intersect the bounds of draw ops with the
bounds of the current clip, essentially undoing all that work.

I think the right fix here is to also adjust the bounds of the clip ops.

BUG=skia:2957, 415468
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/595953002
2014-09-23 15:28:38 -04:00
egdaniel
f64596d415 Remove unused fRequiresVertexShader data member from OptDrawState
BUG=skia:
R=jvanverth@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/578323003
2014-09-23 11:04:54 -07:00
joshualitt
b0a8a377f8 Patch to create a distinct geometry processor. The vast majority of this patch
is just a rename.  The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/582963002
2014-09-23 09:50:21 -07:00
mtklein
e51ac563de Remove underscores from mode identifiers.
Underscore is used as a field separator sometimes when parsing the task
name into a list of config, mode, etc.  (This itself is dumb and TODO(mtklein): fix.)
Underscores in the field names will really mess that up, both in directories generated
from human-mode -w, and in the .json file.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/599503002
2014-09-23 09:20:14 -07:00
bsalomon
e3d4bf234a Use draw buffer for texture copy impl.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/589143004
2014-09-23 09:15:03 -07:00
bsalomon
cd523ebe2b Use uniform color/coverage inputs when path rendering.
BUG=skia:2954
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/600483002
2014-09-23 08:19:00 -07:00
egdaniel
033ea7f2ad Fix inputCoverageIsUsed bug in GrGLProgramDesc
BUG=skia:
R=joshualitt@chromium.org

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/593803003
2014-09-23 08:14:13 -07:00
junov
f23809101e Adding support for GL_CHROMIUM_copy_texture, part 1
Part 1 of 2. This change just adds the gl API entrypoint
so that the chromium/ganesh bindings can set it. Once
the chromium part is landed, we will add full support for
the extension

BUG=crbug.com/415100
R=bsalomon@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/594663002
2014-09-23 07:30:09 -07:00
borenet
d39c191e28 Update SKP version to 109
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/594783002
2014-09-22 21:33:08 -07:00
jvanverth
76ce81e5e6 Fix SDF font positions when using global scale.
Also fixes a crash in the dftext GM when using SampleApp,
and adds new test case in dftext.

BUG=skia:2928
R=joshualitt@google.com, egdaniel@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/588223002
2014-09-22 14:26:53 -07:00
egdaniel
c06482494d Calculate Primary and Secondary output types in the GrOptDrawState
Follow up CL to https://codereview.chromium.org/545693004/

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/554833002
2014-09-22 13:17:03 -07:00
egdaniel
ae444965c4 Change GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexShader
Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did
not want to.

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

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/586793002
2014-09-22 12:29:52 -07:00
cdalton
9959c21dc7 Rebaseline gm expectations after nvpr text change
BUG=skia:2951
BUG=skia:2954
R=bsalomon@google.com, borenet@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/580943003
2014-09-22 12:26:41 -07:00
bungeman
a85511adc0 Don't try to scale embedded bitmaps.
If a font is bitmap only we need to scale a bitmap to obtain
the requested size if there isn't an exact match. If a font has
embedded bitmaps then these bitmaps should never be scaled by Skia.
Allow FreeType to do the scaling (as requested by the font).

BUG=chromium:408059
R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/596513002
2014-09-22 12:24:41 -07:00
bsalomon
8d034a154f Don't flush on read/write pixels unless necessary
BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/586073002
2014-09-22 12:21:08 -07:00
mtklein
ee902cd4f4 Make a flipped fDirtyBit always mean "this field is not the default".
Haven't been able to measure any perf effect, so I figure I'll let the bots have at it.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/595583003
2014-09-22 11:40:33 -07:00
reed
baae2f1aa2 remove flags that now live in chrome's SkUserConfig.h
NOTRY=True
TBR=robertphilips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/591133003
2014-09-22 10:34:41 -07:00
jcgregorio
c0a77553f7 Fix typo in experimental/webtry/DESIGN.md.
R=tfarina@chromium.org

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/593723003
2014-09-22 10:33:00 -07:00
joshualitt
0125847c16 Proposed fix for small bug in gpu conical gradients
BUG=skia:
R=bsalomon@google.com, egdaniel@google.com, senorblanco@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/593443002
2014-09-22 10:29:30 -07:00
bsalomon
4401a1f7d6 Revert of Don't flush on read/write pixels unless necessary (patchset #2 id:20001 of https://codereview.chromium.org/586073002/)
Reason for revert:
Breaking the tree

Original issue's description:
> Don't flush on read/write pixels unless necessary
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/594543004
2014-09-22 09:12:11 -07:00
bsalomon
150723b929 Don't flush on read/write pixels unless necessary
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/586073002
2014-09-22 08:17:02 -07:00
reed
4a8126e7f8 Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)"
This reverts commit 29c857d0f3.

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/588143004
2014-09-22 07:29:03 -07:00
piotaixr
a29b5d8430 Cleaning includes in SkImage-related files
BUG=skia:2948
R=junov@chromium.org, tfarina@chromium.org, reed@google.com

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/586853003
2014-09-22 06:01:37 -07:00
borenet
a392c9d423 Update SKP version to 108
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/586403002
2014-09-21 20:37:57 -07:00
reed
29c857d0f3 Revert of introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)
Reason for revert:
Broke call site in WebKit

Original issue's description:
> introduce Props to surface (work in progress)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda

R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com
TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/583773004
2014-09-21 10:25:07 -07:00
reed
3716fd067a introduce Props to surface (work in progress)
BUG=skia:
R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/551463004
2014-09-21 09:39:55 -07:00
borenet
00a138c542 Update SKP version to 107
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/585313002
2014-09-20 21:15:07 -07:00
fmalita
3c196def91 Souped-up SkTextBlob.
Refactored text blob backend for improved performance: instead of using
separate buffers for runs/positions/glyphs, everything is now packed in
a consolidated slab (including the SkTextBlob object itself!).

Benefits:

 * number of allocations per blob construction reduced from ~4 to 1
   (also minimizes internal fragmentation)
 * run record size reduced by 8 bytes

This takes the blob construction overhead down to negligible levels
(for the current Blink uncached textblob implementation).

Unfortunately, the code is much more finicky (run merging in
particular) -- hence the assert spree.

Multi-run blobs are vulnerable to realloc storms but this is not a
problem at the moment because Blink is using one-run blobs 99% of the
time. Will be addressed in the future.

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

Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/581173003
2014-09-20 05:40:22 -07:00
borenet
a56d1d8889 Update SKP version to 106
Automatic commit by the RecreateSKPs bot.

TBR=

Author: borenet@google.com

Review URL: https://codereview.chromium.org/590643003
2014-09-19 21:12:51 -07:00
fmalita
e50215e598 Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium.org/581173003/)
Reason for revert:
Broke the new blobshader gm.

Original issue's description:
> Souped-up SkTextBlob.
>
> Refactored text blob backend for improved performance: instead of using
> separate buffers for runs/positions/glyphs, everything is now packed in
> a consolidated slab (including the SkTextBlob object itself!).
>
> Benefits:
>
>  * number of allocations per blob construction reduced from ~4 to 1
>    (also minimizes internal fragmentation)
>  * run record size reduced by 8 bytes
>
> This takes the blob construction overhead down to negligible levels
> (for the current Blink uncached textblob implementation).
>
> Unfortunately, the code is much more finicky (run merging in
> particular) -- hence the assert spree.
>
> Multi-run blobs are vulnerable to realloc storms but this is not a
> problem at the moment because Blink is using one-run blobs 99% of the
> time. Will be addressed in the future.
>
>
> R=reed@google.com,mtklein@google.com,robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4

R=mtklein@google.com, reed@google.com, robertphillips@google.com
TBR=mtklein@google.com, reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/588853002
2014-09-19 19:03:06 -07:00
fmalita
13645ea0ea Souped-up SkTextBlob.
Refactored text blob backend for improved performance: instead of using
separate buffers for runs/positions/glyphs, everything is now packed in
a consolidated slab (including the SkTextBlob object itself!).

Benefits:

 * number of allocations per blob construction reduced from ~4 to 1
   (also minimizes internal fragmentation)
 * run record size reduced by 8 bytes

This takes the blob construction overhead down to negligible levels
(for the current Blink uncached textblob implementation).

Unfortunately, the code is much more finicky (run merging in
particular) -- hence the assert spree.

Multi-run blobs are vulnerable to realloc storms but this is not a
problem at the moment because Blink is using one-run blobs 99% of the
time. Will be addressed in the future.

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/581173003
2014-09-19 18:37:00 -07:00
piotaixr
d49226cff3 Get rid of SkImage_Codec
Use SkImage_Raster with an ImageGenerator instead.

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

Author: piotaixr@chromium.org

Review URL: https://codereview.chromium.org/589713002
2014-09-19 13:30:06 -07:00
jvanverth
681e65b199 Don't try to add large glyphs to the font atlas.
When the glyph data is invalid we can try to allocate a ridiculous amount of memory. This adds a check to cover such cases.

BUG=414581
R=egdaniel@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/585853003
2014-09-19 13:07:39 -07:00
reed
5d9ab2816f enable conservative clips for gpudevice
TBR=bsalomon

Author: reed@google.com

Review URL: https://codereview.chromium.org/587793003
2014-09-19 13:04:17 -07:00
egdaniel
bc127a3fda Add UniqueID to GrDrawTargetCaps.
This is needed for creating the Optimized Draw State and checking that we have the same caps
on subsequent calls to ODS

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/585043002
2014-09-19 12:07:43 -07:00
bsalomon
45725db1d8 Move IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef on IOType.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/579403003
2014-09-19 11:48:02 -07:00
fmalita
8483326704 SkTextBlob shader space workaround.
Blink would like drawTextBlob(x,y) to behave the same as drawText(x,y)
WRT shader space. Due to the current generic device base impl, that is
not the case.

This is a transitional workaround, pending proper drawTextBlob impls
in SkDevice classes.

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/586743002
2014-09-19 11:40:51 -07:00
robertphillips
ab79ab5aab Fix memory leak in MultiPictureDraw GM
R=fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/585033002
2014-09-19 11:30:38 -07:00
cdalton
544c5b8c4d Fix stack-allocated GPU path object
Fixes nvpr text to dynamically allocate its template path object, as
per the Skia policy.

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

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/582033003
2014-09-19 11:12:46 -07:00
bsalomon
b3e3a955b6 Make GrIODB keep pending IO refs on all resources it records into its cmd stream.
BUG=skia:2889
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/581123002
2014-09-19 11:10:40 -07:00
mtklein
87e2437fe5 Add a "mode" tag to key in DM json output.
This lets us distinguish the original ("direct") runs from their replay modes.

There was a bit of a bug in here now fixed: we used the first entry in
fSuffixes as the config.  Actually, the last entry in suffixes is the
config.  This is moot when there's only one suffix (direct drawing), but
for mode drawing we were recording the mode as config!  Now it's correct.

Here's some example output where I rigged a bunch of modes to fail:

{
   "results" : [
      {
         "key" : {
            "config" : "565",
            "mode" : "default-nobbh",
            "name" : "xfermodes2"
         },
         "md5" : "2daf6f7e2b8e56543b92068a10d2179e",
         "options" : {
            "source_type" : "GM"
         }
      },
      {
         "key" : {
            "config" : "8888",
            "mode" : "default-nobbh",
            "name" : "xfermodes2"
         },
         "md5" : "490361e8a52800d29558bc23876da8c6",
         "options" : {
            "source_type" : "GM"
         }
      },
...
      {
         "key" : {
            "config" : "565",
            "mode" : "direct",
            "name" : "xfermodes2"
         },
         "md5" : "92a3801d5914d6c2662904a3bb50d2b9",
         "options" : {
            "source_type" : "GM"
         }
      },
...
      {
         "key" : {
            "config" : "8888",
            "mode" : "direct",
            "name" : "xfermodes2"
         },
         "md5" : "e7e8b3e9d31e601acaaff4633ed5f63a",
         "options" : {
            "source_type" : "GM"
         }
      },

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/586533005
2014-09-19 10:35:07 -07:00
robertphillips
3bc25e7247 Extend MultiPictureDraw GM
This new GM case is intended to exercise the matrix oriented aspects of layer caching.

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/582113004
2014-09-19 08:56:09 -07:00
bsalomon
43d361f7fa Stop calling rand() in debug-only code for GLProgramsTest
R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/584913002
2014-09-19 07:47:08 -07:00
jvanverth
f782639a7c Add ignored expectation for https://codereview.chromium.org/563283004.
BUG=skia:2951
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/585943002
2014-09-19 06:46:09 -07:00