joshualitt
3b58d75170
Initial CL to create Reorder command builder behind a flag
...
BUG=skia:
Review URL: https://codereview.chromium.org/1129943004
2015-05-07 11:14:30 -07:00
robertphillips
84b008873b
Add GrAAConvexTessellator class
...
This CL adds a GrAAConvexTessellator class. It does not connect it to the GrAAConvexPathRenderer.
Review URL: https://codereview.chromium.org/1084943003
2015-05-06 05:15:57 -07:00
joshualitt
af242958a5
create GrInOrderCommandBuilder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1118403003
2015-05-05 11:55:39 -07:00
joshualitt
ad17cfc8c7
Move RectBatch to GrRect
...
BUG=skia:
Review URL: https://codereview.chromium.org/1127713002
2015-05-05 10:45:57 -07:00
bsalomon
cb8979d088
Move DrawInfo out from GrDrawTarget and rename to GrVertices.
...
Review URL: https://codereview.chromium.org/1124733004
2015-05-05 09:51:38 -07:00
joshualitt
e46760e8b2
Create GrCommandBuilder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1113313003
2015-05-05 08:41:50 -07:00
bsalomon
ed0bcad9c8
Move instanced index buffer creation to flush time
...
Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26
Review URL: https://codereview.chromium.org/1116943004
2015-05-04 10:36:43 -07:00
bsalomon
d8ed1b64a6
Revert of Move instanced index buffer creation to flush time (patchset #6 id:100001 of https://codereview.chromium.org/1116943004/ )
...
Reason for revert:
messed up caching, recreating index buffers all the time.
Original issue's description:
> Move instanced index buffer creation to flush time
>
> Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26
TBR=joshualitt@google.com ,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1126613003
2015-05-04 10:09:24 -07:00
bsalomon
ab622c7b8c
Move instanced index buffer creation to flush time
...
Review URL: https://codereview.chromium.org/1116943004
2015-05-04 08:09:30 -07:00
bsalomon
d309e7aa0e
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.
...
Review URL: https://codereview.chromium.org/1107973004
2015-04-30 14:18:54 -07:00
joshualitt
3f655f34a2
Initial CL to create GrBatchTest infrastructure
...
BUG=skia:
Review URL: https://codereview.chromium.org/1109153004
2015-04-29 10:01:22 -07:00
bsalomon
a73239a009
Remove GrFlushToGpuDrawTarget and move functionality up to GrDrawTarget.
...
Review URL: https://codereview.chromium.org/1117433002
2015-04-28 13:35:17 -07:00
joshualitt
4eaf9cef5a
create GrTestUtils.h, move some common functions into it
...
BUG=skia:
Review URL: https://codereview.chromium.org/1117443002
2015-04-28 13:31:18 -07:00
joshualitt
50cb76b2bb
Revert of removing equality / compute invariant loops from GrGeometryProcessors (patchset #2 id:20001 of https://codereview.chromium.org/1111603004/ )
...
Reason for revert:
breaks gl programs
Original issue's description:
> removing equality / compute invariant loops from GrGeometryProcessors
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1110993002
2015-04-28 09:17:05 -07:00
joshualitt
ef292a0901
removing equality / compute invariant loops from GrGeometryProcessors
...
BUG=skia:
Review URL: https://codereview.chromium.org/1111603004
2015-04-28 09:08:28 -07:00
joshualitt
8f94bb2b25
remove old text contexts and fontcache
...
BUG=skia:
Review URL: https://codereview.chromium.org/1104343003
2015-04-28 07:04:11 -07:00
kkinnunen
1899651ffc
Extract gpu line dashing to GrDashLinePathRenderer
...
Move line dashing logic from GrContext::drawPath to
GrDashLinePathRenderer. This makes it possible to let path renderers render arbitrary dashed paths.
End goal is to implement dashing in GrStencilAndCoverPathRenderer.
Review URL: https://codereview.chromium.org/1100073003
2015-04-26 23:18:50 -07:00
egdaniel
8dc7c3a839
Rename GrStencilBuffer to GrStencilAttachment
...
BUG=skia:
Review URL: https://codereview.chromium.org/1083133002
2015-04-16 11:22:42 -07:00
jvanverth
8ed3b9a386
Rename DistanceFieldTextureEffect.{cpp,h}
...
BUG=skia:
Review URL: https://codereview.chromium.org/1073473005
2015-04-09 08:00:49 -07:00
joshualitt
b7133bed55
Adding a cache + memory pool for GPU TextBlobs
...
BUG=skia:
Review URL: https://codereview.chromium.org/1055843002
2015-04-08 09:08:31 -07:00
borenet
4808757d7a
Remove all code related to NaCl
...
BUG=skia:3600
DOCS_PREVIEW= https://skia.org/?cl=1036283002
Review URL: https://codereview.chromium.org/1036283002
2015-04-02 12:16:36 -07:00
bsalomon
c9c3e62b4e
Add constant color GrFP.
...
Committed: https://skia.googlesource.com/skia/+/dfbbec436cbcacc3270d4b28357c8393e67d6494
Review URL: https://codereview.chromium.org/978713002
2015-04-02 11:12:09 -07:00
bsalomon
599ea40cec
Revert of Add constant color GrFP. (patchset #10 id:180001 of https://codereview.chromium.org/978713002/ )
...
Reason for revert:
Revert while investigating assertions.
Original issue's description:
> Add constant color GrFP.
>
> Committed: https://skia.googlesource.com/skia/+/dfbbec436cbcacc3270d4b28357c8393e67d6494
TBR=egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1055023002
2015-04-02 08:33:54 -07:00
bsalomon
dfbbec436c
Add constant color GrFP.
...
Review URL: https://codereview.chromium.org/978713002
2015-04-01 14:54:57 -07:00
joshualitt
1d89e8d1a4
move Atlas Text Context to its own file
...
BUG=skia:
Review URL: https://codereview.chromium.org/1045723010
2015-04-01 12:40:54 -07:00
joshualitt
7c3a2f834e
BitmapTextBatch and BitmapTextBlob
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984
Review URL: https://codereview.chromium.org/1011403004
2015-03-31 13:32:05 -07:00
joshualitt
c03391e792
Revert of BitmapTextBatch and BitmapTextBlob (patchset #18 id:360001 of https://codereview.chromium.org/1011403004/ )
...
Reason for revert:
Breaks a unit test on mac
Original issue's description:
> BitmapTextBatch and BitmapTextBlob
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984
TBR=fmalita@chromium.org ,reed@google.com,jvanverth@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@chromium.org,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1050633002
2015-03-31 11:33:08 -07:00
joshualitt
eed1dae049
BitmapTextBatch and BitmapTextBlob
...
BUG=skia:
Review URL: https://codereview.chromium.org/1011403004
2015-03-31 11:04:53 -07:00
egdaniel
384181c810
Add support for using alternative backends (like DirectX) when creating a GrGpu.
...
BUG=skia:
Review URL: https://codereview.chromium.org/1038643002
2015-03-26 09:09:41 -07:00
scroggo
3e5622764a
Add copyright headers to remaining gyp files.
...
Prevents some PRESUBMIT errors.
TBR=mtklein@google.com
Review URL: https://codereview.chromium.org/1035523003
2015-03-25 10:22:41 -07:00
bsalomon
6f7f2012ee
Move GrAutoLocaleSetter to new file and fix issue with null locale
...
TBR=egdaniel@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/1002623004
2015-03-16 14:00:52 -07:00
joshualitt
5bf99f1ca8
Creation of GrBatchAtlas and Distancefieldpathrenderer batch
...
BUG=skia:
Review URL: https://codereview.chromium.org/975303005
2015-03-13 11:47:42 -07:00
robertphillips
193ea935b0
Split GrTargetCommands into its own files
...
Review URL: https://codereview.chromium.org/979493002
2015-03-03 12:40:50 -08:00
senorblanco
d6ed19cc75
Tessellating GPU path renderer.
...
This path renderer converts paths to linear contours, resolves intersections via Bentley-Ottman, implements a trapezoidal decomposition a la Fournier and Montuno to produce triangles, and renders those with a single draw call. It does not currently do antialiasing, so it must be used in conjunction with multisampling.
A fair amount of the code is to handle floating point edge cases in intersections. Rather than perform exact computations (which would require arbitrary precision arithmetic), we reconnect the mesh to reflect the intersection points. For example, intersections can occur above the current vertex, and force edges to be merged into the current vertex, requiring a restart of the intersections. Splitting edges for intersections can also force them to merge with formerly-distinct edges in the same polygon, or to violate the ordering of the active edge list, or the active edge state of split edges.
BUG=skia:
Review URL: https://codereview.chromium.org/855513004
2015-02-26 06:58:17 -08:00
joshualitt
44701df5ce
Move clip off of draw target
...
BUG=skia:
Review URL: https://codereview.chromium.org/947443003
2015-02-23 14:44:58 -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
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
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
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
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
joshualitt
8072caa803
A simple change to move a bunch of stuff out of Gr*Geometry.h
...
BUG=skia:
Review URL: https://codereview.chromium.org/920863002
2015-02-12 14:20:52 -08:00
bsalomon
7e34007e1e
Add GrGLCreateNullInterface.cpp back to gyp, and put contents in namespace.
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/899803004
2015-02-11 12:07:31 -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
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
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
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
joshualitt
4d8da81562
GrBatchPrototype
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4
Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198
Review URL: https://codereview.chromium.org/845103005
2015-01-28 12:53:54 -08:00
joshualitt
c2893c5e38
Revert of GrBatchPrototype (patchset #32 id:630001 of https://codereview.chromium.org/845103005/ )
...
Reason for revert:
One last try to fix mac perf regression
Original issue's description:
> GrBatchPrototype
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4
>
> Committed: https://skia.googlesource.com/skia/+/d5a7db4a867c7e6ccf8451a053d987b470099198
TBR=bsalomon@google.com ,kkinnunen@nvidia.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/877393002
2015-01-28 06:54:30 -08:00
joshualitt
d5a7db4a86
GrBatchPrototype
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4
Review URL: https://codereview.chromium.org/845103005
2015-01-27 15:39:06 -08:00
joshualitt
ca0a1799ff
Revert of GrBatchPrototype (patchset #30 id:570001 of https://codereview.chromium.org/845103005/ )
...
Reason for revert:
creates large performance regression
Original issue's description:
> GrBatchPrototype
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d15e4e45374275c045572b304c229237c4a82be4
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/862823004
2015-01-27 06:41:33 -08:00
joshualitt
d15e4e4537
GrBatchPrototype
...
BUG=skia:
Review URL: https://codereview.chromium.org/845103005
2015-01-26 13:30:10 -08:00
bsalomon
eaaaf0b16c
Take budgeted param when snapping new image.
...
Review URL: https://codereview.chromium.org/872543002
2015-01-23 08:08:04 -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
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
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
jvanverth
39edf7664f
Rename GrGpuGL -> GrGLGpu
...
Review URL: https://codereview.chromium.org/824753002
2014-12-22 11:44:19 -08:00
egdaniel
3936ce4aa8
Fix gyp for GrDisableColorXP
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/819923002
2014-12-22 11:20:58 -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
egdaniel
8750924a14
Add Coverage Drawing XP
...
BUG=skia:
Review URL: https://codereview.chromium.org/808813002
2014-12-17 13:37:13 -08:00
bsalomon
29097f920a
Rename GrGpuGL_program.cpp to GrGLGpuProgramCache.cpp
...
Review URL: https://codereview.chromium.org/807133002
2014-12-16 08:13:53 -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
robertphillips
7b9e8a4b6a
Apply the layer's image filter to the hoisted image
...
Exposing SkSurface_Gpu makes me sad and I would welcome alternatives.
This change is desireable since it greatly decreases the render target swaps.
Review URL: https://codereview.chromium.org/792923002
2014-12-11 08:20:31 -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
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
8bf2bd335f
Move GrPorterDuffXferProcessor to include/gpu/effects.
...
BUG=skia:
Review URL: https://codereview.chromium.org/780263003
2014-12-05 12:14:27 -08:00
joshualitt
eb2a676165
Remove backend factories
...
BUG=skia:
Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
jvanverth
787cdf9ab0
Ganesh text rendering cleanup.
...
Rename GrTextStrike.{cpp.h} to GrFontCache.{cpp,h}
Move contents of GrTextStrike_impl.h to GrFontCache.h
Move glyph uploading to a separate function and remove harmful gotos
Add assert on glyph upload failure (shouldn't happen)
Review URL: https://codereview.chromium.org/780923002
2014-12-04 10:46:52 -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
bsalomon
371bcbcb9f
Add a base class for GrIODB that handles geometry data
...
Review URL: https://codereview.chromium.org/773433002
2014-12-01 08:19:34 -08:00
joshualitt
947556f658
remove GrAllocPool
...
BUG=skia:
Review URL: https://codereview.chromium.org/742253002
2014-11-21 09:03:45 -08:00
joshualitt
c07379d6b1
Adding GeometryData object
...
BUG=skia:
Review URL: https://codereview.chromium.org/745663002
2014-11-20 14:50:39 -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
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
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
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
robertphillips
8236591547
Rename GrAccelData to SkLayerInfo and move it to src/core
...
Review URL: https://codereview.chromium.org/719133002
2014-11-12 09:32:34 -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
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
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
79f8faeea2
OptState owns program descriptor
...
BUG=skia:
Review URL: https://codereview.chromium.org/674543004
2014-10-28 17:59:26 -07:00
cdalton
6819df3644
Adds a GrTRecorder class that GrInOrderDrawBuffer uses to allocate
...
all its commands interleaved in contiguous memory. GrTRecorder also
supports extra data associated with objects, so we can store arrays
inline without having to call malloc().
Committed: https://skia.googlesource.com/skia/+/360b6801cfd90485891d709e44cf395d527ba69e
Review URL: https://codereview.chromium.org/628453002
2014-10-15 13:43:48 -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
mtklein
f439c77e9c
Revert of Create a single command buffer for GrInOrderDrawBuffer (patchset #17 id:1240001 of https://codereview.chromium.org/628453002/ )
...
Reason for revert:
Leaking memory:
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/9/steps/gm/logs/stdio
Original issue's description:
> Adds a GrTRecorder class that GrInOrderDrawBuffer uses to allocate
> all its commands interleaved in contiguous memory. GrTRecorder also
> supports extra data associated with objects, so we can store arrays
> inline without having to call malloc().
>
> Committed: https://skia.googlesource.com/skia/+/360b6801cfd90485891d709e44cf395d527ba69e
TBR=bsalomon@google.com ,reed@google.com,cdalton@nvidia.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/654863003
2014-10-14 14:29:30 -07:00
cdalton
360b6801cf
Adds a GrTRecorder class that GrInOrderDrawBuffer uses to allocate
...
all its commands interleaved in contiguous memory. GrTRecorder also
supports extra data associated with objects, so we can store arrays
inline without having to call malloc().
Review URL: https://codereview.chromium.org/628453002
2014-10-14 11:53:05 -07:00
mtklein
07894c4d7d
Revert of Create a single command buffer for GrInOrderDrawBuffer (patchset #14 id:1050001 of https://codereview.chromium.org/628453002/ )
...
Reason for revert:
New test failing on Android: http://build.chromium.org/p/client.skia.android/builders/Test-Android-Nexus7-Tegra3-Arm7-Release/builds/89/steps/dm/logs/stdio
Original issue's description:
> Adds a GrTBaseList class that GrInOrderDrawBuffer uses to allocate
> all its commands interleaved in contiguous memory. GrTBaseList also
> supports extra data associated with objects, so we can store arrays
> inline without having to call malloc().
>
> Committed: https://skia.googlesource.com/skia/+/47c844aaba81e5a29c773b660e1d6062c766d253
TBR=bsalomon@google.com ,reed@google.com,cdalton@nvidia.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/652843002
2014-10-13 14:00:42 -07:00
cdalton
47c844aaba
Adds a GrTBaseList class that GrInOrderDrawBuffer uses to allocate
...
all its commands interleaved in contiguous memory. GrTBaseList also
supports extra data associated with objects, so we can store arrays
inline without having to call malloc().
Review URL: https://codereview.chromium.org/628453002
2014-10-13 12:43:10 -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
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
jvanverth
fa38a30897
Add GrAASmallPathRenderer.
...
Uses cached signed distance fields to render scaled and rotated versions
of small paths.
BUG=skia:2935
Review URL: https://codereview.chromium.org/589103004
2014-10-06 05:59:05 -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
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
cdalton
855d83ff79
Uses a single pre-baked set of paths for drawing nvpr text of a given
...
typeface. Loads the paths using the driver's glyph loading routines.
Refactors GrPathRange to accept a PathGenerator class that it uses to
lazily initialize its paths. The client code is no longer expected to
initialize the paths in a GrPathRange; instead it must provide a
PathGenerator* instance to createPathRange().
Adds a new createGlyphs() method to GrPathRendering that creates a
range of glyph paths, indexed by glyph id. GrPathRendering implements
createGlyphs() with a PathGenerator that loads glyph paths using the
skia frameworks. GrGLPathRendering uses glMemoryGlyphIndexArrayNV()
instead, when possible, to load the glyph paths.
Removes all GlyphPathRange logic from GrStencilAndCoverTextContext.
It instead uses createGlyphs().
BUG=skia:2939
R=bsalomon@google.com , jvanverth@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/563283004
2014-09-18 13:51:53 -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
joshualitt
408d6125b3
Breaking out full program and frag only
...
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/576543005
2014-09-17 07:00:35 -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
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
egdaniel
3658f382cc
Create an optimized draw state but not hooked in yet to gpu pipeline
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/508663002
2014-09-15 07:01:59 -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
robertphillips
d982eb22d7
Replace SkPictureReplacementPlayback with GrRecordReplaceDraw
...
I think this is sufficiently specialized to keep it in Ganesh for the time being.
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/535953002
2014-09-03 11:04:31 -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
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
egdaniel
21aed57023
Create Read-only Base class for GrDrawState that holds data members and getters
...
Base class will but used also in follow up cl that will create an OptDrawState class which will
share much of the same data/functions as DrawState. Thus the base class
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/506803003
2014-08-26 12:24:06 -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
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
kkinnunen
ccdaa04225
Separate GL path rendering state from GrGpuGL to GrGLPathRendering
...
Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.
The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.
Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.
R=bsalomon@google.com , cdalton@nvidia.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/452823002
2014-08-20 01:36:24 -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
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
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
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
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
kkinnunen
7510b224e5
Rename GrGLUniformManager to GrGLProgramDataManager
...
Rename GrGLUniformManager to GrGLProgramDataManager in anticipation that the
class would be used to manage shader resources that are not uniforms.
This is needed in order to implement NVPR on GLES.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/365853002
2014-07-30 00:04:16 -07:00
robertphillips
8ab8cc07cf
Finish removing GrTHashTable
...
This class is no longer used in Ganesh (in favor of SkTDynamicHash)
R=jvanverth@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/421253003
2014-07-29 06:17:49 -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
joshualitt
ac9779234e
Initial change to move 2D kernel to its own file.
...
BUG=skia:
R=bsalomon@chromium.org , senorblanco@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/379253003
2014-07-22 09:52:12 -07:00
cdalton
b85a0aab69
Add a GrPathRange class
...
Adds a GrPathRange object that represents a range of paths on the gpu.
Updates GrDrawTarget::drawPaths and supporting code to use GrPathRange
instead of an array of GrPath objects.
Change-Id: I67845f3893cd4d955db947d699aa3733cbb081e0
BUG=skia:
R=bsalomon@google.com , jvanverth@google.com , kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/400713003
2014-07-21 15:32:44 -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
sugoi
24dcac2140
YUV to RGB converter
...
This is a first piece of the GPU YUV decoder, which is the actual effect that performs the conversion. For now, it simply applies the conversion matrix, since it is all I need. I may add modes if different matrices need to be applied or if I add color profile support here.
I'll try to keep these cls short and easy to review, but there should be a few of them coming once this one is in.
BUG=skia:
R=senorblanco@chromium.org , senorblanco@google.com , reed@google.com , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/378503006
2014-07-07 15:09:49 -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