egdaniel
b800248c73
Revert of Refactor how we store and use samplers in Ganesh (patchset #7 id:120001 of https://codereview.chromium.org/1885863004/ )
...
Reason for revert:
breaking bots
Original issue's description:
> Refactor how we store and use samplers in Ganesh
>
> The main goal of this refactorization is to allow Vulkan to use separate
> sampler and texture objects in the shader and descriptor sets and combine
> them into a sampler2d in the shader where needed.
>
> A large part of this is separating how we store samplers and uniforms in the
> UniformHandler. We no longer need to store handles to samplers besides when
> we are initially emitting code. After we emit code all we ever do is loop over
> all samplers and do some processor independent work on them, so we have no need
> for direct access to individual samplers.
>
> In the GLProgram all we ever do is set the sampler uniforms in the ctor and never
> touch them again, so no need to save sampler info there. The texture access on
> program reuse just assume that they come in the same order as we set the texture
> units for the samplers
>
> For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers,
> then when we get new textures, we just assume they come in in the same order as we
> set the samplers on the descriptor sets. Thus no need to save direct vulkan info.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885863004
>
> Committed: https://skia.googlesource.com/skia/+/45b61a1c4c0be896e7b12fd1405abfece799114f
TBR=bsalomon@google.com ,jvanverth@google.com,cdalton@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1896013003
2016-04-19 15:24:29 -07:00
egdaniel
45b61a1c4c
Refactor how we store and use samplers in Ganesh
...
The main goal of this refactorization is to allow Vulkan to use separate
sampler and texture objects in the shader and descriptor sets and combine
them into a sampler2d in the shader where needed.
A large part of this is separating how we store samplers and uniforms in the
UniformHandler. We no longer need to store handles to samplers besides when
we are initially emitting code. After we emit code all we ever do is loop over
all samplers and do some processor independent work on them, so we have no need
for direct access to individual samplers.
In the GLProgram all we ever do is set the sampler uniforms in the ctor and never
touch them again, so no need to save sampler info there. The texture access on
program reuse just assume that they come in the same order as we set the texture
units for the samplers
For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers,
then when we get new textures, we just assume they come in in the same order as we
set the samplers on the descriptor sets. Thus no need to save direct vulkan info.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885863004
Review URL: https://codereview.chromium.org/1885863004
2016-04-19 14:45:57 -07:00
cdalton
74b8d32332
Implement texel buffers
...
Adds a mechanism for processors to add buffer accesses and implements
them in the GL backend.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1870893002
Review URL: https://codereview.chromium.org/1870893002
2016-04-11 14:47:28 -07:00
cdalton
3f6f76f98b
Rename EmitArgs::fSamplers to fTexSamplers
...
Renames fSamplers to fTexSamplers in GrProcessor EmitArgs, and renames
GrGLSLTextureSampler to GrGLSLSampler. This will allow us to add a
second array of buffer samplers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862373003
Review URL: https://codereview.chromium.org/1862373003
2016-04-11 12:18:09 -07:00
ethannicholas
8ef9108066
Revert of added GrMSAAPathRenderer (patchset #9 id:160001 of https://codereview.chromium.org/1834133003/ )
...
Reason for revert:
driver crash on Windows
Original issue's description:
> added GrMSAAPathRenderer
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834133003
>
> Committed: https://skia.googlesource.com/skia/+/47a2dc8e229e93e1bcf7405747320920da1ab742
>
> Committed: https://skia.googlesource.com/skia/+/b0fabd4ed55abcb6f5ed2f331c96c783f42bd37c
TBR=bsalomon@google.com ,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1853223003
2016-04-04 11:41:30 -07:00
ethannicholas
b0fabd4ed5
added GrMSAAPathRenderer
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834133003
Committed: https://skia.googlesource.com/skia/+/47a2dc8e229e93e1bcf7405747320920da1ab742
Review URL: https://codereview.chromium.org/1834133003
2016-04-04 11:00:00 -07:00
ethannicholas
c03afd672c
Revert of added GrMSAAPathRenderer (patchset #8 id:140001 of https://codereview.chromium.org/1834133003/ )
...
Reason for revert:
nanobench failure
Original issue's description:
> added GrMSAAPathRenderer
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834133003
>
> Committed: https://skia.googlesource.com/skia/+/47a2dc8e229e93e1bcf7405747320920da1ab742
TBR=bsalomon@google.com ,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1860563002
2016-04-04 08:27:03 -07:00
ethannicholas
47a2dc8e22
added GrMSAAPathRenderer
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834133003
Review URL: https://codereview.chromium.org/1834133003
2016-04-04 07:57:39 -07:00
bsalomon
062bd86033
Expose GrGLAssembleInterface
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842363003
Review URL: https://codereview.chromium.org/1842363003
2016-03-31 10:22:20 -07:00
bsalomon
3724e574a7
Move SkGLContext and some GrGLInterface implementations to skgputest module
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58
Review URL: https://codereview.chromium.org/1815823002
2016-03-30 18:56:20 -07:00
robertphillips
6f70d43719
Revert of Move SkGLContext and some GrGLInterface implementations to skgputest module (patchset #13 id:240001 of https://codereview.chromium.org/1815823002/ )
...
Reason for revert:
red bots
Original issue's description:
> Move SkGLContext and some GrGLInterface implementations to skgputest module
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002
> CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58
TBR=jvanverth@google.com ,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1845473004
2016-03-30 09:26:24 -07:00
bsalomon
fe3456cb00
Move SkGLContext and some GrGLInterface implementations to skgputest module
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/1815823002
2016-03-30 08:35:09 -07:00
jvanverth
e50f3e7539
Add WSI functions to GrVkInterface
...
BUG=skia:5043
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834903003
Review URL: https://codereview.chromium.org/1834903003
2016-03-28 07:03:06 -07:00
cdalton
397536cabe
Consolidate GPU buffer implementations
...
Consolidates all the different buffer implementations into a single
GrBuffer class. This will allow us to add new buffer types, use DSA in
OpenGL, track buffer bindings by unique ID, cache buffers without
respect to the type of data they have been used for previously, etc.
This change is strictly a refactor; it introduces no change in
functionality.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002
Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f
Review URL: https://codereview.chromium.org/1825393002
2016-03-25 12:15:03 -07:00
robertphillips
f8c3ba40cf
Revert of Consolidate GPU buffer implementations (patchset #10 id:180001 of https://codereview.chromium.org/1825393002/ )
...
Reason for revert:
Lots of Android redness
Original issue's description:
> Consolidate GPU buffer implementations
>
> Consolidates all the different buffer implementations into a single
> GrBuffer class. This will allow us to add new buffer types, use DSA in
> OpenGL, track buffer bindings by unique ID, cache buffers without
> respect to the type of data they have been used for previously, etc.
> This change is strictly a refactor; it introduces no change in
> functionality.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002
>
> Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f
TBR=bsalomon@google.com ,egdaniel@google.com,jvanverth@google.com,cdalton@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1831133004
2016-03-25 04:55:59 -07:00
cdalton
8b1bff2967
Consolidate GPU buffer implementations
...
Consolidates all the different buffer implementations into a single
GrBuffer class. This will allow us to add new buffer types, use DSA in
OpenGL, track buffer bindings by unique ID, cache buffers without
respect to the type of data they have been used for previously, etc.
This change is strictly a refactor; it introduces no change in
functionality.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002
Review URL: https://codereview.chromium.org/1825393002
2016-03-25 01:54:55 -07:00
egdaniel
22281c13a1
Set up cache in vulkan to reuse GrVkPrograms (aka VkPipelines)
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1816153002
Review URL: https://codereview.chromium.org/1816153002
2016-03-23 13:49:40 -07:00
jvanverth
633b35657c
GrVkGpu initialization cleanup.
...
Add GrVkBackendContext for GrVkGpu initialization
Add missing extension initialization
Use device function pointers rather than instance
BUG=skia:5116
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825593002
Review URL: https://codereview.chromium.org/1825593002
2016-03-23 11:01:22 -07:00
bsalomon
3c481001b1
Make the debug interface a GrGLTestInterface subclass.
...
The debug interface subsumes the GrDebugGL singleton which allows multiple instances.
Fixes a few issues that existed before this CL (pack alignment wasn't tracked or respected, and we weren't initializing a texture id to 0 in one GM). Apparently this is not currently run on the bots.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812323002
Review URL: https://codereview.chromium.org/1812323002
2016-03-21 09:04:26 -07:00
jvanverth
d2497f35ce
Enable extension support and debug layer.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785813002
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1785813002
2016-03-18 12:39:05 -07:00
bsalomon
b5a94e3e24
Store null GL context's state in interface object
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1814113002
Review URL: https://codereview.chromium.org/1814113002
2016-03-18 12:07:24 -07:00
jvanverth
fd359caf0c
Implement Vulkan GrBackendObject for textures.
...
BUG=skia:5043
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1808263002
Review URL: https://codereview.chromium.org/1808263002
2016-03-18 11:57:24 -07:00
egdaniel
0e1853c896
Update how we send draws to gpu backend to reduce state setting.
...
The main change here is that we pull primitive type off of the vertices, we set the gpu state on gpu once per pipeline/prim proc draw batch, and we create the ProgramDescriptor only for the Cache/ProgramBuilder.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1806983002
Review URL: https://codereview.chromium.org/1806983002
2016-03-17 11:35:45 -07:00
robertphillips
391395dcfb
Begin weaning GrClipMaskManager off of GrDrawTarget (take 2)
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003
Committed: https://skia.googlesource.com/skia/+/86c60758e9e4f9e203d7462cb22b2a245a0f51bd
Review URL: https://codereview.chromium.org/1754563003
2016-03-02 09:26:36 -08:00
robertphillips
8b8f36fc49
Revert of Begin weaning GrClipMaskManager off of GrDrawTarget (take 2) (patchset #7 id:120001 of https://codereview.chromium.org/1754563003/ )
...
Reason for revert:
fAuditTrail
Original issue's description:
> Begin weaning GrClipMaskManager off of GrDrawTarget (take 2)
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003
>
> Committed: https://skia.googlesource.com/skia/+/86c60758e9e4f9e203d7462cb22b2a245a0f51bd
TBR=joshualitt@chromium.org ,bsalomon@google.com,joshualitt@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1754353002
2016-03-02 08:53:12 -08:00
robertphillips
86c60758e9
Begin weaning GrClipMaskManager off of GrDrawTarget (take 2)
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1754563003
Review URL: https://codereview.chromium.org/1754563003
2016-03-02 08:43:13 -08:00
robertphillips
2a7cf5f509
Revert of Generate Signed Distance Field directly from vector path (patchset #13 id:240001 of https://codereview.chromium.org/1643143002/ )
...
Reason for revert:
This patch seems to be generating the assert:
GrDistanceFieldGenFromVector.cpp:748: fatal error: ""0 && \"Winding number should be zero at the end of a scan line.\"""
Original issue's description:
> Generate Signed Distance Field directly from vector path
>
> Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
> Currently only support even odd fill type.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002
>
> Committed: https://skia.googlesource.com/skia/+/4de97a64e8829323a7070b623411d9f9ddb0cd0f
TBR=bsalomon@google.com ,jvanverth@google.com,mtklein@google.com,wasim.abbas@arm.com,joel.liang@arm.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1757913002
2016-03-02 05:36:30 -08:00
joel.liang
4de97a64e8
Generate Signed Distance Field directly from vector path
...
Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath.
Currently only support even odd fill type.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002
Review URL: https://codereview.chromium.org/1643143002
2016-03-01 18:29:32 -08:00
jvanverth
992ad363d7
Add back Vk files with LF endings
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745433002
Review URL: https://codereview.chromium.org/1745433002
2016-02-26 09:21:02 -08:00
jvanverth
e02918dc34
Remove Vk files with spurious CRLFs
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1726403007
Review URL: https://codereview.chromium.org/1726403007
2016-02-26 09:05:27 -08:00
egdaniel
42701e98e1
Add VkProgramDataManager back into to repo
...
Confirmed that this is concidered a plain ASCII file with no CR
TBR=jvanverth@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743593002
Review URL: https://codereview.chromium.org/1743593002
2016-02-26 08:02:55 -08:00
egdaniel
89a60297fa
Try to fix broken file by just deleting it.
...
Will try re uploading fixed version after.
TBR=jvanverth@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737763003
Review URL: https://codereview.chromium.org/1737763003
2016-02-26 07:40:52 -08:00
bsalomon
7499e69d99
Incorporate Vulkan files into main gpu.gyp/gpu.gypi
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718273002
Review URL: https://codereview.chromium.org/1718273002
2016-02-22 12:13:19 -08:00
joshualitt
8e84a1ed07
Delete GrTextContext
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1699073004
Review URL: https://codereview.chromium.org/1699073004
2016-02-16 11:09:25 -08:00
joshualitt
96880d9e36
Create GrPathRenderingDrawContext
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1701013002
Review URL: https://codereview.chromium.org/1701013002
2016-02-16 10:36:53 -08:00
joshualitt
ddd22d8645
Remove last bit of privacy violation for GrAtlasTextBlob
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1698503002
Review URL: https://codereview.chromium.org/1698503002
2016-02-16 06:47:52 -08:00
egdaniel
2829bb7b9e
Make helper function on GrGLSLProgramDataManager non virtual
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663833002
Review URL: https://codereview.chromium.org/1663833002
2016-02-03 09:52:51 -08:00
bsalomon
f267c1efe7
Add ability to extract YUV planes from SkImage
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1513393002
Review URL: https://codereview.chromium.org/1513393002
2016-02-01 13:16:14 -08:00
ethannicholas
2279325d53
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
Review URL: https://codereview.chromium.org/1541903002
2016-01-30 09:59:10 -08:00
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
joshualitt
102081aba2
move GrGLPathProcessor back into GrPathProcessor
...
BUG=skia:
Review URL: https://codereview.chromium.org/1333423003
2015-09-11 11:52:17 -07:00
joshualitt
d8dd47b5fa
remove path specific program building classes
...
BUG=skia:
Review URL: https://codereview.chromium.org/1336763003
2015-09-11 11:45:01 -07:00
joshualitt
e7afc2d85b
Start trying to collapse path program stuff
...
BUG=skia:
Review URL: https://codereview.chromium.org/1333273003
2015-09-11 10:44:14 -07:00
bsalomon
512be5340c
Cleanup GrDrawTarget now that all paths lead to GrBatch
...
Review URL: https://codereview.chromium.org/1315513008
2015-09-10 10:42:55 -07:00
wangyix
809e5afdd9
Brian requested a new namespace for factories that create fragment processors that combine 2 things with a xfermode. This way, we can change the implementation of these factories in the future to not use GrComposeEffect if desired.
...
BUG=skia:4182
Review URL: https://codereview.chromium.org/1306163005
2015-09-09 12:58:32 -07:00
bsalomon
1fcc01c415
GrPathRangeBatch
...
BUG=skia:
Review URL: https://codereview.chromium.org/1315563003
2015-09-09 09:48:06 -07:00
reed
43fe6185c5
refactor parts of SkGr.cpp for use by SkImages
...
BUG=skia:
Review URL: https://codereview.chromium.org/1315353006
2015-09-08 08:37:36 -07:00
joshualitt
0cffb171eb
Remove GrAddPathRenderers_default
...
BUG=skia:
Review URL: https://codereview.chromium.org/1311673014
2015-09-02 08:42:16 -07:00
joshualitt
6335a72976
Move PathRenderers to batches folder
...
BUG=skia:
Review URL: https://codereview.chromium.org/1306143005
2015-09-01 06:50:55 -07:00
bsalomon
c21b09eec9
Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
...
Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
Review URL: https://codereview.chromium.org/1316513002
2015-08-28 18:46:56 -07:00
rmistry
a511e6ad10
Revert of Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ )
...
Reason for revert:
Primary suspect in failing DEPS rolls:
* https://codereview.chromium.org/1315753006
* https://codereview.chromium.org/1308323006
* https://codereview.chromium.org/1320903004
Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005
Original issue's description:
> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
>
> Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
TBR=joshualitt@google.com ,wangyix@google.com,robertphillips@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1313573005
2015-08-28 17:16:50 -07:00