bsalomon
93276c683d
Remove EGL header from SkANGLELContext.h
...
TBR=egdaniel@google.com
Review URL: https://codereview.chromium.org/947263002
2015-02-23 10:51:13 -08:00
bsalomon
c01f47b759
Remove unnecessary include of gles2 header in SkANGLEGLContext.h
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/949973002
2015-02-23 10:06:44 -08:00
bsalomon
6bc1b5fab8
Dynamically create stencil buffer when needed.
...
Review URL: https://codereview.chromium.org/938383004
2015-02-23 09:06:38 -08:00
bsalomon
42380174ca
Use D3D11 backend for ANGLE when available.
...
Review URL: https://codereview.chromium.org/954453002
2015-02-23 08:57:23 -08:00
bsalomon
f99e961f55
Allow resources' unique keys to be changed.
...
Review URL: https://codereview.chromium.org/938943002
2015-02-19 08:24:16 -08:00
bsalomon
8718aafec2
Rename GrContentKey to GrUniqueKey
...
Review URL: https://codereview.chromium.org/940463006
2015-02-19 07:24:21 -08:00
joshualitt
25d9c15408
Pass Rendertarget into context.
...
Adding Jim for text context stuff, and Steven for image blur stuff.
BUG=skia:
Review URL: https://codereview.chromium.org/939623005
2015-02-18 12:29:52 -08:00
jvanverth
5a105ff053
Use uint16s for texture coordinates when rendering text.
...
Allows us to push more vertices into a given vertex buffer, with
a slight performance improvement.
Committed: https://skia.googlesource.com/skia/+/059034d252007d0dd86fff5ffdbb53cbcb10d34b
Review URL: https://codereview.chromium.org/917373002
2015-02-18 11:36:35 -08:00
bsalomon
0aa94798c9
Use SkAutoSTMalloc in GrResourceKey
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/935863003
2015-02-18 11:33:04 -08:00
reed
e4ef1ca5be
Revert of Use uint16s for texture coordinates when rendering text. (patchset #5 id:80001 of https://codereview.chromium.org/917373002/ )
...
Reason for revert:
speculative revert for DEPS failures
https://codereview.chromium.org/932973002/
Original issue's description:
> Use uint16s for texture coordinates when rendering text.
>
> Allows us to push more vertices into a given vertex buffer, with
> a slight performance improvement.
>
> Committed: https://skia.googlesource.com/skia/+/059034d252007d0dd86fff5ffdbb53cbcb10d34b
TBR=joshualitt@google.com ,robertphillips@google.com,bsalomon@google.com,reed@google.com,djsollen@google.com,jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/920333003
2015-02-17 18:38:38 -08:00
bsalomon
f320e04c50
Use an array of nonpurgeable resources in GrResourceCache
...
Review URL: https://codereview.chromium.org/932863004
2015-02-17 15:09:34 -08:00
bsalomon
9f2d1571ed
Make GrResourceCache use a priority queue of purgeable resources.
...
Review URL: https://codereview.chromium.org/921323002
2015-02-17 11:47:41 -08:00
egdaniel
3ad6570e94
Use dst copies in porter duffer XP to correctly render certain blends.
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164
Review URL: https://codereview.chromium.org/914003003
2015-02-17 11:15:47 -08:00
jvanverth
059034d252
Use uint16s for texture coordinates when rendering text.
...
Allows us to push more vertices into a given vertex buffer, with
a slight performance improvement.
Review URL: https://codereview.chromium.org/917373002
2015-02-17 08:39:56 -08:00
egdaniel
b197b8ff31
Use SkXfermode as public facing enum for GrPorterDuffXP
...
BUG=skia:
Review URL: https://codereview.chromium.org/926593005
2015-02-17 07:34:43 -08:00
joshualitt
43466a1ade
Multi-string shaders
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e
Review URL: https://codereview.chromium.org/929503002
2015-02-13 17:18:27 -08:00
joshualitt
b8a82f2bce
Revert of Multi-string shaders (patchset #4 id:60001 of https://codereview.chromium.org/929503002/ )
...
Reason for revert:
windows warnings
Original issue's description:
> Multi-string shaders
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/924973002
2015-02-13 16:31:46 -08:00
joshualitt
1c3c2d8336
Multi-string shaders
...
BUG=skia:
Review URL: https://codereview.chromium.org/929503002
2015-02-13 16:23:49 -08:00
bsalomon
3582d3ee9f
Split out methods in GrGpuResource::CacheAccess that can be called outside of the cache.
...
Review URL: https://codereview.chromium.org/923143002
2015-02-13 14:20:05 -08:00
egdaniel
f7c2d55872
Determine whether we can tweakAlphaForCoverage during Pipeline/XP creation.
...
BUG=skia:
Review URL: https://codereview.chromium.org/927623002
2015-02-13 12:11:00 -08:00
egdaniel
2b816bacc0
Revert of Use dst copies in porter duffer XP to correctly render certain blends. (patchset #4 id:60001 of https://codereview.chromium.org/914003003/ )
...
Reason for revert:
Failing GLProgramTest passing in stupid coeffs
Original issue's description:
> Use dst copies in porter duffer XP to correctly render certain blends.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164
TBR=bsalomon@google.com ,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/923153003
2015-02-13 11:07:54 -08:00
egdaniel
997c6358d9
Use dst copies in porter duffer XP to correctly render certain blends.
...
BUG=skia:
Review URL: https://codereview.chromium.org/914003003
2015-02-13 10:23:19 -08:00
egdaniel
e36914cb20
Pass in ProcOptInfos into willNeedDstCopy on XPs
...
BUG=skia:
Review URL: https://codereview.chromium.org/912413002
2015-02-13 09:00:33 -08:00
bsalomon
3740972d02
Make null GL context use callback to make current
...
Review URL: https://codereview.chromium.org/919783002
2015-02-11 14:19:18 -08:00
bsalomon
bb0502eec5
Support multiple null GL contexts on a thread.
...
This has the side effect of requiring SkNullGLContext to use the null GL interface.
It exposes SkNullGLContext and also removes null context support from SampleApp.
Review URL: https://codereview.chromium.org/916733002
2015-02-11 11:11:11 -08:00
bsalomon
0ea80f43a1
Rename GrResourceCache2->GrResourceCache
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/921453002
2015-02-11 10:49:59 -08:00
robertphillips
e85a32d4f8
Clean up clipping code a bit
...
Review URL: https://codereview.chromium.org/913693002
2015-02-10 08:16:55 -08:00
egdaniel
41d4f09356
Move GrXferProcessor subclasses into cpp files
...
BUG=skia:
Review URL: https://codereview.chromium.org/860383007
2015-02-09 07:51:00 -08:00
bsalomon
23e619cf46
Reimplement gpu message bus for invalidated bitmap gen IDs
...
Review URL: https://codereview.chromium.org/902873002
2015-02-06 11:54:28 -08:00
bsalomon
d0423587ac
One createTexture function, attempt to recycle scratch in createTexture.
...
Review URL: https://codereview.chromium.org/864383003
2015-02-06 08:49:24 -08:00
bsalomon
50785a3d10
Revert of Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #1 id:1 of https://codereview.chromium.org/901663007/ )
...
Reason for revert:
The revert didn't help the 10.9 bot. Unreverting by reverting the revert (which is basically relanding the original patch which itself was a revert of a revert). Revert.
Original issue's description:
> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/ )
>
> Reason for revert:
> Testing to see if reverting fixes 10.9 bots.
>
> Original issue's description:
> > Move DstCopy on gpu into the GrXferProcessor.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
> >
> > Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69
>
> TBR=joshualitt@google.com ,egdaniel@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/21b2c53218ab25f4268e3992e51d916076a2a7ee
TBR=joshualitt@google.com ,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/873723009
2015-02-06 07:02:37 -08:00
bsalomon
21b2c53218
Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/ )
...
Reason for revert:
Testing to see if reverting fixes 10.9 bots.
Original issue's description:
> Move DstCopy on gpu into the GrXferProcessor.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
>
> Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69
TBR=joshualitt@google.com ,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/901663007
2015-02-05 14:18:05 -08:00
egdaniel
5e1378d0e0
Move DstCopy on gpu into the GrXferProcessor.
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
Review URL: https://codereview.chromium.org/885923002
2015-02-05 11:11:13 -08:00
joshualitt
de358a9946
BUG=skia:
...
Review URL: https://codereview.chromium.org/894693003
2015-02-05 08:19:35 -08:00
bsalomon
d2a6f4e419
More cleanup around GrContext, textures, and SkGr.cpp
...
Review URL: https://codereview.chromium.org/880983008
2015-02-04 10:55:54 -08:00
egdaniel
4dce32c466
Revert "Move DstCopy on gpu into the GrXferProcessor."
...
This reverts commit 74a1175360
.
TBR=joshualitt@google.com ,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd
Review URL: https://codereview.chromium.org/896163003
2015-02-04 06:25:28 -08:00
egdaniel
7adb355594
Revert of Revert "Move DstCopy on gpu into the GrXferProcessor." (patchset #1 id:1 of https://codereview.chromium.org/896163003/ )
...
Reason for revert:
failed on my manual revert
Original issue's description:
> Revert "Move DstCopy on gpu into the GrXferProcessor."
>
> This reverts commit 74a1175360
.
>
> TBR=joshualitt@google.com ,bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/900913002
2015-02-04 06:20:25 -08:00
egdaniel
3e9dfdb378
Revert "Move DstCopy on gpu into the GrXferProcessor."
...
This reverts commit 74a1175360
.
TBR=joshualitt@google.com ,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/896163003
2015-02-04 06:14:22 -08:00
kkinnunen
2340dcb02c
Remove unused and unimplemented abstract functions from GrRenderTarget
...
Remove unused and unimplemented abstract functions from GrRenderTarget.
The functions might cause confusion later.
BUG=skia:3388
Review URL: https://codereview.chromium.org/865603007
2015-02-03 22:20:19 -08:00
egdaniel
74a1175360
Move DstCopy on gpu into the GrXferProcessor.
...
BUG=skia:
Review URL: https://codereview.chromium.org/885923002
2015-02-03 15:02:43 -08:00
mtklein
b9eb4ac0f1
patch from issue 886233004 at patchset 40001 ( http://crrev.com/886233004#ps40001 )
...
... with changes proposed in the review.
BUG=skia:
Review URL: https://codereview.chromium.org/894013002
2015-02-02 18:26:03 -08:00
bsalomon
563ff60b33
make getContentKey() available in GrGpuResource public interface
...
TBR=robertphillips@google.com
Committed: https://skia.googlesource.com/skia/+/85ed2db092e75db41b711b9116a8d5b465fc2b0c
Review URL: https://codereview.chromium.org/886313005
2015-02-02 17:25:26 -08:00
stephana
9b440260d5
Revert of make getContentKey() available in GrGpuResource public interface (patchset #2 id:20001 of https://codereview.chromium.org/886313005/ )
...
Reason for revert:
This causes in one case the linker and in the other the compiler to segfault. On
Test-Ubuntu12-ShuttleA-GTX660-x86_64-Debug/Release
Original issue's description:
> make getContentKey() available in GrGpuResource public interface
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/85ed2db092e75db41b711b9116a8d5b465fc2b0c
TBR=robertphillips@google.com ,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/864343005
2015-02-02 14:52:11 -08:00
bsalomon
85ed2db092
make getContentKey() available in GrGpuResource public interface
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/886313005
2015-02-02 14:08:09 -08:00
bsalomon
37f9a2694c
Move npot resizing out of GrContext and simplify GrContext texture functions.
...
Committed: https://skia.googlesource.com/skia/+/8a8100349105c8c6de39fcb34e47679da7a67f54
Committed: https://skia.googlesource.com/skia/+/6c96672491b04cb782bce8fee778124df66524a0
Review URL: https://codereview.chromium.org/882223003
2015-02-02 13:00:10 -08:00
bsalomon
e137db8569
Revert of Move npot resizing out of GrContext and simplify GrContext texture functions. (patchset #10 id:200001 of https://codereview.chromium.org/882223003/ )
...
Reason for revert:
perf fix didn't fix the cr webgl conformance tests
Original issue's description:
> Move npot resizing out of GrContext and simplify GrContext texture functions.
>
> Committed: https://skia.googlesource.com/skia/+/8a8100349105c8c6de39fcb34e47679da7a67f54
>
> Committed: https://skia.googlesource.com/skia/+/6c96672491b04cb782bce8fee778124df66524a0
TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/887303002
2015-01-31 20:10:56 -08:00
bsalomon
6c96672491
Move npot resizing out of GrContext and simplify GrContext texture functions.
...
Committed: https://skia.googlesource.com/skia/+/8a8100349105c8c6de39fcb34e47679da7a67f54
Review URL: https://codereview.chromium.org/882223003
2015-01-31 19:27:53 -08:00
fmalita
6bfef2dfec
Revert of Move npot resizing out of GrContext and simplify GrContext texture functions. (patchset #9 id:160001 of https://codereview.chromium.org/882223003/ )
...
Reason for revert:
webGL conformance failures:
WebglConformance.conformance_textures_tex_image_and_sub_image_2d_with_video
WebglConformance.conformance_textures_texture_npot_video
https://codereview.chromium.org/892773003/
http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/29272
Original issue's description:
> Move npot resizing out of GrContext and simplify GrContext texture functions.
>
> Committed: https://skia.googlesource.com/skia/+/8a8100349105c8c6de39fcb34e47679da7a67f54
TBR=robertphillips@google.com ,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/868233005
2015-01-31 07:02:18 -08:00
bsalomon
8a81003491
Move npot resizing out of GrContext and simplify GrContext texture functions.
...
Review URL: https://codereview.chromium.org/882223003
2015-01-30 12:43:44 -08:00
bsalomon
3bd12efdcf
Fix wrapped content keys for npot textures.
...
Review URL: https://codereview.chromium.org/879193002
2015-01-28 11:39:48 -08:00
bsalomon
e167f9660c
Fix GPU resource cache related assertions.
...
Review URL: https://codereview.chromium.org/879963003
2015-01-27 09:56:04 -08:00
bsalomon
63c992f6c0
Fix the speeling of "purgeable" in Gr code
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/874693002
2015-01-23 12:47:59 -08:00
bsalomon
c2f35b750a
Allow unbudgeted resources to be recycled by the cache as scratch.
...
Review URL: https://codereview.chromium.org/870743002
2015-01-23 07:19:22 -08:00
bsalomon
4dffede04a
Fix self assigment in GrResourceKey
...
TBR=robertphillips@google.com
BUG=skia:3340
Review URL: https://codereview.chromium.org/866263007
2015-01-23 07:17:55 -08:00
bsalomon
1ea1ebce10
Remove GrBinHashKey
...
Review URL: https://codereview.chromium.org/861323002
2015-01-23 06:46:16 -08:00
bsalomon
24db3b1c35
Add specialized content key class for resources.
...
Review URL: https://codereview.chromium.org/858123002
2015-01-23 04:24:05 -08:00
egdaniel
8dd688b756
Rename GrOptDrawState to GrPipeline and GrDrawState to GrPipelineBuilder
...
BUG=skia:
Review URL: https://codereview.chromium.org/858343002
2015-01-22 10:16:09 -08:00
joshualitt
2fdeda0498
XPFactory lazily initializie in drawstate / GrPaint
...
BUG=skia:
Review URL: https://codereview.chromium.org/866573002
2015-01-22 07:11:45 -08:00
bsalomon
1c60dfe7ca
Reland https://codereview.chromium.org/860333002 with fix for test failures.
...
Revert "Revert of Make GrScratchKey memory buffer correct size on copy (patchset #1 id:1 of https://codereview.chromium.org/860333002/ )"
This reverts commit 988018c817
.
BUG=skia:
Review URL: https://codereview.chromium.org/863983003
2015-01-21 09:32:40 -08:00
mtklein
988018c817
Revert of Make GrScratchKey memory buffer correct size on copy (patchset #1 id:1 of https://codereview.chromium.org/860333002/ )
...
Reason for revert:
Our Valgrind bot just spewed out a weird error. I don't know if it's related, but it looks at least like one of the stacks was in the right area, so I'm going to revert this precautionarily. Sorry if this is a false positive.
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/266/steps/dm/logs/stdio
Original issue's description:
> Make GrScratchKey memory buffer correct size on copy
>
> Scratch key memory buffer of a copy of a key was too big. The (new) copy
> was N times uint32_t bytes instead of N bytes.
>
> Adds few tests to resource cache. These tests would not catch the too
> big buffer. This is just a precaution for too small buffers. The main
> idea of the test change is that the scratch key should contain some
> information, so that lookup with a scratch key can also return no
> match. Otherwise testing of scratch lookup result is not indicative of
> correct code (eg. no-information scratch key will always match).
>
> Committed: https://skia.googlesource.com/skia/+/711ef4831363fb8cbdf061dc2c36c65b13c0ccf2
TBR=bsalomon@google.com ,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/864833003
2015-01-21 08:05:55 -08:00
kkinnunen
711ef48313
Make GrScratchKey memory buffer correct size on copy
...
Scratch key memory buffer of a copy of a key was too big. The (new) copy
was N times uint32_t bytes instead of N bytes.
Adds few tests to resource cache. These tests would not catch the too
big buffer. This is just a precaution for too small buffers. The main
idea of the test change is that the scratch key should contain some
information, so that lookup with a scratch key can also return no
match. Otherwise testing of scratch lookup result is not indicative of
correct code (eg. no-information scratch key will always match).
Review URL: https://codereview.chromium.org/860333002
2015-01-21 06:39:14 -08:00
egdaniel
71e236c03e
Remove willReadDst from GrFragmentProcessor.
...
Since only XP's can read dst now, there is no reason to have this query on GrFP.
This also triggered a chain reaction of cleaning up/removing unnecessary code
elsewhere.
BUG=skia:
Review URL: https://codereview.chromium.org/851143003
2015-01-20 06:34:51 -08:00
robertphillips
46d36f0e7b
Refactor position computation to enable device space "nudge"
...
To match raster's handling of BW geometry we want to be able to perform a device space "nudge" on all geometry. This CL sets us up to be able to do that in GrGLVertexBuilder::transformToNormalizedDeviceSpace.
BUG=423834
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/854013002
2015-01-18 08:14:14 -08:00
bsalomon
afe3005be3
Require budget decision when creating a RenderTarget SkSurface.
...
Restructure SkGpuDevice creation:
*SkSurfaceProps are optional.
*Use SkSurfaceProps to communicate DF text rather than a flag.
*Tell SkGpuDevice::Create whether RT comes from cache or not.
Review URL: https://codereview.chromium.org/848903004
2015-01-16 07:32:33 -08:00
egdaniel
54f0e9d784
Add Xfer Processor for GrCustomXfermodes
...
BUG=skia:
Review URL: https://codereview.chromium.org/852203003
2015-01-16 06:29:47 -08:00
egdaniel
0063a9b69a
Move XferEffects class to GrCustomXfermode file
...
BUG=skia:
Review URL: https://codereview.chromium.org/844913003
2015-01-15 10:52:32 -08:00
bsalomon
5236cf480d
Make uncached textures uncached from the get go.
...
This avoids the problem of a newly created uncached texture causing a purge of cached resources.
BUG=chromium:445885
Review URL: https://codereview.chromium.org/846303002
2015-01-14 10:42:08 -08:00
joshualitt
abb52a1a70
Move most of the transform logic into the primitive processors
...
BUG=skia:
Review URL: https://codereview.chromium.org/822423004
2015-01-13 15:02:10 -08:00
mtklein
6f07665768
Simplify SkInstCnt
...
This code requires fewer macros to use it (just one), has less code in macro
definitions, and has simpler synchronization code (just atomic ints, no SkOnce,
no SkMutex, etc.)
A minor downside, we lose indentation and reverse-ordering in the final report:
Leaked SkRefCntBase: 7
Leaked SkFontMgr: 1
Leaked SkWeakRefCnt: 1
Leaked SkTypeface: 1
Leaked SkFlattenable: 3
Leaked SkXfermode: 3
Leaked SkPathRef: 1
Leaked SkPixelRef: 1
Leaked SkMallocPixelRef: 1
becomes
Leaked SkXfermode: 3
Leaked SkMallocPixelRef: 1
Leaked SkPixelRef: 1
Leaked SkPathRef: 1
Leaked SkFlattenable: 3
Leaked SkTypeface: 1
Leaked SkWeakRefCnt: 1
Leaked SkFontMgr: 1
Leaked SkRefCntBase: 7
This is motivated by wanting to land https://codereview.chromium.org/806473006/ ,
which makes sure all static use of SkOnce are in global scope. The current
implementation of SkInstCnt uses them in function scope, which isn't safe.
BUG=skia:
No public API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/841263004
2015-01-13 08:22:44 -08:00
mtklein
72c9faab45
Fix up all the easy virtual ... SK_OVERRIDE cases.
...
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.
for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end
BUG=skia:
Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
bsalomon
7775c85611
Add a simpler key type for scratch resource keys.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/815833004
2014-12-30 12:50:52 -08:00
joshualitt
8059eb9f6e
Move ViewMatrix off of drawstate
...
BUG=skia:
Review URL: https://codereview.chromium.org/815553003
2014-12-29 15:10:07 -08:00
joshualitt
40d4bd8daf
removing coord change matrices
...
BUG=skia:
Review URL: https://codereview.chromium.org/821243003
2014-12-29 09:04:40 -08:00
bsalomon
b0ae649b7e
Add device space skshader GM to test kDevice_GrCoordSet
...
Review URL: https://codereview.chromium.org/816003002
2014-12-29 07:05:27 -08:00
joshualitt
8fc6c2d82c
This CL cleans up the last remaining users of localCoordChange on paint
...
NOTREECHECKS=True
BUG=skia:
Review URL: https://codereview.chromium.org/817853002
2014-12-22 15:27:05 -08:00
jvanverth
fa1e8a7cef
Add sRGB texture support.
...
Review URL: https://codereview.chromium.org/791823003
2014-12-22 08:31:49 -08:00
egdaniel
080e673b10
Add XP to handle the cases where we disable color write.
...
BUG=skia:
Review URL: https://codereview.chromium.org/787233003
2014-12-22 07:35:52 -08:00
reed
f65f0b92f5
remove dead SK_SUPPORT_LEGACY_GRTYPES dead
...
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/823503002
2014-12-21 11:52:15 -08:00
joshualitt
290c09b8bb
initial changes to add local matrix to primitive processor
...
BUG=skia:
Review URL: https://codereview.chromium.org/820523002
2014-12-19 13:45:20 -08:00
joshualitt
c2625821b3
Remove the low hanging fruit with coord change matrices
...
BUG=skia:
Review URL: https://codereview.chromium.org/793013003
2014-12-18 16:40:55 -08:00
egdaniel
9e4ecdc9f8
Add an InvariantOutput for the XPF.
...
The Invariant output holds information about final post blended color and other
general information like will it blend with dst. Having this new struct allowed
me to also remove some functions that were previously querying subsets of the
invariant output.
BUG=skia:
Review URL: https://codereview.chromium.org/814933002
2014-12-18 12:44:55 -08:00
bsalomon
309d4d5909
Remove GrCoordTransform::kPosition_CoordSet
...
Review URL: https://codereview.chromium.org/811373002
2014-12-18 10:17:45 -08:00
joshualitt
16b2789895
Change to create device coord coordset
...
BUG=skia:
Review URL: https://codereview.chromium.org/812063002
2014-12-18 07:47:17 -08:00
joshualitt
5531d51ce7
remove view matrix from context
...
BUG=skia:
Review URL: https://codereview.chromium.org/808703006
2014-12-17 15:50:11 -08:00
bsalomon
3e79124a69
Stop creating GrODS for stencilPath commands.
...
Review URL: https://codereview.chromium.org/816513003
2014-12-17 13:43:13 -08:00
egdaniel
8750924a14
Add Coverage Drawing XP
...
BUG=skia:
Review URL: https://codereview.chromium.org/808813002
2014-12-17 13:37:13 -08:00
joshualitt
9b98932ada
This change will ultimately pull uniform color, and to a much lesser degree uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly.
...
BUG=skia:
Review URL: https://codereview.chromium.org/746423007
2014-12-15 14:16:27 -08:00
egdaniel
54160f3286
Add xp optimization for RGB coverage.
...
This is needed since clearColorStages is being changed to ignore color input. For RGB coverage,
we want to clear all the color stages (since we know the final output color), but we don't want
to ignore the color input since it is needed.
In future we will change this so the XP stores the color internally and thus can tell the GP to
simiply ignore color.
BUG=skia:
Review URL: https://codereview.chromium.org/791933006
2014-12-15 12:38:53 -08:00
tfarina
912ed6ebb8
Cleanup: Mark some overridden methods with 'SK_OVERRIDE'.
...
This fixes errors like this:
../../include/gpu/effects/GrPorterDuffXferProcessor.h:27:25: error:
'name' overrides a member function but is not marked 'override'
[-Werror,-Winconsistent-missing-override]
BUG=skia:3075
TEST=ninja -C out/Debug skia_lib
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/804813002
2014-12-14 15:20:11 -08:00
joshualitt
56995b5cc0
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
Review URL: https://codereview.chromium.org/791743003
2014-12-11 15:44:02 -08:00
junov
5756aff409
Adding a custom data field to GrGpuResource
...
Motivation: allow Blink to track pre-existing mailbox names for
textures that are recycled by the ganesh scratch texture pool.
BUG=440462
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/796163002
2014-12-11 14:59:32 -08:00
egdaniel
c230414861
Create xfer processor backend.
...
This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904
Review URL: https://codereview.chromium.org/764643004
2014-12-11 13:15:14 -08:00
junov
436293a330
Making GrGpuResource::release public for special case in Blink
...
BUG=440462
Review URL: https://codereview.chromium.org/739383006
2014-12-11 10:32:32 -08:00
joshualitt
294738268d
Revert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview.chromium.org/764643004/ )
...
Reason for revert:
CL breaks windows DM
Original issue's description:
> Create xfer processor backend.
>
> This includes:
> -Having an actual XP stage at the end of the gl pipeline.
> -All Blending work is handled by XP until actually setting GL blend states
> -GLPrograms test to test XP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904
TBR=bsalomon@google.com ,joshualitt@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/789343002
2014-12-10 15:03:01 -08:00
joshualitt
06f019fc0f
Revert of Fix to set correct output type when blending when we've read dst (patchset #4 id:60001 of https://codereview.chromium.org/791143002/ )
...
Reason for revert:
Breaks DM on windows
Original issue's description:
> Fix to set correct output type when blending when we've read dst
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea
TBR=bsalomon@google.com ,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/795783002
2014-12-10 14:57:50 -08:00
joshualitt
8c0f615fdd
Revert of Remove GP from drawstate, revision of invariant output for GP (patchset #9 id:160001 of https://codereview.chromium.org/791743003/ )
...
Reason for revert:
breaks mac
Original issue's description:
> Remove GP from drawstate, revision of invariant output for GP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/794843002
2014-12-10 14:12:22 -08:00
joshualitt
c6bc58eded
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Review URL: https://codereview.chromium.org/791743003
2014-12-10 13:48:57 -08:00
egdaniel
733fc20540
Fix to set correct output type when blending when we've read dst
...
BUG=skia:
Review URL: https://codereview.chromium.org/791143002
2014-12-10 12:45:20 -08:00
egdaniel
4dffc940c4
Create xfer processor backend.
...
This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP
BUG=skia:
Review URL: https://codereview.chromium.org/764643004
2014-12-10 07:43:50 -08:00
joshualitt
2e3b3e369d
This cl moves color and coverage off of drawstate. In an effort to keep this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated).
...
In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs.
BUG=skia:
Review URL: https://codereview.chromium.org/783763002
2014-12-09 13:31:15 -08:00
egdaniel
9513143efa
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
Review URL: https://codereview.chromium.org/759713002
2014-12-09 11:15:44 -08:00
bsalomon
9f876a37d8
Use threshold of 1 texture coord value per pixel w/ nearest neighbor.
...
Review URL: https://codereview.chromium.org/787873002
2014-12-09 10:51:07 -08:00
egdaniel
309e346744
Rename CustomCoordTextureEffect to GrBitmapTextGeoProc.
...
Also add in explicit set for LCD text in invariantOutput.
BUG=skia:
Review URL: https://codereview.chromium.org/786293002
2014-12-09 10:35:58 -08:00
bsalomon
422f56f6e5
Make addUniform take a precision
...
Review URL: https://codereview.chromium.org/788733003
2014-12-09 10:18:12 -08:00
bsalomon
c0bd6484f6
Move shader precision out of GrShaderVar
...
Review URL: https://codereview.chromium.org/777443003
2014-12-09 10:04:14 -08:00
bsalomon
17168df779
Use texture size to determine precision of texture coord varyings.
...
Review URL: https://codereview.chromium.org/778783002
2014-12-09 09:00:49 -08:00
egdaniel
8d95ffa497
Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/ )
...
Reason for revert:
break many gm's
Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/766653008
2014-12-08 13:26:43 -08:00
egdaniel
4ccf0b9405
Fix GrUnPreMulColor.
...
Current version incorrectly unpacked the resulting sk unpremulled color into rgba.
BUG=skia:3208
Review URL: https://codereview.chromium.org/787713002
2014-12-08 12:35:16 -08:00
egdaniel
7c66342a39
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
jvanverth
28f9c606e4
Add support for half float alpha textures.
...
This allows us to create distance field textures with better precision,
which may help text quality.
BUG=skia:3103
Review URL: https://codereview.chromium.org/762923003
2014-12-05 13:06:35 -08:00
egdaniel
915187b71d
Check XpFactory equality in DrawState
...
BUG=skia:
Review URL: https://codereview.chromium.org/767873006
2014-12-05 12:58:28 -08:00
egdaniel
8bf2bd335f
Move GrPorterDuffXferProcessor to include/gpu/effects.
...
BUG=skia:
Review URL: https://codereview.chromium.org/780263003
2014-12-05 12:14:27 -08:00
bsalomon
c92aadcf9a
clean up default precision handling
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/766753006
2014-12-04 13:02:47 -08:00
joshualitt
eb2a676165
Remove backend factories
...
BUG=skia:
Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
joshualitt
87f48d997e
create and thread batch tracker object
...
I remove the factory on the next CL
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294
Review URL: https://codereview.chromium.org/772513002
2014-12-04 10:41:40 -08:00
joshualitt
841a6b54c1
Revert of create and thread batch tracker object (patchset #9 id:160001 of https://codereview.chromium.org/772513002/ )
...
Reason for revert:
Breaking linux layout test
Original issue's description:
> create and thread batch tracker object
>
> I remove the factory on the next CL
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/774133003
2014-12-04 06:00:41 -08:00
joshualitt
c3a6eb2348
create and thread batch tracker object
...
I remove the factory on the next CL
BUG=skia:
Review URL: https://codereview.chromium.org/772513002
2014-12-03 15:34:20 -08:00
egdaniel
c016fb8f9f
Use static XPF for porter duff xp factories.
...
BUG=skia:
Review URL: https://codereview.chromium.org/776843004
2014-12-03 11:41:55 -08:00
bsalomon
ee64d6ef49
Add glGetShaderPrecisionFormat
...
Review URL: https://codereview.chromium.org/778703003
2014-12-03 10:46:08 -08:00
egdaniel
378092f3d1
Add XferProcessor factory in GrPaint and GrDrawState.
...
In this CL the XP should have zero effect on the actual rendering pipeline.
BUG=skia:
Review URL: https://codereview.chromium.org/751283002
2014-12-03 10:40:13 -08:00
joshualitt
2dd1ae016d
First step to moving vertex attributes to the geometryProcessor
...
BUG=skia:
Review URL: https://codereview.chromium.org/761563002
2014-12-03 06:24:10 -08:00
egdaniel
4bd4e8031d
Add function to return an unpremuled version of a GrColor
...
BUG=skia:
Review URL: https://codereview.chromium.org/773553002
2014-12-01 12:30:51 -08:00
jvanverth
5eefe42e72
Fix assert in GrMaskFormatBytesPerPixel.
...
BUG=skia:3174
Review URL: https://codereview.chromium.org/762553006
2014-11-26 12:07:33 -08:00
joshualitt
267ce482b5
remove proc key
...
BUG=skia:
Review URL: https://codereview.chromium.org/755363002
2014-11-25 14:52:21 -08:00
bsalomon
a2c2323005
Remove GrSurface::isSameAs
...
Review URL: https://codereview.chromium.org/753783003
2014-11-25 07:41:12 -08:00
bsalomon
10e23caea3
Use scratch keys for stencil buffers.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f
Review URL: https://codereview.chromium.org/747043004
2014-11-25 05:52:06 -08:00
bsalomon
19cd0f1813
Revert "Use scratch keys for stencil buffers."
...
This reverts commit 91175f1966
.
Revert "Cleanup res cache bench and split out into a unit test."
This reverts commit 4e4303f002
.
Revert "rebaselines"
This reverts commit 65ba7b5775
.
TBR=tomhudson@google.com
Review URL: https://codereview.chromium.org/752233002
2014-11-24 12:19:06 -08:00
bsalomon
91175f1966
Use scratch keys for stencil buffers.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/747043004
2014-11-24 07:05:15 -08:00
bsalomon
932f866987
Create GrOptDrawState directly in the cmd buffer in GrIODB.
...
Review URL: https://codereview.chromium.org/746243002
2014-11-24 06:47:48 -08:00
bsalomon
b03c4a35bd
Don't use NULL GrOptDrawState to indicate that draw should be skipped.
...
Review URL: https://codereview.chromium.org/742853002
2014-11-20 09:56:11 -08:00
joshualitt
02bcd9db00
move GrGeometryProcessor to src
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/739943003
2014-11-19 08:24:09 -08:00
bsalomon
ae59b77612
Create GrOptDrawState before recording draw in GrInOrderDrawBuffer
...
Review URL: https://codereview.chromium.org/739673002
2014-11-19 08:23:49 -08:00
egdaniel
ec03a46080
Add processor name to comment when printing out shaders.
...
BUG=skia:
Review URL: https://codereview.chromium.org/735153002
2014-11-19 06:22:39 -08:00
joshualitt
7eb8c7b00a
drawinfo carries bufferinfo
...
BUG=skia:
Review URL: https://codereview.chromium.org/737723003
2014-11-18 14:24:27 -08:00
joshualitt
9853ccef19
Drawstate on stack
...
BUG=skia:
Review URL: https://codereview.chromium.org/732693002
2014-11-17 14:22:49 -08:00
bsalomon
84c8e62fad
Allow GPU resources to not be counted against the cache budget.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/721353002
2014-11-17 09:33:27 -08:00
bsalomon
12299ab7a1
Make GrResourceCache2 responsible for calling release, abandon, and ~.
...
BUG=skia:2889
TBR=robertphillips@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/729683002
2014-11-14 13:33:09 -08:00
bsalomon
71cb0c241e
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
Review URL: https://codereview.chromium.org/716143004
2014-11-14 12:10:15 -08:00
djsollen
c87dd2ce96
Enable unused param checking for public includes.
...
This CL cleans up the existing violations and enables the
build time check to ensure that we don't regress.
The motiviation behind this change is to allow clients who include
our headers to be able to build with this warning enabled.
Review URL: https://codereview.chromium.org/726923002
2014-11-14 11:11:46 -08:00
bsalomon
ac49acda52
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 id:120001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
broken again
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
>
> Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/726913002
2014-11-14 06:47:39 -08:00
bsalomon
407aa584d1
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Review URL: https://codereview.chromium.org/716143004
2014-11-14 06:29:40 -08:00
reed
d54d3fc824
remove unused kLCD_MaskFormat
...
BUG=skia:
Review URL: https://codereview.chromium.org/728673002
2014-11-13 14:39:58 -08:00
bsalomon
f21dab9540
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 id:100001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
Breaking stuff
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/715333003
2014-11-13 13:33:28 -08:00
bsalomon
66a450f21a
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/716143004
2014-11-13 13:19:10 -08:00
djsollen
0b17d6cb34
Cleanup public includes directory.
...
This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.
To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.
* The exception is those includes that depend on OS specific headers
BUG=skia:2941
NOTRY=true
Review URL: https://codereview.chromium.org/721903002
2014-11-13 12:52:35 -08:00
djsollen
e4545210c9
Cleanup GrContextFactory and make it's subclasses private
...
Review URL: https://codereview.chromium.org/723183002
2014-11-13 11:12:41 -08:00
egdaniel
b6cbc38702
Add GrProcOptInfo class to track various output information for color and coverage stages.
...
BUG=skia:
Review URL: https://codereview.chromium.org/719203002
2014-11-13 11:00:34 -08:00
bsalomon
69ed47f42d
Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual impl
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702413003
2014-11-12 11:13:39 -08:00
egdaniel
605dd0fbce
Move GrInvariantOutput out of GrProcessor and into its own class.
...
This will help with the ability to subclass, add to, etc. GrInvariantOutput. Also it was simply
getting a little too big to be a "supporting" subclass
BUG=skia:
Review URL: https://codereview.chromium.org/699943003
2014-11-12 08:35:25 -08:00
bsalomon
453cf40ac7
Add GrGpuResource::CacheAccess
...
Internal only helper class for manipulating and accessing cache keys.
BUG=skia:2889
Review URL: https://codereview.chromium.org/703303003
2014-11-11 14:15:57 -08:00
joshualitt
4052a8e4f2
Remove coverage from grpaint
...
BUG=skia:
Review URL: https://codereview.chromium.org/683133006
2014-11-11 13:46:30 -08:00
bsalomon
6d4488c5e0
Remove all knowledge of resource keys from the legacy cache.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/705413002
2014-11-11 07:27:16 -08:00
bsalomon
fe369ee34b
Move GrResourceKey static functions from .h to .cpp to fix shared lib builds
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/718493002
2014-11-10 11:59:06 -08:00
bsalomon
8b79d23f82
Use GrResourceCache2 to service content key lookups
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/707493002
2014-11-10 10:19:06 -08:00
joshualitt
4973d9da4a
Default geometry processor
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/ff343074b2a3fdaa5f120600e28717e366bceadd
Review URL: https://codereview.chromium.org/678953002
2014-11-08 09:24:25 -08:00
joshualitt
ee0ea3f0dd
Revert of Default geometry processor (patchset #9 id:160001 of https://codereview.chromium.org/678953002/ )
...
Reason for revert:
breaks nexus 5
Original issue's description:
> Default geometry processor
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ff343074b2a3fdaa5f120600e28717e366bceadd
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/691313003
2014-11-07 12:08:03 -08:00
joshualitt
ff343074b2
Default geometry processor
...
BUG=skia:
Review URL: https://codereview.chromium.org/678953002
2014-11-07 11:47:10 -08:00
mtklein
2ecf86e55e
Revert of Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #1 id:1 of https://codereview.chromium.org/693933004/ )
...
Reason for revert:
Try again with loops overflow fix landed.
Original issue's description:
> Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/ )
>
> Reason for revert:
> Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
>
> Original issue's description:
> > Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
> >
> > This brings DM and nanobench's default configs in line with GM's.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
>
> TBR=bsalomon@google.com ,mtklein@google.com,mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5cd4ee5b81b51e43be7ed13f3c0f0f6c1b3fe14
TBR=bsalomon@google.com ,mtklein@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/685923003
2014-11-06 08:06:39 -08:00
egdaniel
e27065ae24
Send coverage VA as floats instead of bytes
...
NOTREECHECKS=True
BUG=skia:
Review URL: https://codereview.chromium.org/700943005
2014-11-06 08:00:48 -08:00
bsalomon
3343557421
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
Review URL: https://codereview.chromium.org/702083003
2014-11-05 14:47:42 -08:00
egdaniel
d5cd4ee5b8
Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/ )
...
Reason for revert:
Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
Original issue's description:
> Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
>
> This brings DM and nanobench's default configs in line with GM's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
TBR=bsalomon@google.com ,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/693933004
2014-11-05 14:21:33 -08:00
bsalomon
fdcf2c0863
Revert of Add mock context and use in ResourceCacheTest. (patchset #4 id:60001 of https://codereview.chromium.org/702083003/ )
...
Reason for revert:
Breaking tests
Original issue's description:
> Add mock context and use in ResourceCacheTest.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/704563004
2014-11-05 12:30:32 -08:00
mtklein
31f8867571
Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
...
This brings DM and nanobench's default configs in line with GM's.
BUG=skia:
Review URL: https://codereview.chromium.org/704563003
2014-11-05 12:28:26 -08:00
bsalomon
820dd6c335
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702083003
2014-11-05 12:09:45 -08:00
bsalomon
87a94eb163
Rename and clarify semantics of GrContext::resolveRenderTarget.
...
Review URL: https://codereview.chromium.org/696293004
2014-11-03 14:28:32 -08:00
bsalomon
89c62980c1
Don't allow renderTarget==NULL to GrContext::clear() and friends.
...
Review URL: https://codereview.chromium.org/680413005
2014-11-03 12:08:42 -08:00
egdaniel
37b4d866b1
Force input coverage to be only a byte in gpu shaders.
...
Prime coverage invariant output calculations with single component
BUG=skia:
Review URL: https://codereview.chromium.org/649783003
2014-11-03 10:07:07 -08:00
bsalomon
37dd331b20
Add class GrGLTextureRenderTarget for GL texture/rendertarget objects
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/695813003
2014-11-03 08:47:23 -08:00
joshualitt
5c55fef032
GrContext no longer ever draws on Gpu
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/7a75e5230872732e71ea99058d9afe5d4b6758b0
Review URL: https://codereview.chromium.org/683733005
2014-10-31 14:04:35 -07:00
joshualitt
b9e8230b50
Revert of GrContext no longer ever draws on Gpu (patchset #7 id:120001 of https://codereview.chromium.org/683733005/ )
...
Reason for revert:
breaks some android bots
Original issue's description:
> GrContext no longer ever draws on Gpu
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7a75e5230872732e71ea99058d9afe5d4b6758b0
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/694983002
2014-10-31 12:20:08 -07:00
joshualitt
7a75e52308
GrContext no longer ever draws on Gpu
...
BUG=skia:
Review URL: https://codereview.chromium.org/683733005
2014-10-31 11:34:53 -07:00
tfarina
38406c82b9
Cleanup: Go with SkDebugf instead of GrPrintf.
...
Since GrPrintf is just defined to SkDebugf, we can go with the later
directly.
BUG=None
TEST=None
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/695663003
2014-10-31 07:11:12 -07:00
tfarina
58f467c210
Cleanup: Remove GR_ARRAY_COUNT macro.
...
It is defined to SK_ARRAY_COUNT, and there are no uses of it.
Lets just use the SK_ variant.
BUG=None
TEST=None
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/691133003
2014-10-31 07:06:01 -07:00
bsalomon
81b0928673
fix typo in legacy flag alias
...
TBR=joshualitt@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/675173005
2014-10-28 15:17:39 -07:00
bsalomon
f2703d83da
rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags
...
Review URL: https://codereview.chromium.org/682223002
2014-10-28 14:33:06 -07:00
joshualitt
0e602827df
Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4
Review URL: https://codereview.chromium.org/678073005
2014-10-28 10:27:44 -07:00
joshualitt
98102a8f79
Revert of Patch to remove constant attributes (patchset #8 id:120002 of https://codereview.chromium.org/678073005/ )
...
Reason for revert:
I'll checkin tonight when the tree is quieter
Original issue's description:
> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
>
> Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/683203002
2014-10-28 09:08:35 -07:00
joshualitt
95f5194abc
Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
Review URL: https://codereview.chromium.org/678073005
2014-10-28 07:54:54 -07:00
joshualitt
9f2825f249
Revert of Patch to remove constant attributes (patchset #6 id:100001 of https://codereview.chromium.org/678073005/ )
...
Reason for revert:
Breaks the K1
Original issue's description:
> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/679363002
2014-10-27 17:56:18 -07:00
joshualitt
84c94c0dfd
Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
...
BUG=skia:
Review URL: https://codereview.chromium.org/678073005
2014-10-27 15:33:33 -07:00
egdaniel
27c1521ccf
Add gpu support for glVertexAttrb1f, 2fv, and 3fv
...
BUG=skia:
Review URL: https://codereview.chromium.org/662583003
2014-10-24 15:00:50 -07:00
bsalomon
a0036c6e33
Delete unused method aliases and texture flag.
...
Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f
Review URL: https://codereview.chromium.org/672753002
2014-10-24 12:46:57 -07:00
joshualitt
74077b9941
Added varying struct
...
TBR=
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/852ae80b9c3c6fd53f993ac35133d80863993cbe
Review URL: https://codereview.chromium.org/671023002
2014-10-24 11:26:03 -07:00
bsalomon
24234fe777
Build gpu stats tracking in dev builds.
...
Fix cache stats, add more info.
BUG=skia:2889
Review URL: https://codereview.chromium.org/655263005
2014-10-24 09:34:41 -07:00
joshualitt
c6f3e2c17b
Revert of Added varying struct (patchset #9 id:160001 of https://codereview.chromium.org/671023002/ )
...
Reason for revert:
may have caused gm change on arm
Original issue's description:
> Added varying struct
>
> TBR=
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/852ae80b9c3c6fd53f993ac35133d80863993cbe
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/675193002
2014-10-24 08:24:08 -07:00
joshualitt
852ae80b9c
Added varying struct
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/671023002
2014-10-24 07:56:04 -07:00
bsalomon
26979c8260
Revert of Delete unused method aliases and texture flag. (patchset #1 id:1 of https://codereview.chromium.org/672753002/ )
...
Reason for revert:
Need to remove one more reference to this in blink before relanding.
Original issue's description:
> Delete unused method aliases and texture flag.
>
> Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/671203002
2014-10-23 07:41:29 -07:00
bsalomon
7fdffe4149
Delete unused method aliases and texture flag.
...
Review URL: https://codereview.chromium.org/672753002
2014-10-23 06:56:55 -07:00
bsalomon
427cf28861
Remove AutoScratchTexture
...
Remove AST from GrClipMaskCache
Remove AST from GrClipMaskManager
BUG=skia:2889
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/663583002
2014-10-16 13:41:43 -07:00
bsalomon
420d7e9a79
Auto-compare GrProcessors' texture accesses in isEqual().
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/654313002
2014-10-16 09:18:09 -07:00
kkinnunen
30bc88ccd5
Refactor SkGLContext to be actually extendable
...
Refactor SkGLContext to be actually extendable. Before, non-trivial subclass
would need to destroy the GL connection upon running the destructor. However,
the base class would run GL commands in its own destructor (with destroyed GL
connection)
Refactor so that SkGLContext subclass object creation is completely done by
the factory function. If the factory function returns a non-NULL ptr, it means the context
is usable.
The destruction is done with the destructor instead of virtual function called
upon destruction. Make the destructors not to call virtual functions, for
clarity.
Remove custom 1x1 FBO setup code from the base class. It appears not to be used
anymore.
BUG=skia:2992
Review URL: https://codereview.chromium.org/640283004
2014-10-15 23:03:54 -07:00
bsalomon
de258cd6b4
Make GrFragmentProcessor auto-compare coord xforms.
...
Review URL: https://codereview.chromium.org/657923002
2014-10-15 19:06:21 -07:00
bsalomon
f2765410ba
Last round of effect->processor (for now)
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/659803005
2014-10-15 18:34:46 -07:00
egdaniel
9e4d6d180f
Move willUseInputColor check to computeInvariantOutput
...
BUG=skia:
Review URL: https://codereview.chromium.org/656503002
2014-10-15 13:49:02 -07:00
bsalomon
b762cb548b
More effect->processor cleanup
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/660563003
2014-10-15 11:25:21 -07:00
bsalomon
98b33ebe6f
Some cleanup in processor header files.
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/659803004
2014-10-15 11:05:26 -07:00
bsalomon
6251d17dfa
Split GrFragmentProcessor into its own header
...
Review URL: https://codereview.chromium.org/660573002
2014-10-15 10:50:36 -07:00
bsalomon
0e08fc17e4
Push isEqual/onIsEqual down from GrProcessor to subclasses.
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/654273002
2014-10-15 08:19:04 -07:00
bsalomon
e30597375c
Remove uses of GrAutoScratchTexture.
...
Rename GrContext::lockAndRefScratchTexture to refScratchTexture.
GrSurface::writePixels returns bool instead of void.
BUG=skia:2889
Review URL: https://codereview.chromium.org/638403003
2014-10-14 11:47:22 -07:00
egdaniel
ab84fae29f
Track if all stages modulate inputColor in computeInvariantOutput
...
BUG=skia:
Review URL: https://codereview.chromium.org/647863002
2014-10-14 06:48:46 -07:00
egdaniel
ccb2e384a0
Create helper functions to use in computeInvariantOutput calls
...
BUG=skia:
Review URL: https://codereview.chromium.org/643743003
2014-10-13 12:53:46 -07:00
bsalomon
81beccc4fb
Devirtualize read/write pixels on surface.
...
Consolidate read/write funcs in context.
Remove support for reading pixels from a surface that's not a target. It's currently broken and neither used nor tested.
Review URL: https://codereview.chromium.org/648863002
2014-10-13 12:32:55 -07:00
joshualitt
a5305a110a
Opt state takes a GP instead of a GeometryStage
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf
Review URL: https://codereview.chromium.org/637003003
2014-10-10 17:47:00 -07:00
joshualitt
89c7a2ec3e
Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 id:1500001 of https://codereview.chromium.org/637003003/ )
...
Reason for revert:
Revert because this may be causing a break in a chrome gpu test
Original issue's description:
> Opt state takes a GP instead of a GeometryStage
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf
TBR=bsalomon@google.com ,egdaniel@google.com,danakj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/647183002
2014-10-10 14:11:59 -07:00
jvanverth
294c32612d
Fix color emoji.
...
Removes the GrMaskFormat and single atlas in GrTextStrike.
Replaces it by storing the GrMaskFormat in each GrGlyph, and
doing a lookup for the correct atlas based on that.
Disables color glyph rendering in GrDistanceFieldTextContext
for now.
BUG=skia:2887
Committed: https://skia.googlesource.com/skia/+/bc92163ddfe957ad6ffbb02ac40e0ba75ff82216
Review URL: https://codereview.chromium.org/636183005
2014-10-10 11:36:12 -07:00
joshualitt
71856d5204
Opt state takes a GP instead of a GeometryStage
...
BUG=skia:
Review URL: https://codereview.chromium.org/637003003
2014-10-10 09:56:55 -07:00
jvanverth
e817dbb889
Revert of Fix color emoji. (patchset #11 id:320001 of https://codereview.chromium.org/636183005/ )
...
Reason for revert:
Crashing the Windows bots.
Original issue's description:
> Fix color emoji.
>
> Removes the GrMaskFormat and single atlas in GrTextStrike.
> Replaces it by storing the GrMaskFormat in each GrGlyph, and
> doing a lookup for the correct atlas based on that.
>
> Disables color glyph rendering in GrDistanceFieldTextContext
> for now.
>
> BUG=skia:2887
>
> Committed: https://skia.googlesource.com/skia/+/bc92163ddfe957ad6ffbb02ac40e0ba75ff82216
TBR=robertphillips@google.com ,bungeman@google.com,reed@google.com,bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2887
Review URL: https://codereview.chromium.org/640413004
2014-10-10 08:52:03 -07:00
jvanverth
bc92163ddf
Fix color emoji.
...
Removes the GrMaskFormat and single atlas in GrTextStrike.
Replaces it by storing the GrMaskFormat in each GrGlyph, and
doing a lookup for the correct atlas based on that.
Disables color glyph rendering in GrDistanceFieldTextContext
for now.
BUG=skia:2887
Review URL: https://codereview.chromium.org/636183005
2014-10-10 08:21:29 -07:00
joshualitt
9e87fa7c0e
Force linking of static member variables for GLPrograms
...
BUG=skia:
Review URL: https://codereview.chromium.org/614163002
2014-10-09 13:12:35 -07:00
bsalomon
1e2530babb
Use presence of a content key as non-scratch indicator
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
Review URL: https://codereview.chromium.org/639873002
2014-10-09 09:57:18 -07:00
joshualitt
651713408c
gl programs rewrite
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c
Review URL: https://codereview.chromium.org/628633003
2014-10-09 07:25:36 -07:00
kkinnunen
9e61bb7815
Make the Sk GL context class an abstract base class
...
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8
Review URL: https://codereview.chromium.org/630843002
2014-10-09 05:24:15 -07:00
bsalomon
ac211af359
call derived ~ from GrIORef
...
TBR=mtklein@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/641813002
2014-10-08 12:36:54 -07:00
bsalomon
81e64484ff
Remove ~GrIORef since last remaining virtual and now all inline
...
TBR=reed@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/638003003
2014-10-08 11:42:10 -07:00
bsalomon
0f9e8a720c
Revert of Use presence of a content key as non-scratch indicator (patchset #5 id:80001 of https://codereview.chromium.org/639873002/ )
...
Reason for revert:
breaking nanobench on ubuntu
Original issue's description:
> Use presence of a content key as non-scratch indicator
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/642493003
2014-10-08 11:21:33 -07:00
bsalomon
9eefe0851e
Use presence of a content key as non-scratch indicator
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/639873002
2014-10-08 10:48:15 -07:00
bsalomon
544fe2338f
Add SK_API to GrGpuResource
...
TBR=reed@google.com
Review URL: https://codereview.chromium.org/638963003
2014-10-08 10:24:07 -07:00
bsalomon
bcf0a52d4f
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-08 08:40:09 -07:00
bsalomon
10805961ce
Revert of Make the Sk GL context class an abstract base class (patchset #4 id:60001 of https://codereview.chromium.org/630843002/ )
...
Reason for revert:
nanobech failing on Android
Original issue's description:
> Make the Sk GL context class an abstract base class
>
> Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
> it depended on ifdefs to implement the platform dependent polymorphism. Move
> the logic to subclasses of the various platform implementations.
>
> This a step to enable Skia embedders to compile dm and bench_pictures. The
> concrete goal is to support running these test apps with Chromium command buffer.
>
> With this change, Chromium can implement its own version of SkGLNativeContext
> that uses command buffer, and host the implementation in its own repository.
>
> Implements the above by renaming the SkGLContextHelper to SkGLContext and
> removing the unneeded SkGLNativeContext. Also removes
> SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
> no use in Skia code, and no tests.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8
TBR=kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992
Review URL: https://codereview.chromium.org/639793002
2014-10-08 04:45:10 -07:00
kkinnunen
a90ed4e838
Make the Sk GL context class an abstract base class
...
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Review URL: https://codereview.chromium.org/630843002
2014-10-08 04:14:24 -07:00
joshualitt
47bb382830
Cleanup of shader building system
...
this is a huge refactor and cleanup of the gl shader building system in
Skia. The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program. I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres. Outside of the builders folder
and GrGLPrograms, this change is basically just a rename
solo gp
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/fe1233c3f12f81bb675718516bbb32f72af726ec
Review URL: https://codereview.chromium.org/611653002
2014-10-07 16:43:25 -07:00
joshualitt
db0d3ca070
Revert of Cleanup of shader building system (patchset #25 id:470001 of https://codereview.chromium.org/611653002/ )
...
Reason for revert:
Seems to have messed up windows 7 gms
Original issue's description:
> Cleanup of shader building system
>
> this is a huge refactor and cleanup of the gl shader building system in
> Skia. The entire shader building pipeline is now part of
> GrGLProgramCreator, which takes a gp, and some fps, and creates a
> program. I added some subclasses of GrGLProgram to handle the
> eccentricities of Nvpr/Nvpres. Outside of the builders folder
> and GrGLPrograms, this change is basically just a rename
>
>
> solo gp
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fe1233c3f12f81bb675718516bbb32f72af726ec
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/635533005
2014-10-07 12:42:26 -07:00
joshualitt
fe1233c3f1
Cleanup of shader building system
...
this is a huge refactor and cleanup of the gl shader building system in
Skia. The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program. I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres. Outside of the builders folder
and GrGLPrograms, this change is basically just a rename
solo gp
BUG=skia:
Review URL: https://codereview.chromium.org/611653002
2014-10-07 12:16:36 -07:00
Brian Salomon
9323b8b8e1
Revert "GrResourceCache2 manages scratch texture."
...
This reverts commit d14e1a2764
.
2014-10-07 15:07:38 -04:00
joshualitt
d909759832
Revert of gl programs rewrite (patchset #10 id:180001 of https://codereview.chromium.org/628633003/ )
...
Reason for revert:
breaks angle bot
Original issue's description:
> gl programs rewrite
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c
TBR=bsalomon@google.com ,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/631183003
2014-10-07 08:37:36 -07:00
joshualitt
07a255310a
gl programs rewrite
...
BUG=skia:
Review URL: https://codereview.chromium.org/628633003
2014-10-07 08:05:21 -07:00
bsalomon
d14e1a2764
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-07 07:27:07 -07:00
bsalomon
f80bfedc42
GrContext::copyTexture->GrContext::copySurface.
...
Add a flush writes pixel ops flag.
Add an explicit flush writes for GrSurface.
BUG=skia:2977
Committed: https://skia.googlesource.com/skia/+/cf99b00980b6c9c557e71abf1a7c9f9b21217262
Review URL: https://codereview.chromium.org/622663002
2014-10-07 05:56:02 -07:00
egdaniel
1a8ecdfb73
Add isSingleComponent bool to getConstantColorComponent
...
Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b
Review URL: https://codereview.chromium.org/608253002
2014-10-03 06:24:12 -07:00
bsalomon
d012877a6d
Fix ref cnt'ing issue in GrProgramElement.
...
Drop ref on GrGpuResources when GrProgramElement loses its last ref and already has a pending execution.
BUG=skia:2889
Review URL: https://codereview.chromium.org/612293003
2014-10-03 05:31:41 -07:00
robertphillips
b4b7a4c9ea
Revert of Add isSingleComponent bool to getConstantColorComponent (patchset #6 id:100001 of https://codereview.chromium.org/608253002/ )
...
Reason for revert:
Changing some GMs
Original issue's description:
> Add isSingleComponent bool to getConstantColorComponent
>
> Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b
TBR=joshualitt@chromium.org ,bsalomon@google.com,reed@google.com,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/617853003
2014-10-02 12:12:48 -07:00
bsalomon
85d3427d49
Revert of GrContext::copyTexture->GrContext::copySurface. Add a flush writes pixel ops flag. (patchset #3 id:40001 of https://codereview.chromium.org/622663002/ )
...
Reason for revert:
Breaking GMs on some bots
Original issue's description:
> GrContext::copyTexture->GrContext::copySurface.
>
> Add a flush writes pixel ops flag.
>
> Add an explicit flush writes for GrSurface.
>
> BUG=skia:2977
>
> Committed: https://skia.googlesource.com/skia/+/cf99b00980b6c9c557e71abf1a7c9f9b21217262
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2977
Review URL: https://codereview.chromium.org/621073002
2014-10-02 11:23:04 -07:00
bsalomon
cf99b00980
GrContext::copyTexture->GrContext::copySurface.
...
Add a flush writes pixel ops flag.
Add an explicit flush writes for GrSurface.
BUG=skia:2977
Review URL: https://codereview.chromium.org/622663002
2014-10-02 10:42:24 -07:00
egdaniel
3b8af07828
Add isSingleComponent bool to getConstantColorComponent
...
Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.
BUG=skia:
Review URL: https://codereview.chromium.org/608253002
2014-10-02 09:57:48 -07:00
derekf
29dda80c01
Add support for EGL on linux
...
Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix
Review URL: https://codereview.chromium.org/604853003
2014-10-01 10:52:52 -07:00
bsalomon
afbf2d6273
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-30 12:18:44 -07:00
robertphillips
b06e5a2f55
Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 id:260001 of https://codereview.chromium.org/596053002/ )
...
Reason for revert:
Breaking the Chrome builds with:
lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()'
(http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio )
Original issue's description:
> Make "priv" classes for GrTexure and GrSurface.
R=egdaniel@google.com , joshualitt@google.com , bsalomon@google.com
TBR=bsalomon@google.com , egdaniel@google.com , joshualitt@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/618733002
2014-09-30 06:58:20 -07:00
robertphillips
dbe6074a06
Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/ )
...
Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio )
Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio )
Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/611383003
2014-09-30 06:54:17 -07:00
bsalomon
3d398c8764
GrResourceCache2 manages scratch texture.
...
BUG=skia:
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/608883003
2014-09-30 06:02:23 -07:00
bsalomon
c0eb9b9818
Make "priv" classes for GrTexure and GrSurface.
...
R=robertphillips@google.com , egdaniel@google.com , joshualitt@google.com , joshualitt@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/596053002
2014-09-29 14:20:11 -07:00
egdaniel
89af44a0f1
Split GrDrawState and GrOptDrawState into separate classes and remove base class.
...
Besides splitting the two classes, there are no logical changes here and mostly moving code around.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/597323002
2014-09-26 06:15:04 -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
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
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
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
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
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
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
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
robertphillips
754f4e98d9
Add counting of some GL calls
...
I would like this facility for tracking FBO switch improvements.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/553583008
2014-09-18 13:52:08 -07:00
joshualitt
23e280d1f2
Changes to remove program effects builder
...
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/551253004
2014-09-18 12:26:38 -07:00
cdalton
4e205b1079
Remove createPath* from GrGpu and GrContext
...
Now that we have the GrPathRendering class, it doesn't make sense to
have a bunch of shims on on GrGpu. This updates the path rendering
clients to make calls directly on the GrPathRendering object.
BUG=skia:2939
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/578563002
2014-09-17 09:41:24 -07:00
cdalton
149b3ec2b1
Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and begins
...
detecting support for this method in GrGLPathRendering.
BUG=skia:2939
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/570733002
2014-09-17 09:19:18 -07:00
bsalomon
f96ba02513
Rename GrProgramResource to GrGpuResourceRef
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/574333003
2014-09-17 08:05:40 -07:00
bsalomon
3850971d54
Revert "Revert "Move SkGpuDevice.h to src/gpu""
...
This reverts commit b0a35f7c5d
.
R=borenet@google.com
TBR=borenet@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/575783003
2014-09-17 07:44:25 -07:00
borenet
b0a35f7c5d
Revert "Move SkGpuDevice.h to src/gpu"
...
This reverts commit d99bbb61e5
.
Causing Chrome canary failures as well as failures of Chrome trybots due to
not cleaning up properly after failed DEPS roll attempts.
BUG=skia:
R=bsalomon@google.com , reed@google.com
TBR=bsalomon, reed
Author: borenet@google.com
Review URL: https://codereview.chromium.org/579733003
2014-09-17 06:14:35 -07:00
bsalomon
d99bbb61e5
Move SkGpuDevice.h to src/gpu
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/545193006
2014-09-16 14:09:13 -07:00
bsalomon
c49233410e
Make templated GrProgramTResource subclass of GrProgramResource
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/563963004
2014-09-16 13:54:53 -07:00
joshualitt
49586bec73
removing GrDrawEffect
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/571163002
2014-09-16 08:21:42 -07:00
joshualitt
08da4f22d7
Revert of removing GrDrawEffect (patchset #4 id:60001 of https://codereview.chromium.org/571163002/ )
...
Reason for revert:
reverting to unblock another revert
Original issue's description:
> removing GrDrawEffect
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/577593003
2014-09-16 07:17:28 -07:00
joshualitt
8ddbe8b936
removing GrDrawEffect
...
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/571163002
2014-09-16 06:46:30 -07:00
joshualitt
249af15fb8
BUG=skia:
...
R=bsalomon@google.com , egdaniel@google.com , jvanverth@google.com , robertphillips@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/543623004
2014-09-15 11:41:14 -07:00
reed
841010f4bd
disable conservative rasterclip on gpu, until we understand perspective
...
BUG=skia:
R=bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/561763002
2014-09-10 07:23:32 -07:00
reed
d954498c01
Revert of Revert of allow canvas to force conservative clips (for speed) (patchset #1 id:1 of https://codereview.chromium.org/554033003/ )
...
Reason for revert:
May just rebaseline, plus want to see the results of the chrome tests, so re-trying this CL.
Original issue's description:
> Revert of allow canvas to force conservative clips (for speed) (patchset #7 id:120001 of https://codereview.chromium.org/541593005/ )
>
> Reason for revert:
> multipicturedraw failed on nvprmsaa -- don't know why yet
>
> Original issue's description:
> > Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects:
> >
> > 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often.
> >
> > 2. The conservative clips mean less work is done.
> >
> > 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases.
> >
> > 4. API is private for now.
> >
> > Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241
>
> TBR=robertphillips@google.com ,bsalomon@google.com,mtklein@google.com,junov@google.com
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/6f09709519b79a1159f3826645f1c5fbc101ee11
R=robertphillips@google.com , bsalomon@google.com , mtklein@google.com , junov@google.com , reed@google.com
TBR=bsalomon@google.com , junov@google.com , mtklein@google.com , reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/560713002
2014-09-09 18:46:22 -07:00
reed
6f09709519
Revert of allow canvas to force conservative clips (for speed) (patchset #7 id:120001 of https://codereview.chromium.org/541593005/ )
...
Reason for revert:
multipicturedraw failed on nvprmsaa -- don't know why yet
Original issue's description:
> Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects:
>
> 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often.
>
> 2. The conservative clips mean less work is done.
>
> 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases.
>
> 4. API is private for now.
>
> Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241
R=robertphillips@google.com , bsalomon@google.com , mtklein@google.com , junov@google.com
TBR=bsalomon@google.com , junov@google.com , mtklein@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/554033003
2014-09-09 12:51:10 -07:00
reed
27a5e656c3
Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects:
...
1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often.
2. The conservative clips mean less work is done.
3. Enabled by default for Gpu, Record, and NoSaveLayer canvases.
4. API is private for now.
R=robertphillips@google.com , bsalomon@google.com , mtklein@google.com , junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/541593005
2014-09-09 12:19:30 -07:00
bsalomon
655ad128d0
Make GrEffectStage copy constructor work correctly with pending execution refs.
...
R=egdaniel@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/551083002
2014-09-08 12:06:20 -07:00
bsalomon
18444b1649
Remove debug-only ref of GrEffectStage
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/553973002
2014-09-08 10:45:58 -07:00
bsalomon
2a9ca782ba
Make GrDrawState and GrEffectStage use the pending io/exec ref mechanisms.
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/542723004
2014-09-05 14:27:43 -07:00
bsalomon
49f085dddf
"NULL !=" = NULL
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
bsalomon
52e9d63f71
Don't take a ref on GP in AutoEffectRestore.
...
BUG=skia:2889
R=joshualitt@chromium.org , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/546043002
2014-09-05 12:23:12 -07:00
bsalomon
ac8d6193ea
Add method to GrProgramResource to record that pending a execution was completed.
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/543833002
2014-09-04 14:13:44 -07:00
bsalomon
95740981c3
Add GrProgramElement base class for GrEffect with deferred exec ref.
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/537773004
2014-09-04 13:12:37 -07:00
bsalomon
00b76bd750
Add reference base class to GrGpuResourcewith pending IO references.
...
BUG=skia:2889
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/533343002
2014-09-03 14:05:49 -07:00
robertphillips
98d709bc8d
Reorganize Layer Hoisting code
...
With the new MultiPictureDraw API the GrContext will be performing the layer hoisting (instead of the SkGpuDevice). This CL being moving the layer hoisting functionality to GrLayerHoister rather then dumping it straight into GrContext.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/531733003
2014-09-02 10:20:50 -07:00
bsalomon
6267f81f3d
Move MakeDivByTextureWHMatrix to GrCoordTransform
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/522873005
2014-08-29 15:05:53 -07:00
bsalomon
32d0b3b546
Simplify SkGpuDevice construction
...
R=robertphillips@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/506413004
2014-08-29 07:50:23 -07:00
bsalomon
23b406cc04
Make SkGpuDevice constructors private.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/517033002
2014-08-28 14:06:42 -07:00
bsalomon
744998e666
Make textures register with GrResourceCache2 as scratch.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/510053003
2014-08-28 09:54:34 -07:00
mtklein
533eb782ed
Convert BBH APIs to use SkRect.
...
Still TODO: convert internals of SkTileGrid.cpp and SkRTree.cpp to work in floats too.
NOTREECHECKS=true
BUG=skia:1021
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/511613002
2014-08-27 10:39:42 -07:00
bsalomon
169612621f
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 14:01:07 -07:00
bsalomon
a2b0af82f0
Revert of Make GrGpuResources register with GrResourceCache2 after fully constructed. (patchset #3 of https://codereview.chromium.org/504313002/ )
...
Reason for revert:
Breaking the bots
Original issue's description:
> Make GrGpuResources register with GrResourceCache2 after fully constructed.
>
> Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/488463004
2014-08-26 13:11:11 -07:00
bsalomon
d68b3e491b
Make GrGpuResources register with GrResourceCache2 after fully constructed.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/504313002
2014-08-26 12:51:20 -07:00
kkinnunen
ec56e45454
Implement NV_path_rendering on OpenGL ES
...
Implement support for NV_path_rendering on OpenGL ES. Use
glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to
communicate transforms to fragment shader.
The intention is that the NVPR paths will be drawn with the same shader program
as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and
just run the fragment shader.
After program is linked, query the locations of the fragment shader inputs with
glGetResourceLocation. The location will be used to set the transforms with
glProgramPathFragmentInputGenNV.
The functions and their workings are documented in:
glProgramPathFragmentInputGenNV
https://www.opengl.org/registry/specs/NV/path_rendering.txt
(note: addition as of API version 1.3)
glGetResourceLocation
https://www.opengl.org/registry/specs/ARB/program_interface_query.txt
http://www.opengl.org/registry/doc/glspec44.core.pdf
(function is in core Open GL 4.4)
Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However,
using seems to trigger a bug in the driver. Disable this feature on OpenGL at
least until the driver is fixed and released. The bug manifests in shadertext
test, where the lower-left text pair is missing. Valgrind catches a bad read
for the test and causes the context to OOM reproducibly.
R=bsalomon@google.com , cdalton@nvidia.com , joshualitt@google.com , joshualitt@chromium.org
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/367643004
2014-08-25 22:21:16 -07:00
joshualitt
30ba436f04
Initial refactor of shaderbuilder to prepare for geometry shaders
...
gitignore for eclipse
BUG=skia:
R=bsalomon@google.com , bsalomon@chromium.org
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/491673002
2014-08-21 20:18:45 -07:00
robertphillips
64bf76722e
Split up monolithic EXPERIMENTAL_drawPicture method
...
This is prep for the new multi-picture API.
This is split out of (Add new API to allow layer hoisting/atlasing across picture piles - https://codereview.chromium.org/474623002/ )
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/489103002
2014-08-21 13:07:35 -07:00
bsalomon
c8dc1f74b6
Add GrResourceCache2.
...
Currently it just replaces GrGpu as the owner of the linked list of resources.
Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f
R=mtklein@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/481443002
2014-08-21 13:02:13 -07:00
bsalomon
1d89ddc4a3
Revert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/481443002/ )
...
Reason for revert:
Likely caused a leak detected in Chromium after last Skia roll.
Original issue's description:
> Add GrResourceCache2.
>
> Currently it just replaces GrGpu as the owner of the linked list of resources.
>
> Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f
R=mtklein@google.com , robertphillips@google.com
TBR=mtklein@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/477323006
2014-08-19 14:20:58 -07:00
bsalomon
94ce9ac862
Add GrResourceCache2.
...
Currently it just replaces GrGpu as the owner of the linked list of resources.
R=robertphillips@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/481443002
2014-08-19 08:21:25 -07:00
reed
bbe7a2ad32
eliminate code related to SkBitmap::Config
...
BUG=skia:
R=reed@google.com , mike@reedtribe.org
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/483593002
2014-08-18 08:13:03 -07:00
krajcevski
b1aded8edd
Add flag to bench/render pictures
...
R=robertphillips@google.com , bsalomon@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/464423003
2014-08-18 07:52:17 -07:00
krajcevski
69a5560ea5
Add entry point for passing options to the GrContextFactory
...
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/465073002
2014-08-13 10:46:31 -07:00
george
b62508be81
Add a parameter GR_ALWAYS_ALLOCATE_ON_HEAP to allow for only ever creating temporary buffers on the heap instead of allowing stack allocation
...
Unfortunately this can't be a GR_GL_* config like we'd discussed because there are SkAutoSMalloc buffers that are built outside of gl/
R=bsalomon@google.com , bsalomon
BUG=skia:
Author: george@mozilla.com
Review URL: https://codereview.chromium.org/459263003
2014-08-12 18:00:47 -07:00
krajcevski
9c6d4d744a
Change GR_COMPRESS_ALPHA_MASK from compile-time flag to run-time. We do this by introducing an Options struct to be passed to a GrContext on creation.
...
R=robertphillips@google.com , bsalomon@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/459033002
2014-08-12 07:26:26 -07:00
bsalomon
d4cb922ea1
Consider index8 a compressed config.
...
R=krajcevski@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/457333004
2014-08-11 14:19:09 -07:00
cdalton
c7103a104f
Wrap NV_path_rendering API with GrGLPathRendering
...
Adds a GrGLPathRendering class that wraps the NV_path_rendering
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.
BUG=skia:
R=bungeman@google.com , bsalomon@google.com , kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/444223002
2014-08-11 14:05:05 -07:00
bsalomon
9c0822a415
Always use both a color and coverage attribute in GrAARectRenderer.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/435743002
2014-08-11 11:07:48 -07:00
reed
d5fa1a455a
add drawPicture variant that takes a matrix and paint
...
will need some staging strategy, since chrome and blink have overrides of onDrawPicture
R=robertphillips@google.com , fmalita@google.com , bsalomon@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/448793004
2014-08-09 11:08:05 -07:00
joshualitt
bab82ed05b
Pretty print of shaders
...
BUG=skia:
R=bsalomon@chromium.org , senorblanco@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/437593004
2014-08-08 09:41:42 -07:00
senorblanco
be129b26f1
Remove external SkImageFilter cache, and rename UniqueIDCache -> Cache.
...
There Can Only Be One.... Cache for SkImageFilter.
R=bsalomon@google.com
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/452923002
2014-08-08 07:14:35 -07:00
joshualitt
c863ab07c2
Cleanup of context initialization
...
Cleanup context initialization on linux
BUG=skia:
R=bsalomon@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/422323003
2014-08-07 13:48:50 -07:00
bungeman
760ba8d392
Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"
...
This reverts commit 5672da0fa5
.
This appears to be blocking the Skia roll by causing failures in the blink layout tests on the canvas-lost-gpu-context.html test.
The bisect for this can be seen at:
https://codereview.chromium.org/449473002/
Original issue's description:
> Adds a GrGLPathRendering class that wraps the NV_path_rendering
> extension and manages its various API versions. It also provides
> backup implementations when certain NVpr methods from later API
> versions are not present on the current system.
>
> Committed: https://skia.googlesource.com/skia/+/5672da0fa54f31c9727568e9dd5fe82c6e1585bc
2014-08-06 11:15:50 -04:00
egdaniel
6d7f5faeb3
Enable gpu Debug markers if tracing category skia.gpu is enabled
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/438023004
2014-08-04 12:54:39 -07:00
cdalton
5672da0fa5
Adds a GrGLPathRendering class that wraps the NV_path_rendering
...
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.
R=bsalomon@google.com , kkinnunen@nvidia.com , markkilgard@gmail.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/437473002
2014-08-04 11:19:11 -07:00
bsalomon
0673676854
Don't compare coord change matrices to determine effect compatibility when using explicit local coords.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/438053002
2014-08-04 10:56:40 -07:00
bsalomon
01c8da1eef
Remove unused matrix param from GrContext/GrDrawTarget rect drawing functions.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/441623005
2014-08-04 09:21:30 -07:00
senorblanco
55b6d8be99
Implement a persistent uniqueID-based cache for SkImageFilter.
...
Add a unique ID to SkImageFilter, and use it as part
of a persistent cache of image-filtered results. This is used for
caching frame-to-frame coherent filters.
We also keep track of which filter subtrees do not reference the
src input, and use a GenID of zero for the src input in that case.
That way, subtrees which are not dependent on the filter input can be
cached independently of it.
This gives approximately a 4X speedup on
letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620
and Nexus10. The cache key consists of the uniqueID of the filter, the
clip bounds, the CTM and the genID of the input bitmap.
Since this does not yet handle the case where the input primitives
(and part of the resulting filter tree) are unchanged, we have
to keep around the external cache for that painting case.
When the work to cache unchanging input primitives is done, the
old cache can be removed, and the new UniqueIDCache will be renamed
to Cache.
R=bsalomon@google.com , mtklein@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/414483003
2014-07-30 11:26:46 -07:00
cdalton
c8f5204667
Incorporate glStencilThenCover* nvpr methods
...
Adds the glStencilThenCover* nvpr methods to GrGLInterface and starts
using them. When drawing multible paths, this will make it so we only
have to send the index/transform data once. It will also allow the
driver to save time internally.
The glStencilThenCover* methods are a newer addition, so they aren't
available on every driver. In the event that they are not present, we
emulate them using the existing glStencil*/glCover* methods.
BUG=skia:
R=markkilgard@gmail.com , bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/423173004
2014-07-29 15:25:51 -07:00
egdaniel
b414f25cf9
Remove support in the gpu to use hardware AA lines. Current code paths could not reach this code and thus was never used.
...
The blend opt flag kDisableBlend should now be able to be removed, however it is left in this CL and will removed in its own.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/427823002
2014-07-29 13:15:47 -07:00
egdaniel
b09bdd6bac
Revert of Remove gpu support for willUseHWAALines. ( https://codereview.chromium.org/423943003/ )
...
Reason for revert:
Breaking windows 7 compare gm's
Original issue's description:
> Remove gpu support for willUseHWAALines.
>
> By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e6dfba868c19b00562f8c733b9bf37dd4ec9e68c
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/430493003
2014-07-29 08:52:23 -07:00
bsalomon
944bcf0acb
Some fixes around GrContext::abandonContext:
...
Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list.
Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned.
Stop leaking program cache entries when context is abandoned.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422323002
2014-07-29 08:01:52 -07:00
egdaniel
e6dfba868c
Remove gpu support for willUseHWAALines.
...
By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/423943003
2014-07-29 07:51:03 -07:00
bsalomon
2354f8432a
Test abandoning GL context in dm/nanobench.
...
Rename GrContext::contextDestroyed to GrContext::abandonContext.
Remove GrContext::resetContext.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422903002
2014-07-28 13:48:36 -07:00
bungeman
d6aeb6dc8f
Fix thread unsafe mutex initialization.
...
BUG=skia:2779
R=robertphillips@google.com , mtklein@google.com , reed@android.com , bsalomon@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/419113002
2014-07-25 11:52:48 -07:00
bsalomon
6d3fe022d6
Rename GrGpuObject to GrGpuResource
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/418143004
2014-07-25 08:35:45 -07:00
bsalomon
c44be0e9e4
Merge GrGpuObject and GrCacheable.
...
We want to create a new base class for "meta" gr resources as part of the GrResourceCache rewrite and this is an iterim step towards that goal.s
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/414013005
2014-07-25 07:32:33 -07:00
krajcevski
2a413df4da
Add ASTC to list of alpha compressed formats
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/412113004
2014-07-24 08:16:01 -07:00
jvanverth
dd6d22751a
Replace use of GrTHashTable in GrFontCache with SkTDynamicHash.
...
Searching the font cache for existing text strikes was showing up
as a hotspot on Android. This change reduces that cost.
R=bsalomon@google.com , robertphillips@google.com , mtklein@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/390103002
2014-07-22 13:25:26 -07:00
bsalomon
1c63bf6e90
Revert "Revert of Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are… ( https://codereview.chromium.org/376703009/ )"
...
This reverts commit 249171e7d2
.
Uses 32 bit id instead of 64. Renamed instanceID to uniqueID to match existing code.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/414493002
2014-07-22 13:09:46 -07:00
bsalomon
be035702f3
Remove unused enum value and member of GrGpuObject
...
R=robertphillips@google.com
TBR=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/413523002
2014-07-22 11:17:14 -07:00
robertphillips
d771f6bc27
Add auto purging for SkPicture-related Ganesh resources (esp. layers)
...
This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/408923002
2014-07-22 10:18:06 -07:00
bsalomon
dcabb05113
Make GrCacheable implement its own ref counting.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/392333008
2014-07-21 14:24:01 -07:00
bsalomon
63e99f7a03
Allow GrGLEffects to produce variable length keys.
...
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/385713005
2014-07-21 08:03:14 -07:00
robertphillips
249171e7d2
Revert of Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are… ( https://codereview.chromium.org/376703009/ )
...
Reason for revert:
Trying to unblock roll wedged on 64 bit intrinsic call on XP
Original issue's description:
> 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.
>
> Committed: https://skia.googlesource.com/skia/+/91bdbcdbbdf5cdf0fdb4518a0d30206c964cfdf6
R=jvanverth@google.com , bsalomon@google.com
TBR=bsalomon@google.com , jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/405023003
2014-07-20 09:21:02 -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
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
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
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
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
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
reed
ed458688e2
remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/387313004
2014-07-14 09:21:31 -07:00
jvanverth
733f5f5dbc
Refactor SkGrFontScaler and SkGrFontKey into non-virtual versions.
...
This is a pre-cleanup for another change, but has the side benefit of making
the code simpler in general.
No perf increase, despite removing virtual functions.
R=bsalomon@google.com , egdaniel@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/385263002
2014-07-11 19:45:16 -07:00
bsalomon
848faf00ec
This moves us towards variable length effect keys. The overall program key now allows for it. After the header it stores an array of offsets to effect keys. This allows us to grab the effect keys to pass to effects when they generate code. It also ensures that we can't get a collision by sets of keys that are different lengths but are the same when appended together.
...
R=robertphillips@google.com , jvanverth@google.com , egdaniel@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/356513003
2014-07-11 10:01:02 -07:00
bsalomon
0139ae3ec4
Fix param name in GrEffect::CastEffect
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/376863006
2014-07-08 10:30:38 -07:00
bsalomon
83d081ae1d
Goodbye GrEffectRef.
...
Also, reworked some var names and comments around SkShader::asNewEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/374923002
2014-07-08 09:56:11 -07:00
bsalomon
55fad7af61
Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/371103003
2014-07-08 07:34:21 -07:00
bsalomon
97b9ab72cd
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-08 06:52:35 -07:00
reed
969842ac9c
Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. ( https://codereview.chromium.org/377503004/ )
...
Reason for revert:
broke linux builders
Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com , bsalomon@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/372053003
2014-07-07 15:17:49 -07:00
bsalomon
2011fe9cdf
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-07 15:11:31 -07:00
reed
9a9eae21ed
change pixelref to not inherit from SkFlattenable
...
If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps.
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/320873003
2014-07-07 14:32:06 -07:00
bsalomon
f99f884cd8
Remove use of GrEffectRef from draw state and below.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/372773002
2014-07-07 11:54:23 -07:00
bsalomon
81d71885f1
Remove GrEffectStage::DeferredStage
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/373603005
2014-07-07 10:46:32 -07:00
kkinnunen
32b9a3b02e
Add functions to support NV_path_rendering in OpenGL ES
...
Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.
The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:
Append to the end of the "Shader Inputs" subsection of Section 3.12.2
"Shader Execution":
The command
void ProgramPathFragmentInputGenNV(uint program,
int location,
enum genMode,
int components,
const float *coeffs);
controls how a user-defined (non-built-in) fragment input of a
GLSL program object is computed for fragment shading operations that
occur as a result of CoverFillPathNV or CoverStrokePathNV.
/program/ names a GLSL program object. If /program/ has not been
successfully linked, the error INVALID_OPERATION is generated.
The given fragment input generation state is loaded into the fragment
input variable location identified by /location/. This location
is a value returned either by GetProgramResourceLocation with a
/programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
for the /programInterface/ and LOCATION for the property for a given
fragment input resource index.
....
glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.
Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.
Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.
The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.
Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.
Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.
Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/345723002
2014-07-02 22:56:36 -07:00
bsalomon
9245b7ee76
When performing offscreen rendering on windows, attempt to use a pbuffer context.
...
A pbuffer context is less likely to have a blocking SwapBuffers (due to vsync).
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/336863009
2014-07-01 07:20:11 -07:00
krajcevski
238b456a7c
R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs.
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330763008
2014-06-30 09:09:22 -07:00
robertphillips
952841bf41
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-30 08:26:50 -07:00
kkinnunen
80549fcdd5
Support using OpenGL ES context on desktop
...
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.
Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
robertphillips
e462f2bed3
Revert of Begin atlasing ( https://codereview.chromium.org/354533004/ )
...
Reason for revert:
Sigh
Original issue's description:
> Begin atlasing
>
> This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
>
> 1) the atlased layers cannot be purged nor aged out
> 2) the texture backing the atlas is not pulled from (or returned to) the resource cache
>
> #1 is on hold until we have a recycling rectanizer
>
> A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
>
> Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/359953002
2014-06-29 17:16:27 -07:00
robertphillips
55e61f0ef4
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-29 15:08:31 -07:00
reed
89443aba5b
change gpudevice and pdfdevice to inherit from basedevice
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/354133002
2014-06-27 11:34:19 -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
rmistry
05ead8afe5
Revert of Support using OpenGL ES context on desktop ( https://codereview.chromium.org/319043005/ )
...
Reason for revert:
Caused segmentation fault on many builders. Please see reverted CL's msg #21 for details.
Original issue's description:
> Support using OpenGL ES context on desktop
>
> Support using OpenGL ES context on desktop for unix and Android platforms. This
> is mainly useful in development.
>
> Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
> possible parameters for the flag are "gl" and "gles".
>
> Committed: https://skia.googlesource.com/skia/+/74fc727dc88ee24d89f88cb1709f963e9073aeb3
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com , kkinnunen@nvidia.com
TBR=bsalomon@google.com , kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/351583002
2014-06-23 06:13:46 -07:00
rmistry
c986b1fd28
Revert of Add functions to support NV_path_rendering in OpenGL ES ( https://codereview.chromium.org/345723002/ )
...
Reason for revert:
Will have to unfortunately revert this CL in order to revert https://codereview.chromium.org/319043005/
Original issue's description:
> Add functions to support NV_path_rendering in OpenGL ES
>
> Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
> ES.
>
> The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
> revision 30, similar to following:
>
> Append to the end of the "Shader Inputs" subsection of Section 3.12.2
> "Shader Execution":
>
> The command
>
> void ProgramPathFragmentInputGenNV(uint program,
> int location,
> enum genMode,
> int components,
> const float *coeffs);
>
> controls how a user-defined (non-built-in) fragment input of a
> GLSL program object is computed for fragment shading operations that
> occur as a result of CoverFillPathNV or CoverStrokePathNV.
>
> /program/ names a GLSL program object. If /program/ has not been
> successfully linked, the error INVALID_OPERATION is generated.
>
> The given fragment input generation state is loaded into the fragment
> input variable location identified by /location/. This location
> is a value returned either by GetProgramResourceLocation with a
> /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
> input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
> for the /programInterface/ and LOCATION for the property for a given
> fragment input resource index.
>
> ....
>
> glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
> because the latter depends on fixed function pipeline that is not
> exposed in ES.
>
> Also add glGetProgramResourceLocation from OpenGL 4.3 or
> ARB_program_interface_query.
>
> Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.
>
> The added functions are not used yet, but they're needed when implementing
> NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.
>
> Remove uncalled NV_path_rendering functions, so they do not cause confusion
> or take space in the interface definition. The ones that are later used
> can be re-added when needed.
>
> Remove definitions NV_path_rendering that are for NV_path_rendering function
> parameters that are not used. The ones that are later used
> can be re-added when needed.
>
> Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c
R=bsalomon@google.com , kkinnunen@nvidia.com
TBR=bsalomon@google.com , kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/349983002
2014-06-23 06:06:36 -07:00
kkinnunen
4a995dfff2
Add functions to support NV_path_rendering in OpenGL ES
...
Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.
The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:
Append to the end of the "Shader Inputs" subsection of Section 3.12.2
"Shader Execution":
The command
void ProgramPathFragmentInputGenNV(uint program,
int location,
enum genMode,
int components,
const float *coeffs);
controls how a user-defined (non-built-in) fragment input of a
GLSL program object is computed for fragment shading operations that
occur as a result of CoverFillPathNV or CoverStrokePathNV.
/program/ names a GLSL program object. If /program/ has not been
successfully linked, the error INVALID_OPERATION is generated.
The given fragment input generation state is loaded into the fragment
input variable location identified by /location/. This location
is a value returned either by GetProgramResourceLocation with a
/programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
for the /programInterface/ and LOCATION for the property for a given
fragment input resource index.
....
glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.
Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.
Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.
The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.
Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.
Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/345723002
2014-06-22 23:32:33 -07:00
kkinnunen
74fc727dc8
Support using OpenGL ES context on desktop
...
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.
Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/319043005
2014-06-22 22:56:54 -07:00
bsalomon
8b2fac4b25
Cache the GrEffect used for text rendering in GrBitmapTextContext.
...
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/338093005
2014-06-19 14:13:45 -07:00
egdaniel
bbcb38df4f
Allow gpu debug markers to be placed by using a GrContext
...
If a marker is placed using a GrContext, it will add a marker to both the
drawBuffer and gpu targets of that context.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/340893002
2014-06-19 10:19:29 -07:00
reed
c3b3266b7d
hide SkBitmap::Config entirely (behind a flag)
...
patch from issue 339463002
TBR=
I think the NoGPU failure is unrelated, so ignoring
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340533002
2014-06-17 08:38:31 -07:00
reed
f252f64f17
hide virtuals on device for width/height/isopaque
...
R=bsalomon@google.com
NOTREECHECKS=True
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334993002
2014-06-14 04:24:57 -07:00
egdaniel
e61c411c12
Use vertex attributes for dash effect in gpu
...
This will allow us to batch dashed lines together when drawing. Also, this removes the need for
a coord transform matrix in the shader, thus we save the cost of uploading a new matrix uniform
everytime we do a simple transform to the dashed line we are drawing.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/326103002
2014-06-12 10:24:21 -07:00
krajcevski
37d20f7532
Add support for glCompressedTexSubImage2D
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/329213002
2014-06-11 10:38:48 -07:00
egdaniel
d58a0ba9cf
Push dash checks into GrContext.
...
Add class to hold stroke and dash info.
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/311183002
2014-06-11 10:30:05 -07:00
reed
4585144956
remove SK_SUPPORT_LEGACY_DEVICE_CONFIG code
...
BUG=skia:
R=djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/327263002
2014-06-11 07:17:11 -07:00
reed
e4538f5b46
switch to colortype for deepcopy
...
BUG=skia:
R=robertphillips@google.com , bsalomon@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/323283002
2014-06-11 06:09:50 -07:00
dandov
9de5b514d3
SkShader::asNewEffect Refactoring
...
The new signature is:
bool asNewEffect(GrContext* context, const SkPaint& paint, GrColor* grColor, GrEffectRef** grEffect, const SkMatrix* localMatrixOrNull) const;
It will fix the hack for skcolorshader by modifying the GrColor parameter in SkGr::SkPaint2GrPaintShader.
BUG=skia:2646
R=jvanverth@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/318923005
2014-06-10 14:38:28 -07:00
reed
6c22573edb
hide SkBitmap::setConfig
...
patch from issue 325733002
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/322963002
2014-06-09 19:52:07 -07:00
krajcevski
748e9d37dc
Add LATC to alpha only pixel config
...
R=robertphillips@google.com , bsalomon@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/323853003
2014-06-09 08:32:34 -07:00
tfarina
f9dae780c2
Remove GrIsPow2 in favor of SkIsPow2.
...
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.
BUG=None
TEST=make tests
R=bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/318873002
2014-06-06 06:35:28 -07:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
robertphillips
d537341e16
Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h)
...
R=bsalomon@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/309683002
2014-06-02 10:20:15 -07:00
krajcevski
9c0e629c64
Initial work to get ETC1 data up to the GPU
...
Committed: http://code.google.com/p/skia/source/detail?r=15001
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302783002
2014-06-02 07:38:15 -07:00
robertphillips
901e96df69
Add Sample slide for Rectanizers
...
R=jvanverth@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/303263005
2014-06-02 07:15:18 -07:00
reed
a6a8f00a39
hide SkDevice::config()
...
TBR=robertphilips
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/302253002
2014-06-02 05:45:32 -07:00
commit-bot@chromium.org
999cfd1076
Revert of Initial work to get ETC1 data up to the GPU ( https://codereview.chromium.org/302783002/ )
...
Reason for revert:
ETC1 linking problems with chrome.
Original issue's description:
> Initial work to get ETC1 data up to the GPU
>
> Committed: http://code.google.com/p/skia/source/detail?r=15001
R=bsalomon@google.com , robertphillips@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/303273008
git-svn-id: http://skia.googlecode.com/svn/trunk@15004 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:36:21 +00:00
commit-bot@chromium.org
af091a176d
Initial work to get ETC1 data up to the GPU
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302783002
git-svn-id: http://skia.googlecode.com/svn/trunk@15001 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 18:41:39 +00:00
commit-bot@chromium.org
6e7ddaae0a
Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in checks in a few places to make sure that we weren't using these pixel configurations in places that we shouldn't be.
...
LATC is a DXT-esque alpha compression format that goes by a few other names (RGTC, 3DC). It might be useful to investigate using it to compress the alpha masks that we get from software rasterization. This patch set adds enums for that and recognition whether or not the device can support it.
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/304743004
git-svn-id: http://skia.googlecode.com/svn/trunk@14991 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:55:58 +00:00
commit-bot@chromium.org
f9bd04faff
Constify the arguments to createTexture
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/301993002
git-svn-id: http://skia.googlecode.com/svn/trunk@14975 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 19:26:48 +00:00
commit-bot@chromium.org
86b0de4745
Revert "Remove SkThread.h from public API."
...
Too much depends on SkThread being in include/core in Chrome build.
This reverts commit b1aec17df6
.
NOTREECHECKS=true
NOTRY=true
R=reed@google.com , mtklein@google.com
TBR=reed
BUG=skia:
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/303813003
git-svn-id: http://skia.googlecode.com/svn/trunk@14934 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 20:02:17 +00:00
commit-bot@chromium.org
b1aec17df6
Remove SkThread.h from public API.
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/303463009
git-svn-id: http://skia.googlecode.com/svn/trunk@14926 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 19:24:54 +00:00
commit-bot@chromium.org
42dc813691
Revert of Revert of Add compressed texture capabilities for GPU devices
...
(https://codereview.chromium.org/307543002/ )
Reason for revert:
Re-landing the original CL, because the revert didn't fix things. See http://skbug.com/2608 ('RunDecodingTests failing on multiple platforms')
Original issue's description:
> Revert of Add compressed texture capabilities for GPU devices (https://codereview.chromium.org/292323003/ )
>
> Reason for revert:
> RunDecodingTests failing on multiple platforms. Please use trybots to validate and re-land.
>
> Original issue's description:
> > Add compressed texture capabilities for GPU devices
> >
> > BUG=skia:
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14880
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14901
>
> TBR=bsalomon@google.com ,robertphillips@google.com,krajcevski@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14902
R=bsalomon@google.com , robertphillips@google.com , krajcevski@google.com
TBR=bsalomon@google.com , krajcevski@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/302553008
git-svn-id: http://skia.googlecode.com/svn/trunk@14903 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 19:26:59 +00:00
commit-bot@chromium.org
8bfcd72106
Revert of Add compressed texture capabilities for GPU devices ( https://codereview.chromium.org/292323003/ )
...
Reason for revert:
RunDecodingTests failing on multiple platforms. Please use trybots to validate and re-land.
Original issue's description:
> Add compressed texture capabilities for GPU devices
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14880
>
> Committed: http://code.google.com/p/skia/source/detail?r=14901
R=bsalomon@google.com , robertphillips@google.com , krajcevski@google.com
TBR=bsalomon@google.com , krajcevski@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/307543002
git-svn-id: http://skia.googlecode.com/svn/trunk@14902 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 19:07:10 +00:00
commit-bot@chromium.org
420b2ff26c
Add compressed texture capabilities for GPU devices
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=14880
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/292323003
git-svn-id: http://skia.googlecode.com/svn/trunk@14901 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 18:52:24 +00:00
commit-bot@chromium.org
5e565d1140
Revert of Add compressed texture capabilities for GPU devices ( https://codereview.chromium.org/292323003/ )
...
Reason for revert:
Signeness comparison breaks build. After working some more, I think the API design will be cleaner without the Uncompressed enum, so I'm removing it and retesting everything.
Original issue's description:
> Add compressed texture capabilities for GPU devices
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14880
R=bsalomon@google.com , robertphillips@google.com , halcanary@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/296313003
git-svn-id: http://skia.googlecode.com/svn/trunk@14883 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 20:40:26 +00:00
commit-bot@chromium.org
2dcd24375b
Add compressed texture capabilities for GPU devices
...
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/292323003
git-svn-id: http://skia.googlecode.com/svn/trunk@14880 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 20:00:54 +00:00
commit-bot@chromium.org
eeef0cc49b
Revert of Revert ""Revert of eliminate config param -- it was always self's config ( https://codereview.chromi … ( https://codereview.chromium.org/291163005/ )
...
Reason for revert:
broke 6 webgl/canvas tests in blink (don't know why yet)
https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_7/27348/layout-test-results/results.html
Original issue's description:
> Revert ""Revert of eliminate config param -- it was always self's config (https://codereview.chromium.org/246513002/ )"""
>
> This reverts commit 3dbceb4f8283b2fb1728d0daf010d036099a2eae.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14806
R=bsalomon@google.com , robertphillips@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/295093003
git-svn-id: http://skia.googlecode.com/svn/trunk@14826 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 15:58:00 +00:00
commit-bot@chromium.org
731b28daaa
Revert ""Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )"""
...
This reverts commit 3dbceb4f8283b2fb1728d0daf010d036099a2eae.
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/291163005
git-svn-id: http://skia.googlecode.com/svn/trunk@14806 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:08:12 +00:00
reed@google.com
555e74f6fb
"Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )""
...
This reverts commit 65b9f33cab9f53821720f982667412e56a340093.
git-svn-id: http://skia.googlecode.com/svn/trunk@14795 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 12:39:37 +00:00
commit-bot@chromium.org
3595f88aff
Pass in GrContext instead of SkGpuDevice for dashing and Sk2GrPaint conversion
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/292773002
git-svn-id: http://skia.googlecode.com/svn/trunk@14790 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 19:35:57 +00:00
commit-bot@chromium.org
a369e36e9d
Revert "Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )"
...
TBR=bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/290883005
git-svn-id: http://skia.googlecode.com/svn/trunk@14785 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 17:29:16 +00:00
commit-bot@chromium.org
628ed0b220
Add Dashing gpu effect for simple dashed lines
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/274673004
git-svn-id: http://skia.googlecode.com/svn/trunk@14775 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 14:32:49 +00:00
commit-bot@chromium.org
8dcff64169
Move skPaint2GrPaint to SkGr.h/cpp
...
BUG=skia:
R=bsalomon@google.com , brian@thesalomons.net , robertphillips@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/283803003
git-svn-id: http://skia.googlecode.com/svn/trunk@14753 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 20:32:48 +00:00
commit-bot@chromium.org
e49157f083
Factor GrTexture into public GrTexture and private GrTextureImpl.
...
Committed: http://code.google.com/p/skia/source/detail?r=14680
R=jvanverth@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14687 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:46:48 +00:00
commit-bot@chromium.org
59e7d23852
Revert of Factor GrTexture into public GrTexture and private GrTextureImpl. ( https://codereview.chromium.org/275903002/ )
...
Reason for revert:
Breaks chrome build.
Original issue's description:
> Factor GrTexture into public GrTexture and private GrTextureImpl.
>
> Committed: http://code.google.com/p/skia/source/detail?r=14680
R=jvanverth@google.com , robertphillips@google.com
TBR=jvanverth@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/278073002
git-svn-id: http://skia.googlecode.com/svn/trunk@14681 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 18:02:51 +00:00
commit-bot@chromium.org
bd465d141b
Factor GrTexture into public GrTexture and private GrTextureImpl.
...
R=jvanverth@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275903002
git-svn-id: http://skia.googlecode.com/svn/trunk@14680 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 17:37:55 +00:00
commit-bot@chromium.org
95c2003740
cleanup GrContext resource cache api
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275563005
git-svn-id: http://skia.googlecode.com/svn/trunk@14669 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:29:32 +00:00
commit-bot@chromium.org
a17773f0b0
Disable filtering in draw Bitmap operation when pixels are aligned
...
The check is now performed in the callers of internalDrawBitmap() to
avoid retrieve the texture with wrong filter mode when the pixels were
aligned.
This bug was spotted in Chrome for Android: Chrome for Androids's
Canvas drawImage loses fidelity in canvases larger than 64k pixels.
BUG=chromium:231916
R=bsalomon@google.com , robertphillips@google.com
Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Author: siglesias@igalia.com
Review URL: https://codereview.chromium.org/264303008
git-svn-id: http://skia.googlecode.com/svn/trunk@14665 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 13:53:38 +00:00
commit-bot@chromium.org
8341eb76fb
Rename from "(un)lock" to "(un)map" for geometry buffers.
...
This better reflects OpenGL terminology and is less overloaded ("lock" is used w.r.t. the resource cache).
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275493004
git-svn-id: http://skia.googlecode.com/svn/trunk@14628 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:51:05 +00:00
commit-bot@chromium.org
95a2b0e86d
Allow custom resources in the GrContext's cache
...
Adds methods to GrContext for client code to store custom resources in
the cache.
BUG=skia:
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/261593009
git-svn-id: http://skia.googlecode.com/svn/trunk@14577 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 19:21:16 +00:00
commit-bot@chromium.org
11c6b39cfa
Adds a mechanism for GrCacheable objects to notify the resource cache
...
when their size has changed. GrResourceCacheEntry now holds a
reference to the cache, and a cached value of the resource's most
recent size.
Also utilizes this new functionality for mipmaps, and adds a test for
changing resource sizes.
R=bsalomon@google.com , robertphillips@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/257093002
git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 19:09:13 +00:00
commit-bot@chromium.org
160b478eed
Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.
...
BUG=skia:2402
Committed: http://code.google.com/p/skia/source/detail?r=14533
R=robertphillips@google.com , djsollen@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/243413002
git-svn-id: http://skia.googlecode.com/svn/trunk@14564 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 12:32:37 +00:00
commit-bot@chromium.org
089a780c33
Split GrResource into GrCacheable/GrGpuObject
...
Before this change, an object needed to inherit from GrResource (and
thus be a GPU object) in order to live in the GrResourceCache. That
was a problem for caching items that weren't GPU objects themselves,
but owned GPU objects.
This change splits GrResource into two classes:
1. GrCacheable: The base class for objects that can live in the
GrResourceCache.
2. GrGpuObject, which inherits from GrCacheable: The base class for
objects that get tracked by GrGpu.
This change is purely a refactor; there is no change in functionality.
Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e
BUG=skia:
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/251013002
git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:38:22 +00:00
djsollen@google.com
53b614b567
Revert of Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData. ( https://codereview.chromium.org/243413002/ )
...
Reason for revert:
This is firing an assert on many of the Android debug bots
Original issue's description:
> Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.
>
> BUG=skia:2402
>
> Committed: http://code.google.com/p/skia/source/detail?r=14533
git-svn-id: http://skia.googlecode.com/svn/trunk@14541 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 17:44:34 +00:00
commit-bot@chromium.org
f9deb8a15d
Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.
...
BUG=skia:2402
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/243413002
git-svn-id: http://skia.googlecode.com/svn/trunk@14533 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 15:08:18 +00:00
commit-bot@chromium.org
6fcd1ef244
Add flag for SkGpuSurface creation to enable distance fields.
...
BUG=skia:2173
R=bsalomon@google.com , reed@google.com , bungeman@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/261783004
git-svn-id: http://skia.googlecode.com/svn/trunk@14525 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 12:39:41 +00:00
commit-bot@chromium.org
88cb22b6b4
Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL
...
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/257393004
git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 14:17:00 +00:00
commit-bot@chromium.org
f66967243c
Use EXT_direct_state_access for path matrix manipulation
...
Use EXT_direct_state_access for path matrix manipulation when using
NV_path_rendering extension. This makes Chromium command buffer
integration easier, since the current matrix mode does not need to be
exposed as state and fewer function calls and enums are needed.
BUG=chromium:344330
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/245963009
git-svn-id: http://skia.googlecode.com/svn/trunk@14374 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 06:21:30 +00:00
commit-bot@chromium.org
0a6fe71f1b
Use fixed function pipeline only when drawing paths
...
Use fixed function pipeline only when drawing paths. Previously FF
vertex shader was used when drawing normal geometry if path rendering
was enabled.
This is required to make Chromium integration easier. This way
fixed function vertex shading, including vertexshader-less programs,
need not be implemented in the Chromium command buffer.
Removes FF TexGen functionality, as it is not used anymore. Likewise
removes the fixedFunctionSupport GL capability flag.
BUG=chromium:344330
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/212753002
git-svn-id: http://skia.googlecode.com/svn/trunk@14334 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:26:26 +00:00
commit-bot@chromium.org
3adcc34033
stop using deprecated bitmap::config for gpu
...
BUG=skia:
R=bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/248473006
git-svn-id: http://skia.googlecode.com/svn/trunk@14330 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:18:09 +00:00
commit-bot@chromium.org
6e332f768f
Revert of eliminate config param -- it was always self's config ( https://codereview.chromium.org/246513002/ )
...
Reason for revert:
Causes some layout_test failures around texture backed bitmaps. Test names and crash logs accessible via: https://storage.googleapis.com/chromium-layout-test-archives/linux_layout/13845/layout-test-results/results.html
Original issue's description:
> eliminate config param -- it was always self's config
>
> BUG=skia:
> R=bsalomon@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=14303
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/249373003
git-svn-id: http://skia.googlecode.com/svn/trunk@14324 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 14:52:14 +00:00
reed@google.com
dcacd5fd5a
eliminate config param -- it was always self's config
...
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/246513002
git-svn-id: http://skia.googlecode.com/svn/trunk@14303 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 18:22:30 +00:00
commit-bot@chromium.org
beb8b3a4da
Add GL_CHROMIUM_map_sub functions to GrGLInterface and bit to GrGLCaps.
...
BUG=skia:2402
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/231773003
git-svn-id: http://skia.googlecode.com/svn/trunk@14199 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 15:37:51 +00:00
commit-bot@chromium.org
762cd80437
Move distance field generation to the glyph cache.
...
Distance fields are currently created in GrTextStrike, which is the wrong place. This moves that to the glyph cache where it belongs.
As part of my testing, I found that when we fall back to paths in the GrDistanceFieldTextContext it was not scaling them properly, so that's fixed in here too.
R=robertphillips@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/227593010
git-svn-id: http://skia.googlecode.com/svn/trunk@14193 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 22:05:07 +00:00
commit-bot@chromium.org
c873329ae9
Update bench to be able to preprocess skps
...
This allows benchmarking of optimization improvements and plumbs in the purging API. The purging is necessary so we don't magically get faster because the saveLayers are always pre-generated.
R=jvanverth@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/233663002
git-svn-id: http://skia.googlecode.com/svn/trunk@14154 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 15:54:14 +00:00
commit-bot@chromium.org
2f569980c9
Add MakeEmpty to GrIRect16
...
The GrLayerCache will use this capability.
R=jvanverth@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/232563007
git-svn-id: http://skia.googlecode.com/svn/trunk@14136 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 18:36:19 +00:00
commit-bot@chromium.org
0a09d7195b
Implement drawDRRect for GPU
...
BUG=skia:2259
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/220233011
git-svn-id: http://skia.googlecode.com/svn/trunk@14118 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 21:26:11 +00:00
commit-bot@chromium.org
fc94829337
remove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG
...
remove SK_SUPPORT_LEGACY_GETDEVICECAPABILITIES
BUG=skia:
R=robertphillips@google.com , bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/227643005
git-svn-id: http://skia.googlecode.com/svn/trunk@14083 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-07 21:33:06 +00:00
commit-bot@chromium.org
e3beb6bd7d
SkNonCopyable should be used with private inheritance.
...
This is mostly s/public SkNoncopyable/SkNoncopyable/g.
Two classes (SkDrawLooper::Context and SkPicture::OperationList) don't actually work with SkNoncopyable because they introduce a virtual destructor. I added SkNoncopyableVirtual to make them work as intended. Sort of questionable whether they really need to be noncopyable in the first place, but I guess it doesn't hurt to keep the behavior the same.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/226183018
git-svn-id: http://skia.googlecode.com/svn/trunk@14081 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-07 19:34:38 +00:00
robertphillips@google.com
e930a07562
Add a GrLayerCache to GrContext
...
https://codereview.chromium.org/217343006/
git-svn-id: http://skia.googlecode.com/svn/trunk@14038 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 00:34:27 +00:00
commit-bot@chromium.org
53e1e4d88a
Minor changes to GrFontCache system.
...
The main change is parameterizing the GrAtlasMgr so it can have a different sized backing texture and a different number of plots. This is in support of the saveLayer cache which has a smaller backing texture and only one plot.
R=jvanverth@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/217423014
git-svn-id: http://skia.googlecode.com/svn/trunk@14011 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 16:25:11 +00:00
bsalomon@google.com
a34bb60c4e
Add GL_ARB_invalidate_subdata functions to GrGLInterface.
...
BUG=skia:1541
R=egdaniel@google.com
Review URL: https://codereview.chromium.org/217503003
git-svn-id: http://skia.googlecode.com/svn/trunk@14004 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 13:07:29 +00:00
commit-bot@chromium.org
8ddc26b68c
Actually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPicture
...
NOTRY=true
R=bsalomon@google.com , rmistry@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/212933002
git-svn-id: http://skia.googlecode.com/svn/trunk@13993 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-31 17:55:12 +00:00
commit-bot@chromium.org
972f9cd7a0
SK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.h
...
BUG=skia:
R=bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/216503004
git-svn-id: http://skia.googlecode.com/svn/trunk@13982 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 17:58:28 +00:00
commit-bot@chromium.org
28361fad10
Add discard API to SkCanvas, plumb it to glDiscardFramebuffer()
...
BUG=skia:2349
R=robertphillips@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/211683002
git-svn-id: http://skia.googlecode.com/svn/trunk@13976 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 16:08:05 +00:00
commit-bot@chromium.org
4784182993
Revert of Implement text rendering with NVPR ( https://codereview.chromium.org/196133014/ )
...
Reason for revert:
This probably caused Win8 test bot fail during gm run:
http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/574
I can not identify any errors from the logs, so maybe it hung or something?
Original issue's description:
> 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 large
> chunks of code from GrBitmapTextContext (drawText) and
> GrDistanceFieldTextContext (drawPosText).
>
> 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.
>
> Committed: http://code.google.com/p/skia/source/detail?r=13962
R=jvanverth@google.com , bsalomon@google.com , mtklein@google.com
TBR=bsalomon@google.com , jvanverth@google.com , mtklein@google.com
NOTREECHECKS=true
NOTRY=true
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/213123014
git-svn-id: http://skia.googlecode.com/svn/trunk@13963 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-27 14:19:17 +00:00
commit-bot@chromium.org
dcb8ef9e86
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 large
chunks of code from GrBitmapTextContext (drawText) and
GrDistanceFieldTextContext (drawPosText).
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.
R=jvanverth@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/196133014
git-svn-id: http://skia.googlecode.com/svn/trunk@13962 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-27 11:26:10 +00:00
reed@google.com
f20fc24a7d
remove all references to legacy Config8888
...
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/211043002
git-svn-id: http://skia.googlecode.com/svn/trunk@13952 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-26 13:44:58 +00:00
commit-bot@chromium.org
2a05de0c04
Add Gpu Tracing to Ganesh
...
BUG=skia:2316
R=bsalomon@google.com , tomhudson@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/184443003
git-svn-id: http://skia.googlecode.com/svn/trunk@13936 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 15:17:32 +00:00
skia.committer@gmail.com
99e5b524ce
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13889 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-21 03:02:42 +00:00
bsalomon@google.com
180e36abf6
Revert "hide Config8888 entirely". Broke a bunch of builds.
...
This reverts commit fa11c49cc11a6c9ebafbf9c59e118917f9b3cc56.
Revert "Sanitizing source files in Housekeeper-Nightly" to make the above revert clean.
This reverts commit b5787422c8eb2a27a9576777597fd9e06784acdb.
TBR=reed@google.com
TBR=jcgregorio@google.com
Review URL: https://codereview.chromium.org/205963003
git-svn-id: http://skia.googlecode.com/svn/trunk@13872 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-20 13:26:45 +00:00
skia.committer@gmail.com
be41d38f1c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13871 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-20 03:02:31 +00:00
commit-bot@chromium.org
d8a57af725
Adding a new SkSurface factory for generating surfaces from the scratch texture pool.
...
TEST=Surface unit test
BUG=crbug.com/351798
R=bsalomon@google.com , robertphillips@google.com , reed@google.com
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/201153023
git-svn-id: http://skia.googlecode.com/svn/trunk@13864 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 21:19:16 +00:00
senorblanco@chromium.org
b7b7eb32f4
Fix accessBitmap() with deferred clear, GPU path.
...
When accessBitmap() is called on a GPU device which has deferred clear,
and no drawing has been done, force the clear before returning the
bitmap.
This is covered by the top right test case in the imagefilterscropexpand
GM, where an offset image filter is drawn but the resulting bitmap is
cropped out, resulting in no drawing to the offscreen. It should be
empty, but without this fix it results in garbage (previous scratch
texture contents).
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/204903002
git-svn-id: http://skia.googlecode.com/svn/trunk@13860 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 18:24:04 +00:00
commit-bot@chromium.org
a713f9c6f6
add new readPixels with direct memory parameters
...
BUG=skia:
R=scroggo@google.com , bsalomon@google.com , robertphillips@google.com , fmalita@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/199413013
git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 21:31:26 +00:00
commit-bot@chromium.org
4ef54f8d72
remove SK_SUPPORT_LEGACY_WRITEPIXELSCONFIG -- dead code
...
BUG=skia:
R=halcanary@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/201973003
git-svn-id: http://skia.googlecode.com/svn/trunk@13834 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 17:03:18 +00:00
commit-bot@chromium.org
145d1c0fdc
Proposed SkCanvas API for preLoading textures to VRAM v2.0
...
This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/ ). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)).
Committed: http://code.google.com/p/skia/source/detail?r=13810
R=reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/197123003
git-svn-id: http://skia.googlecode.com/svn/trunk@13822 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-16 19:46:36 +00:00
robertphillips@google.com
5ed01d1f8f
Revert r13810 (Proposed SkCanvas API for preLoading textures to VRAM v2.0)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13811 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 18:50:07 +00:00
commit-bot@chromium.org
1ab85c8719
Proposed SkCanvas API for preLoading textures to VRAM v2.0
...
This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/ ). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)).
R=reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/197123003
git-svn-id: http://skia.googlecode.com/svn/trunk@13810 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 18:23:12 +00:00
senorblanco@chromium.org
4cb543d605
Implement support for a Context parameter in image filters
...
Some upcoming work (support for expanding crop rects) requires
the clip bounds to be available during filter traversal. This change
replaces the SkMatrix parameter in the onFilterImage() traversals
with a Context parameter. It contains the CTM, as well as the clip
bounds.
BUG=skia:
R=reed@google.com
Review URL: https://codereview.chromium.org/189913021
git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 15:44:01 +00:00
commit-bot@chromium.org
3da3b621c3
getDeviceCapabilities is no longer need, so remove it
...
BUG=skia:
R=bungeman@google.com , vandebo@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/198943003
git-svn-id: http://skia.googlecode.com/svn/trunk@13797 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 19:38:10 +00:00
commit-bot@chromium.org
b471a32460
Add API for GrContext to recommend rendertarget sample count
...
Add GrContext::getRecommendedSampleCount method that can be
used to determine which GPU backend and what exact sample count
is recommendeded for a particular render target at particular
dpi.
Make this initially recommend 4xMSAA for contexts which have
NVPR enabled if dpi is 250 or more, 16 if dpi is less than 250
and no MSAA for others.
BUG=chromium:347962
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/188403003
git-svn-id: http://skia.googlecode.com/svn/trunk@13717 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 07:40:03 +00:00
commit-bot@chromium.org
4cd9e2169e
Add SkCanvas::writePixels that takes info+pixels directly
...
add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com , junov@google.com , junov@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/180113010
git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:25:16 +00:00
skia.committer@gmail.com
06acb58074
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13679 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 03:02:32 +00:00
commit-bot@chromium.org
cabf4b2f36
Unify edge type enums across GrEffect subclasses that clip rendering to a geometry.
...
BUG=skia:
R=egdaniel@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/183893023
git-svn-id: http://skia.googlecode.com/svn/trunk@13674 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 18:27:43 +00:00
commit-bot@chromium.org
f535561b3b
Cleanup GrGLInterface after Chromium changes
...
Depends on landing https://codereview.chromium.org/143263014
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/149533002
git-svn-id: http://skia.googlecode.com/svn/trunk@13630 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 20:28:50 +00:00
commit-bot@chromium.org
0714360591
Add SK_API to GrGLExtensions
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/177653007
git-svn-id: http://skia.googlecode.com/svn/trunk@13574 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 02:14:57 +00:00
commit-bot@chromium.org
6ebfbf9968
Use vertex buffer objects instead of client side arrays in fixed-function codepaths
...
Pass vertices to the fixed-function shaders in vertex buffer object
stored at attribute 0. This is specified in OpenGL Compatibility
Profile Section 10.8.2 (Transferring Vertices With Vertex Attribute
Zero).
This makes future integration to Chromium command buffer better, since
the command buffer already has code for vertex buffer objects but not
vertex arrays.
Delete unused function pointers related to fixed-function codepaths.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/130423013
git-svn-id: http://skia.googlecode.com/svn/trunk@13557 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 12:05:02 +00:00
commit-bot@chromium.org
a3baf3be0e
Add hooks for GL_EXT_debug_marker in gpu
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/174123003
git-svn-id: http://skia.googlecode.com/svn/trunk@13538 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:45:30 +00:00
commit-bot@chromium.org
c2f7824436
Analytic rrect clip for cicular corners, radius >= 0.5
...
BUG=skia:2181
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/171413004
git-svn-id: http://skia.googlecode.com/svn/trunk@13498 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 15:18:05 +00:00
commit-bot@chromium.org
15a1405999
Change device factories to take SkImageInfo instead of SkBitmap::Config
...
patch from issue 167033002
BUG=skia:
R=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/168653002
git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 00:59:25 +00:00
robertphillips@google.com
e79f320ed6
Revert of r13384 (Stateful PathRenderer implementation)
...
https://codereview.chromium.org/142543007/
git-svn-id: http://skia.googlecode.com/svn/trunk@13409 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 16:30:21 +00:00
robertphillips@google.com
3e0c64ad1e
Stateful PathRenderer implementation
...
https://codereview.chromium.org/23926019/
git-svn-id: http://skia.googlecode.com/svn/trunk@13384 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 16:46:23 +00:00
commit-bot@chromium.org
f053980016
Specialize GrConvexPolyEffect for AA rects, use for AA clip rects.
...
BUG=skia:2051
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/140093004
git-svn-id: http://skia.googlecode.com/svn/trunk@13375 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-08 19:31:05 +00:00
commit-bot@chromium.org
ae761f7545
Make SkImageFilter methods const.
...
SkImageFilter had some non-const methods that could all be made const.
This is a first step towards making SkImageFilter immutable.
BUG=skia:2097
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/148883011
git-svn-id: http://skia.googlecode.com/svn/trunk@13330 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 22:32:02 +00:00
reed@google.com
76f10a3bd9
remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurface
...
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/154163002
git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 15:32:21 +00:00
commit-bot@chromium.org
cbbc481e91
Replace factory generation of TextContexts with persistent objects.
...
BUG=skia:2018
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/150743002
git-svn-id: http://skia.googlecode.com/svn/trunk@13249 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 22:05:47 +00:00
commit-bot@chromium.org
ddf2bfb190
Move GrTextContext to private interface
...
NOTRY=true
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/145073005
git-svn-id: http://skia.googlecode.com/svn/trunk@13239 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 16:41:23 +00:00
commit-bot@chromium.org
9f94b9104a
Add fallback code for TextContexts that don't support all features
...
BUG=skia:2018
NOTRY=true
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/135683006
git-svn-id: http://skia.googlecode.com/svn/trunk@13236 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 15:22:54 +00:00
skia.committer@gmail.com
e5d7015cde
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13228 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-29 07:01:48 +00:00
commit-bot@chromium.org
e8612d9a8d
Add standalone drawText for GrTextContext.
...
This unifies the interface between GrBitmapTextContext and
GrDistanceFieldTextContext so that they don't need special case code.
The future GrNVPRTextContext will also use this interface.
BUG=skia:2018
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/141863005
git-svn-id: http://skia.googlecode.com/svn/trunk@13227 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 22:02:07 +00:00
skia.committer@gmail.com
d2ac07b64b
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13181 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-25 07:01:49 +00:00
commit-bot@chromium.org
d8ed85101e
Turn NVPR on by default (but off in tools).
...
BUG=skia:2042
Committed: http://code.google.com/p/skia/source/detail?r=13164
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/144003006
git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 20:49:44 +00:00
commit-bot@chromium.org
227c246731
Resolve a few memory leaks in tests.
...
Purge the global scaled image cache after use in tests. The cache was
right to hold on to the pixels indefinitely, but this change makes it
easier to run down actual memory leaks.
Add SK_DECLARE_INST_COUNT to several classes.
BUG=skia:
R=reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/145443004
git-svn-id: http://skia.googlecode.com/svn/trunk@13171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:33:07 +00:00
halcanary@google.com
68c74884d0
Revert "Turn NVPR on by default (but off in tools)."
...
This reverts commit 83d81c96de
.
Broke Windows build. Autorevert didn't work.
TBR=bsalomon@google.com ,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
BUG=skia:2042
Review URL: https://codereview.chromium.org/146863003
git-svn-id: http://skia.googlecode.com/svn/trunk@13169 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 16:04:09 +00:00
commit-bot@chromium.org
cc40f06db7
Add factory class for generating various flavors of GrTextContext.
...
This is the first pass of making Gr*TextContext more generic and easily
subclassed. The next stage will be making GrBitmapTextContext and
GrDistanceFieldTextContext more similar by moving the SkDraw loop into
each subclass.
BUG=skia:2018
Committed: http://code.google.com/p/skia/source/detail?r=13142
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/144283002
git-svn-id: http://skia.googlecode.com/svn/trunk@13165 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:27 +00:00
commit-bot@chromium.org
83d81c96de
Turn NVPR on by default (but off in tools).
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/144003006
git-svn-id: http://skia.googlecode.com/svn/trunk@13164 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:13 +00:00
commit-bot@chromium.org
f1d63aa80d
Revert of Add factory class for generating various flavors of GrTextContext. ( https://codereview.chromium.org/144283002/ )
...
Reason for revert:
Breaks Chrome. Need to fix template issue.
Original issue's description:
> Add factory class for generating various flavors of GrTextContext.
>
> This is the first pass of making Gr*TextContext more generic and easily
> subclassed. The next stage will be making GrBitmapTextContext and
> GrDistanceFieldTextContext more similar by moving the SkDraw loop into
> each subclass.
>
> BUG=skia:2018
>
> Committed: http://code.google.com/p/skia/source/detail?r=13142
R=bsalomon@google.com , reed@google.com
TBR=bsalomon@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2018
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/145023006
git-svn-id: http://skia.googlecode.com/svn/trunk@13143 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-22 22:01:41 +00:00
commit-bot@chromium.org
ce96b651d3
Add factory class for generating various flavors of GrTextContext.
...
This is the first pass of making Gr*TextContext more generic and easily
subclassed. The next stage will be making GrBitmapTextContext and
GrDistanceFieldTextContext more similar by moving the SkDraw loop into
each subclass.
BUG=skia:2018
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/144283002
git-svn-id: http://skia.googlecode.com/svn/trunk@13142 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-22 21:37:03 +00:00
commit-bot@chromium.org
c72425ae36
Move GrGLInterface function pointers into a nested struct
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/133073009
git-svn-id: http://skia.googlecode.com/svn/trunk@13130 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-21 16:09:18 +00:00
commit-bot@chromium.org
7322893af0
Adding SK_API to SkGLContextHelper and SkNullGLContext for use in blink unit test component build
...
BUG=skia:
R=bsalomon@chromium.org
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/141813002
git-svn-id: http://skia.googlecode.com/svn/trunk@13119 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 16:59:03 +00:00
commit-bot@chromium.org
90313cc36a
Move GrGLExtensions from GrGLContextInfo to GrGLInterface
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/140823003
git-svn-id: http://skia.googlecode.com/svn/trunk@13118 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 15:05:38 +00:00
commit-bot@chromium.org
92b7884e88
Remove GR_GL_IGNORE_ES3_MSAA.s
...
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/140933005
git-svn-id: http://skia.googlecode.com/svn/trunk@13115 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 20:49:46 +00:00
commit-bot@chromium.org
cc190eb6f3
Allow GrGLInterface factories in Chromium to continue to compile.
...
BUG=skia:2042
TBR=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/136573003
git-svn-id: http://skia.googlecode.com/svn/trunk@13112 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 18:49:01 +00:00
commit-bot@chromium.org
9e90aed5de
Rename GrGLBinding->GrGLStandard, no longer a bitfield
...
BUG=skia:2042
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/133413003
git-svn-id: http://skia.googlecode.com/svn/trunk@13108 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 16:35:09 +00:00
commit-bot@chromium.org
a3b15ed037
Make GrGLInterface be context-specific on all platforms
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/137753005
git-svn-id: http://skia.googlecode.com/svn/trunk@13097 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:32:03 +00:00
commit-bot@chromium.org
a7d89c83a4
Handle drawBitmapRect src_rect->dst_rect mapping as a local matrix rather than view matrix when there is a mask filter.
...
BUG=skia:1998
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/131323004
git-svn-id: http://skia.googlecode.com/svn/trunk@13041 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 14:47:00 +00:00
reed@google.com
d0419b1fe7
Revert "Revert "Revert "Revert of https://codereview.chromium.org/110593003/ """
...
This reverts commit aaa89649590323fe40f52439d9a9a3376bb3b8ae.
BUG=
Review URL: https://codereview.chromium.org/123223007
git-svn-id: http://skia.googlecode.com/svn/trunk@12910 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 17:08:27 +00:00
reed@google.com
ba82bd11e2
Revert "Revert "Revert of https://codereview.chromium.org/110593003/ ""
...
This reverts commit 0fef787f33aa38109a0c8427e0098d997efdd5ff.
failed in chrome: https://codereview.chromium.org/124503002/
Review URL: https://codereview.chromium.org/105523008
git-svn-id: http://skia.googlecode.com/svn/trunk@12906 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 13:34:39 +00:00
reed@google.com
927138977f
Revert "Revert of https://codereview.chromium.org/110593003/ "
...
This reverts commit c7abb25b25ba8b97948371d2bf0a2e3e78468f73.
and fixes the ashmem break
BUG=
Review URL: https://codereview.chromium.org/119753010
git-svn-id: http://skia.googlecode.com/svn/trunk@12887 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 17:58:57 +00:00
commit-bot@chromium.org
27f890219b
Revert of https://codereview.chromium.org/110593003/
...
Reason for revert: SkImageRef_ashmem doesn't compile
R=halcanary@google.com , scroggo@google.com
TBR=halcanary@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=
Author: reed@google.com
Review URL: https://codereview.chromium.org/119753009
git-svn-id: http://skia.googlecode.com/svn/trunk@12884 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:32:45 +00:00
reed@google.com
f1ce05288a
Add onNewLockPixels, that returns rowbytes and relies on info in pixelref
...
This reverts commit 890a6ec633c1f54891104a072a8964b4c2c81af9.
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/110593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12883 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:22:48 +00:00
robertphillips@google.com
f5a76839b9
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
...
https://codereview.chromium.org/118533003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:37:10 +00:00
commit-bot@chromium.org
8128d8c119
Move distance field font code into GrDistanceFieldTextContext.
...
This avoids the SkDraw path and renders the distance field glyphs directly from
GrDistanceFieldTextContext. It also disables LCD, subpixel and autohinting, and
removes the supporting code when rendering DF fonts.
R=reed@google.com , bsalomon@google.com , robertphillips@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/85653004
git-svn-id: http://skia.googlecode.com/svn/trunk@12770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 16:12:25 +00:00
robertphillips@google.com
01a2f1cbad
Revert r12758 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2) - https://codereview.chromium.org/118533003 ) due to Chromium-side compilation issues
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 23:56:59 +00:00
commit-bot@chromium.org
0ef335ac81
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
...
Requires changes from https://codereview.chromium.org/99053007/ before this can be rolled in Chromium DEPS. If this begins breaking the build due to an early roll, please contact bajones@chromium.org before reverting.
BUG=326382
R=bsalomon@chromium.org
TBR=bsalomon@chromium.org
Author: bajones@chromium.org
Review URL: https://codereview.chromium.org/118533003
git-svn-id: http://skia.googlecode.com/svn/trunk@12758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:09:21 +00:00
robertphillips@google.com
94d8f1ed61
Update bench pictures to time image decode & upload costs
...
https://codereview.chromium.org/117583002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:25:33 +00:00
bungeman@google.com
d9947f605a
Split atomic and mutex implementations and make inlinable.
...
Skia cannot use Chromium's implementation of mutex (Lock) due to static
initializers. However, we would like to be able to use Chromium's
implementation of atomics. This motivates the split of implementation.
Skia's atomic and mutex calls should be inlinable, especially the atomics.
These calls often compile down to very few instructions, and we currently have
the overhead of a function call. This motivates the header implementation.
There is still a desire for the build system to select the implementation, so
the SK_XXX_PLATFORM_H pattern for header files is introduced. This allows the
build system to control which platform specific header files are chosen.
The Chromium side changes (most of which will need to go in before this change
can be found at https://codereview.chromium.org/19477005/ .
The Chromium side changes after this lands can be seen at
https://codereview.chromium.org/98073013 .
Review URL: https://codereview.chromium.org/19808007
git-svn-id: http://skia.googlecode.com/svn/trunk@12738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 15:27:39 +00:00
robertphillips@google.com
3cf7e93b67
Revert r12694 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows - https://codereview.chromium.org/111403003 ) due to Chromium-side compilation errors
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12707 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 15:13:55 +00:00
commit-bot@chromium.org
6ed67789c5
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows
...
BUG=326382
R=reed@google.com , bsalomon@google.com
Author: bajones@chromium.org
Review URL: https://codereview.chromium.org/111403003
git-svn-id: http://skia.googlecode.com/svn/trunk@12694 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 19:47:16 +00:00
reed@google.com
bf790232f6
Update all callsites to use info for pixelrefs
...
#define SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR in chrome to keep old API signature (for now)
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/100723005
git-svn-id: http://skia.googlecode.com/svn/trunk@12677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 19:45:58 +00:00
robertphillips@google.com
0daa1adb03
Reverting r12665 & r12666 (Remove duplicate impl for SkImageInfo flattening) due to Chromium/Blink compilation errors
...
https://codereview.chromium.org/112603003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 15:24:37 +00:00
reed@google.com
93b40594b7
Remvoe duplicate impl for SkImageInfo flattening
...
Add onNewLockPixels
This reverts commit bb8eff6a70c52b7644391cfd4f4d21bf7294a6bf.
BUG=
Review URL: https://codereview.chromium.org/111323005
git-svn-id: http://skia.googlecode.com/svn/trunk@12665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 14:18:14 +00:00
reed@google.com
398337b3a5
Revert "remvoe duplicate impl for SkImageInfo flattening"
...
Reason: breaks chrome_mac_tests which still have non-imageinfo constructors
This reverts commit a06b8cf60b39bda93e9ef1a73579007b2b930d29.
BUG=
Review URL: https://codereview.chromium.org/103033005
git-svn-id: http://skia.googlecode.com/svn/trunk@12631 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:22:39 +00:00
reed@google.com
a0d183d891
Revert "Revert of https://codereview.chromium.org/108773003/ "
...
This reverts commit 947e6a3142af66b750f1247ef933b11ed8455dd4.
BUG=
Review URL: https://codereview.chromium.org/112963003
git-svn-id: http://skia.googlecode.com/svn/trunk@12630 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:15:58 +00:00
commit-bot@chromium.org
ff9c6c92e5
Revert of https://codereview.chromium.org/108773003/
...
Reason for revert: breaks chrome-mac-tests
TBR=
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/113193003
git-svn-id: http://skia.googlecode.com/svn/trunk@12629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 20:55:41 +00:00
reed@google.com
f3aead2829
remvoe duplicate impl for SkImageInfo flattening
...
Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""""
This reverts commit eabd6b2ed4e494b323c08f32358f45950a0368c3.
BUG=
Review URL: https://codereview.chromium.org/108773003
git-svn-id: http://skia.googlecode.com/svn/trunk@12624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:38:46 +00:00
reed@google.com
6a32add491
Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."""""
...
This reverts commit d08eca87a0bef10112a211de540f89656a80b86a.
BUG=
Review URL: https://codereview.chromium.org/108303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:19:10 +00:00
reed@google.com
6965a0a2df
PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""
...
BUG=
Review URL: https://codereview.chromium.org/110503003
git-svn-id: http://skia.googlecode.com/svn/trunk@12622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:04:56 +00:00
commit-bot@chromium.org
bc91fd71fa
Make GrBicubicEffect take tile modes rather than GrTextureParams.
...
GrTextureParams allows the caller to override the filter mode. But no filtering other than nearest neighbor makes sense.
Also removes coord set from creation signature since it is unused.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/99523008
git-svn-id: http://skia.googlecode.com/svn/trunk@12591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 12:53:39 +00:00
reed@google.com
61867875ef
add SkImageInfo to SkGrPixelRef constructor, to prep for larger CL
...
BUG=
Review URL: https://codereview.chromium.org/104923011
git-svn-id: http://skia.googlecode.com/svn/trunk@12559 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 13:41:06 +00:00
reed@google.com
2ebc10dd12
Revert "Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."""
...
This reverts commit 5f035e90d6dea0139a4f204b634e7b7b3b4976d7.
Reverting because it breaks chrome/blink due to new SkPixelRef constructor arg.
BUG=
Review URL: https://codereview.chromium.org/108993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 21:43:05 +00:00
reed@google.com
473f0aa2bb
Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""
...
This reverts commit 4174afb18a9746bbad2a06c0ec2d4ad35f72d790.
BUG=
Review URL: https://codereview.chromium.org/108723003
git-svn-id: http://skia.googlecode.com/svn/trunk@12547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:31:45 +00:00
reed@google.com
5b132b28da
Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."
...
This reverts commit 154e08b2f5904ef533da694e3510befcb9a3f3e2.
revert due to warnings
Review URL: https://codereview.chromium.org/108513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:51:08 +00:00
reed@google.com
3e89524e74
PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.
...
R=mtklein@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68973005
git-svn-id: http://skia.googlecode.com/svn/trunk@12537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:41:33 +00:00
commit-bot@chromium.org
db6f36e784
Remove problematic GrContext thread local instance counting
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/104893002
git-svn-id: http://skia.googlecode.com/svn/trunk@12485 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:55:15 +00:00
skia.committer@gmail.com
6e515d67d2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 07:02:26 +00:00
commit-bot@chromium.org
f8cb184095
Add GPU support for color bitmap fonts
...
BUG=skia:1869
R=bungeman@google.com , robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/99993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12471 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:45:22 +00:00
bungeman@google.com
0d9e3da8bb
Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
...
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.
R=bungeman@google.com
Review URL: https://codereview.chromium.org/99173003
git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +00:00
commit-bot@chromium.org
dec61503d0
HQ filtering for tiled/bleed drawBitmap
...
sample at pix center in bicubic
R=senorblanco@chromium.org , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/83153006
git-svn-id: http://skia.googlecode.com/svn/trunk@12440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:22:35 +00:00
commit-bot@chromium.org
aae7c2a5b7
Export GrGLCreateNullInterface for use in Chromium compositor unit tests.
...
R=bsalomon@google.com
Author: mvujovic@adobe.com
Review URL: https://codereview.chromium.org/86353002
git-svn-id: http://skia.googlecode.com/svn/trunk@12386 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:39:27 +00:00
reed@google.com
ec3ca87d33
Revert "Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice""
...
This reverts commit ff0152ec5e2a0faf38ae1a317c5d77df08139104.
BUG=
Review URL: https://codereview.chromium.org/68203018
git-svn-id: http://skia.googlecode.com/svn/trunk@12271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 16:02:18 +00:00
reed@google.com
4d16470973
Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice"
...
This reverts commit 72958c374bdb9457419beeba7de1387da3293882.
BUG=
Review URL: https://codereview.chromium.org/58933007
git-svn-id: http://skia.googlecode.com/svn/trunk@12260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:27:30 +00:00
reed@google.com
3f4bf51edd
switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice
...
BUG=
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/70473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12259 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:14:08 +00:00
jvanverth@google.com
d830d13c27
Hook in rough distance field support for fonts
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/41213003
git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:54:09 +00:00
commit-bot@chromium.org
d3baf20dd1
Added support for Chrome's gpu command buffer extension BindUniformLocation.
...
R=bsalomon@google.com , bsalomon
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/62163004
git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
skia.committer@gmail.com
2614418aee
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 07:02:19 +00:00
commit-bot@chromium.org
6006d0f8c4
Add bevel-stroke support in GrAARectRenderer
...
Committed: http://code.google.com/p/skia/source/detail?r=12082
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:21 +00:00
robertphillips@google.com
32700ace30
Reverting r12082 (Add bevel-stroke support in GrAARectRenderer) due to GM failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12091 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:22:42 +00:00
commit-bot@chromium.org
5c8ee2539b
Make GrContext cache the gpu paths
...
Creating paths for nv_path_rendering is costly. Try to reduce this
cost by caching paths based on the SkPath "hash" (i.e. SkPathRef
generation id) and stroke properties.
Adds the paths to GrContext::fTextureCache instance. Later this should
be renamed and the GrContext API should reflect the nature of the cache
better.
R=bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/26557003
git-svn-id: http://skia.googlecode.com/svn/trunk@12083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:44 +00:00
commit-bot@chromium.org
e1e99ef0af
Add bevel-stroke support in GrAARectRenderer
...
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:17 +00:00
robertphillips@google.com
56ce48ade3
Add can-ignore-rect hint to clear call
...
https://codereview.chromium.org/53823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 21:44:25 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
skia.committer@gmail.com
7ed98df9ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12043 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 07:01:53 +00:00
robertphillips@google.com
4e5559af89
Allow specifying the max texture count on the bots
...
https://codereview.chromium.org/50413011/
git-svn-id: http://skia.googlecode.com/svn/trunk@12020 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:04:16 +00:00
skia.committer@gmail.com
b77f0f4ae5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 07:01:56 +00:00
robertphillips@google.com
9ef0426e7c
Don't reuse scratch textures patch
...
https://codereview.chromium.org/24222004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11997 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 14:06:15 +00:00
commit-bot@chromium.org
42a895730f
Fix for issue 1728: raster vs. gpu text draws with the wrong color
...
The blend mode for LCD text was not set up correctly when using colors with alpha. This takes the color's alpha value
into account when setting up the blending function.
BUG=Skia:1728
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/45363002
git-svn-id: http://skia.googlecode.com/svn/trunk@11980 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 15:13:50 +00:00
commit-bot@chromium.org
7edad87cdc
Compute clipped src rect once in tiled bitmap draws
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/40403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11962 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-25 14:58:12 +00:00
bsalomon@google.com
af562b437e
Tile large bitmaps that are clipped.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/31033002
git-svn-id: http://skia.googlecode.com/svn/trunk@11951 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:52:07 +00:00
commit-bot@chromium.org
50a3043194
We want to give SkPixelRef a way to signal over to GrResourceCache that it's become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures.
...
This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening.
These messages are tricky to deliver. The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other.
So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes. Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll(). The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need.
I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef.
BUG=
R=bsalomon@google.com , scroggo@google.com , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26734003
git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 17:44:27 +00:00
robertphillips@google.com
0255a5d2fe
Minor changes
...
https://codereview.chromium.org/39973004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11940 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:03:01 +00:00
commit-bot@chromium.org
bbfe4541ef
Apply matrix early in draw bitmap
...
Committed: http://code.google.com/p/skia/source/detail?r=11930
Reverted: https://code.google.com/p/skia/source/detail?r=11932
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11933 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 01:46:11 +00:00
scroggo@google.com
e9821871ec
Revert "Apply matrix early in draw bitmap"
...
This reverts commit 4c446c8eb50b7a6e6f917fae7b4c4ffe5658a949.
Fix build.
git-svn-id: http://skia.googlecode.com/svn/trunk@11932 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 22:19:06 +00:00
commit-bot@chromium.org
25e5a20e65
Apply matrix early in draw bitmap
...
R=robertphillips@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11930 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 21:06:51 +00:00
commit-bot@chromium.org
a34995e18b
Implement SkColorFilter as a GrGLEffect
...
Adds GrEffect::willUseInputColor() which indicates whether or not the
input color affects the output of the effect. This is needed for
certain Xfermodes, such as kSrc_Mode. For these modes the color filter
will not use the input color.
An effect with GrEffect::willUseInputColor() true will cause all color
or coverage effects before it to be discarded, as their computations
cannot affect the output. In these cases program is marked as having
white input color.
This fixes an assert when Skia is compiled in a mode that prefers
using uniforms instead of attributes for constants. (Flags
GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using
attributes hides the problem where the fragment shader does not need
input color for color filters that ignore DST part of the filter. The
assert would be hit when uniform manager tries to bind an uniform which
has been optimized away by the shader compiler.
Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL
expressions like "(v - src.a)" can remain somewhat readable in form of
"(v - src.a())". The GrGLSLExpr<typename> template implements the
generic functionality, GrGLSLExprX is the specialization that exposes
the type-safe interface to this functionality.
Also adds operators so that GLSL binary operators of the form
"(float * vecX)" can be expressed in C++. Before only the equivalent
"(vecX * float)" was possible. This reverts the common blending
calculations to more conventional order, such as "(1-a) * c" instead of
"c * (1-a)".
Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the
color filter blending formula string the same (with the exception of
variable name change).
Shaders change in case of input color being needed:
- vec4 filteredColor;
- filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor);
- fsColorOut = filteredColor;
+ vec4 output_Stage1;
+ { // Stage 1: ModeColorFilterEffect
+ output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1);
+ }
+ fsColorOut = output_Stage1;
Shaders change in case of input color being not needed:
-uniform vec4 uFilterColor;
-in vec4 vColor;
+uniform vec4 uFilterColor_Stage0;
out vec4 fsColorOut;
void main() {
- vec4 filteredColor;
- filteredColor = uFilterColor;
- fsColorOut = filteredColor;
+ vec4 output_Stage0;
+ { // Stage 0: ModeColorFilterEffect
+ output_Stage0 = uFilterColor_Stage0;
+ }
+ fsColorOut = output_Stage0;
}
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25023003
git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 05:42:03 +00:00
robertphillips@google.com
dbbe1d437d
Revert r11880 (Apply matrix early in draw bitmap - https://codereview.chromium.org/30593003 ) due to layout test failure
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 21:30:49 +00:00
commit-bot@chromium.org
15455b2a13
Apply matrix early in draw bitmap
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/30593003
git-svn-id: http://skia.googlecode.com/svn/trunk@11880 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:48:17 +00:00
jvanverth@google.com
c7a40fad0b
Split out GrBitmapTextContext from GrTextContext.
...
This is a stepping stone to having a variety of different text context types
(bitmaps, distance fields, NV path rendering).
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/27199002
git-svn-id: http://skia.googlecode.com/svn/trunk@11820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:15:34 +00:00
commit-bot@chromium.org
6b7938f9cb
separate state for msaa renderability
...
R=robertphillips@google.com , brian@thesalomons.net
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26695005
git-svn-id: http://skia.googlecode.com/svn/trunk@11770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 14:18:16 +00:00
djsollen@google.com
c9542ca3d0
Add swapBuffer call to SkGLContextHelper.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/26701002
git-svn-id: http://skia.googlecode.com/svn/trunk@11682 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 18:25:38 +00:00
commit-bot@chromium.org
c4dc0ad8e2
Implement filling a path with nv_path_rendering cover
...
Implement filling a path with nv_path_rendering cover functionality.
The nv_path_rendering cover can be used if the fill is non-inverted
and the draw operation does not require use of vertex shaders.
Moves code for the inverted fill from GrStencilAndCoverPathRenderer
down to GrGpuGL.
R=bsalomon@google.com , markkilgard@gmail.com , cdalton@nvidia.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/22686002
git-svn-id: http://skia.googlecode.com/svn/trunk@11667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 14:11:33 +00:00
commit-bot@chromium.org
5dbb149fda
When cache is full delay flush until GrContext draw is finished
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/25673004
git-svn-id: http://skia.googlecode.com/svn/trunk@11613 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 16:23:58 +00:00
commit-bot@chromium.org
5fd7d5c20a
Allow gradient optimization with perspective
...
Before, gradients would only interpolate the linear portion of the
quadratic equation if there was no perspective. This updates them to
do so even in the case that there is perspective. The rearrangement
of math causes noise differences in the following gm tests:
gradients_no_texture_gpu
gradients_view_perspective_gpu
gradients_local_perspective_gpu
gradients_gpu
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/25645006
git-svn-id: http://skia.googlecode.com/svn/trunk@11595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 01:20:09 +00:00
commit-bot@chromium.org
3390b9ac9a
Repurpose GrGLCoordTransform as GrGLProgramEffects
...
Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/25605008
git-svn-id: http://skia.googlecode.com/svn/trunk@11588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 15:17:58 +00:00
commit-bot@chromium.org
03e3e89641
Add support to dump font cache texture for debug purposes
...
R=robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/25736002
git-svn-id: http://skia.googlecode.com/svn/trunk@11579 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 18:19:17 +00:00
robertphillips@google.com
0308707248
Make it explicit that some validate methods are debug only
...
https://codereview.chromium.org/25716003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11575 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 16:42:21 +00:00
bsalomon@google.com
77af6805e5
Make GPU coord transforms automatic
...
Adds a GrCoordTransform class and updates the framework to handle
coord transforms similar to how it handles textures with
GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and
slightly repurposes it to be used by the framework instead of effects.
R=bsalomon@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/24853002
git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 13:04:56 +00:00