ethannicholas
5366a09ed0
Revert of added support for PLS path rendering (patchset #16 id:360001 of https://codereview.chromium.org/1541903002/ )
...
Reason for revert:
ASAN failure at src/gpu/GrXferProcessor.cpp:224
Original issue's description:
> added support for PLS path rendering
>
> BUG=skia:3555
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002
>
> Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002
Review URL: https://codereview.chromium.org/1626553002
2016-01-22 09:45:47 -08:00
ethannicholas
7df3f5e127
added support for PLS path rendering
...
BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002
Review URL: https://codereview.chromium.org/1541903002
2016-01-22 06:48:46 -08:00
bsalomon
e5286e0b37
Beginning of support for texture rectangles.
...
Adds support for importing a RECTANGLE texture into Skia via GrTexureProvider::wrapBackendTexture().
Tests read/writing pixels, copySurface, and clear.
Does not add support for texturing from a RECTANGLE texture as the coords will be incorrectly normalized.
BUG=skia:3868
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1583863002
Review URL: https://codereview.chromium.org/1583863002
2016-01-14 09:24:09 -08:00
kkinnunen
702501ddca
Simplify path allocation, clean up resources correctly
...
Simplify path id allocation in NVPR backend. Instead of using
an AVL tree of path id ranges for the first 65535 ids, use just
a simple stategy of overallocation and "bump index".
Fixes the bug where previously overallocated ids were not deleted.
The advantage is that the implementation is simple and all allocations
go through overallocation, not just the first 65535 of the 1-range
allocations.
Removes the logic where paths were cleared with setting path data to
null instead of deleting the whole path. Now deleted paths are just
deleted normally. These operations should have equivalent performance on
command buffer. Deleting the path should enable the driver to do more
maintainance.
Removes the GLNameAllocator, as it was only used for paths. In order for
it to be used for other IDs, it probably would need to be re-written to
support cleanup and arbitrary ranges. Also, the interface would probably
need to be changed to not requiring the block to be allocated before it
could be managed by the structure.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1150243003
Review URL: https://codereview.chromium.org/1150243003
2016-01-13 23:36:45 -08:00
bsalomon
7f9b2e4a45
Swizzle shader output and blend when using GL_RED to implement kAlpha_8_GrPixelConfig
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584473002
Review URL: https://codereview.chromium.org/1584473002
2016-01-12 13:29:26 -08:00
joshualitt
27a48dc0cd
Create stub GrAuditTrail class
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1572553002
Review URL: https://codereview.chromium.org/1572553002
2016-01-08 07:19:47 -08:00
ethannicholas
e9709e8319
Broke GrTessellatingPathRenderer's tessellator out into a separate file.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002
Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea
Review URL: https://codereview.chromium.org/1557083002
2016-01-07 13:34:16 -08:00
caryclark
fb82437173
Revert of Broke GrTessellatingPathRenderer's tessellator out into a separate file. (patchset #8 id:240001 of https://codereview.chromium.org/1557083002/ )
...
Reason for revert:
broke valgrind bot
Original issue's description:
> Broke GrTessellatingPathRenderer's tessellator out into a separate file.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002
>
> Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea
TBR=bsalomon@google.com ,joshualitt@chromium.org,senorblanco@chromium.org,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1570503002
2016-01-07 05:09:48 -08:00
ethannicholas
8b05cb8a00
Broke GrTessellatingPathRenderer's tessellator out into a separate file.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002
Review URL: https://codereview.chromium.org/1557083002
2016-01-06 11:44:34 -08:00
joshualitt
1de610a528
Create debug only SkSingleOwner
...
This is so Gpu code can guard against improper multithreaded usage in
debug builds
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1555953004
Review URL: https://codereview.chromium.org/1555953004
2016-01-06 08:26:09 -08:00
reed
98e7538be3
make GrRect.h private
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1548213002
TBR=bsalomon
Review URL: https://codereview.chromium.org/1548213002
2015-12-26 18:20:00 -08:00
joshualitt
e804292e80
Move all text stuff to its own folder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1521453002
2015-12-11 06:11:21 -08:00
joshualitt
0a42e6827b
Create GrTextUtils
...
BUG=skia:
Review URL: https://codereview.chromium.org/1514933002
2015-12-10 13:20:58 -08:00
joshualitt
1acabf3787
Move DistanceAdjustTable to its own file
...
BUG=skia:
Review URL: https://codereview.chromium.org/1512823004
2015-12-10 09:10:10 -08:00
egdaniel
7ea439b220
Create GLSLUniformHandler class for gpu backend
...
BUG=skia:
Review URL: https://codereview.chromium.org/1490283004
2015-12-03 09:20:44 -08:00
jvanverth
73063dc517
Add transfer buffer support.
...
BUG=skia:4604
Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361
Review URL: https://codereview.chromium.org/1490473003
2015-12-03 09:15:47 -08:00
egdaniel
53c5d5fb79
Revert of Add transfer buffer support. (patchset #9 id:160001 of https://codereview.chromium.org/1490473003/ )
...
Reason for revert:
speculative revert for deps roll failures
Original issue's description:
> Add transfer buffer support.
>
> BUG=skia:4604
>
> Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361
TBR=bsalomon@google.com ,jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4604
Review URL: https://codereview.chromium.org/1496843003
2015-12-03 06:32:22 -08:00
jvanverth
fa498fe122
Add transfer buffer support.
...
BUG=skia:4604
Review URL: https://codereview.chromium.org/1490473003
2015-12-02 13:06:37 -08:00
egdaniel
0eafe79f42
Create GrGLSLVaryingHandler class for program building
...
BUG=skia:
Review URL: https://codereview.chromium.org/1462123003
2015-11-20 14:01:22 -08:00
joshualitt
a751c97e30
Factor out GrAtlasTextBatch fromt GrAtlasTextContext
...
BUG=skia:
Review URL: https://codereview.chromium.org/1458233003
2015-11-20 13:37:32 -08:00
joshualitt
33a5fce612
Initial implementation of GPU no filter NinePatch
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1454933002
2015-11-18 13:28:51 -08:00
egdaniel
e659a581f6
Move GrGLPrimitive/GeometryProc to GLSL
...
BUG=skia:
Review URL: https://codereview.chromium.org/1441683008
2015-11-13 09:55:43 -08:00
egdaniel
fa4cc8bf2a
Move XferProcessors to glsl
...
This is basically a move and rename
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1440073002
2015-11-13 08:34:52 -08:00
egdaniel
64c4728c70
Make all GrFragmentProcessors GL independent.
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1434313002
2015-11-13 06:54:19 -08:00
egdaniel
2d721d33aa
Move all ShaderBuilder files to GLSL
...
BUG=skia:
Review URL: https://codereview.chromium.org/1438003003
2015-11-11 13:06:05 -08:00
egdaniel
8dcdedc4a0
Make GrGLSLProgramBuilder base class for GrGLProgramBuilder.
...
This CL still keeps the weird diamond shape we have for all our ProgramBuilders.
However, the GrGLSL base class will allow us to pull multiple other parts
of our program setup away from GL which will eventually allow us to break up
the diamond.
As part of this all ShaderBuilder subclass have been made gl independent,
however I will move them to GLSL files/class names in a follow on CL.
BUG=skia:
Review URL: https://codereview.chromium.org/1416423003
2015-11-11 06:27:20 -08:00
bsalomon
c55271f255
Separate out natively-texture image/bmp draws from cached-as-texture image/bmp draws
...
This makes texture-backed images and bitmaps down a new code path. It adds a pinch point via the texture adjuster that will be used to handle copied necessary for different texture targets. It also fixes bugs in the existing code exhibited by recent updates to the bleed GM. The plan is to move the the sw/generator-backed imgs/bmps on to this code path with future changes.
Review URL: https://codereview.chromium.org/1424313010
2015-11-09 11:55:57 -08:00
robertphillips
e51fa4ac31
Clean up GrAtlas and rename it GrLayerAtlas
...
Review URL: https://codereview.chromium.org/1412243013
2015-11-03 07:04:48 -08:00
robertphillips
687378229a
Remove GrPipelineBuilder from getPathRenderer call
...
Logically this CL:
Moves the PathRendererChain from GrContext to GrDrawManager
- this was needed to untangled the Path-Chain/Renderer header mess
- this entailed adding getDrawingMgr so the CMM could access the PathRenderingChain
- this also entailed re-adding freeGpuResources to the GrDrawingMgr
Moves the CanDrawArgs struct up stack
Removes the GrPipelineBuilder from the CanDrawArgs struct
Review URL: https://codereview.chromium.org/1407883004
2015-10-29 12:12:21 -07:00
egdaniel
7dc4bd06fc
Remove GrGLProcessor and create GrGLSLTextureSampler class.
...
Part ??? of separating glsl and gl
BUG=skia:
Review URL: https://codereview.chromium.org/1425013003
2015-10-29 07:57:02 -07:00
egdaniel
018fb62d12
Create GLSL base class for ProgramDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1428543003
2015-10-28 07:26:40 -07:00
egdaniel
0d3f061262
Move GrGLShaderVar to GrGLSL
...
BUG=skia:
Review URL: https://codereview.chromium.org/1417123002
2015-10-21 10:45:48 -07:00
robertphillips
3dc6ae55ca
Move GrDrawingManager methods to their own .cpp file
...
Small cleanup
Review URL: https://codereview.chromium.org/1407393004
2015-10-20 09:54:32 -07:00
bsalomon
045802dbb7
Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what copying needs to be done.
...
Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79
Committed: https://skia.googlesource.com/skia/+/1a197ea31e0aac7ea312e9a6c0d9f5df626b0350
Review URL: https://codereview.chromium.org/1409163002
2015-10-20 07:58:01 -07:00
Brian Salomon
bc0bcc08b3
Revert recent CLs around GrTextureMaker/GrTextureParamsAdjuster
...
Review URL: https://codereview.chromium.org/1411353002 .
2015-10-19 15:12:32 -04:00
bsalomon
2fc11d39d1
Move definitions of GrGL basic types (e.g. GrGLenum) to their own header.
...
Review URL: https://codereview.chromium.org/1410333003
2015-10-19 09:03:23 -07:00
bsalomon
1a197ea31e
Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what copying needs to be done.
...
Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79
Review URL: https://codereview.chromium.org/1409163002
2015-10-19 08:24:09 -07:00
egdaniel
91957941ce
Revert of Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what… (patchset #4 id:60001 of https://codereview.chromium.org/1409163002/ )
...
Reason for revert:
breaking nanobench
Original issue's description:
> Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what copying needs to be done.
>
> Committed: https://skia.googlesource.com/skia/+/fcffaf22d697f06f903c3193308f9dc54a959f79
TBR=reed@google.com ,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1409923003
2015-10-16 13:59:14 -07:00
bsalomon
fcffaf22d6
Rewrite GrTextureMaker to disentangle bitmap case from base class and give GPU object a say in what copying needs to be done.
...
Review URL: https://codereview.chromium.org/1409163002
2015-10-16 13:35:10 -07:00
bsalomon
afa95e270c
Remove image usage type enum. Use GrTextureParams instead.
...
BUG=skia:
Review URL: https://codereview.chromium.org/1404433002
2015-10-12 10:39:46 -07:00
bsalomon
4a33952961
Bye bye processor data manager.
...
Review URL: https://codereview.chromium.org/1388113002
2015-10-06 08:40:51 -07:00
bsalomon
473addf176
Remove separate cache for clip mask textures
...
Review URL: https://codereview.chromium.org/1377943003
2015-10-02 07:49:06 -07:00
bsalomon
f1b7a1d828
Make skpaint->grpaint flow work for composing draws (verts and atlas)
...
One side effect is that the SkShader's (or implicit shader's) fragment processor is responsible for the transition from an unpremul paint color to a premul color.
Review URL: https://codereview.chromium.org/1348583002
2015-09-28 06:26:29 -07:00
bsalomon
bf87730c7d
Move GrFragmentProcessor implementation to its own cpp file
...
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/1350523004
2015-09-22 09:06:13 -07:00
bsalomon
87ba62e67c
Replace GrExtractAlphaFragmentProcessor with DstIn compose processor
...
Review URL: https://codereview.chromium.org/1347943003
2015-09-22 06:42:00 -07:00
joshualitt
3566d44d85
Move StrokeRectBatches into .cpp files
...
BUG=skia:
Review URL: https://codereview.chromium.org/1353683003
2015-09-18 07:12:56 -07:00
robertphillips
42bd6bfd0d
Remove duplicate GrProcessorUnitTest.cpp from gpu.gypi
...
This appears to be blocking the roll.
TBR=tomhudson@chromium.org
Review URL: https://codereview.chromium.org/1349683003
2015-09-16 05:42:40 -07:00
bsalomon
ae4738f677
Create fragment processor for performing input color blend with child processor
...
The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.
Review URL: https://codereview.chromium.org/1334293003
2015-09-15 15:33:27 -07:00
ericrk
0a5fa484fd
Add onMemoryDump to GrContext
...
Adds an entry point to GrContext to allow enumeration and tracing of GPU resources
via the newly added SkTraceMemoryDump.
Plan is for Chrome to call this on each of its GrContexts.
Dumps both the total size of GPU resources, as well as the total purgeable size.
BUG=526261
Review URL: https://codereview.chromium.org/1313743002
2015-09-15 14:16:10 -07:00
bsalomon
506c802a3d
Add helper for creating leaf FPs inside GrFP::TestCreate functions
...
Review URL: https://codereview.chromium.org/1334273003
2015-09-14 13:16:26 -07:00