brianosman
b461d34575
Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate
...
Trying to be much more explicit about where we really mean sRGB as a format,
and where we mean gamma-correct, as in: "not legacy behavior". Most of the
changes to rendering behavior are dependent on the latter, so let's be precise.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884873006
Review URL: https://codereview.chromium.org/1884873006
2016-04-13 13:10:14 -07:00
brianosman
898235c486
SkSurfaceProps now has a gamma-correct ("AllowSRGBInputs") flag. That's propagated in a few places so that the backend can do the right thing for L32 vs S32 mode.
...
Also added SkSurfaceProps to SkSpecialImage, so that Image -> Surface conversion can preserve the desired behavior during filtering.
Many small changes, including a bunch of comments about places where we may be losing information right now. My approach was to ensure that if anything fails, it will always fall back to "legacy" mode - gamma-correctness is opt-in, so I'll just have to feed things through as missing cases are exposed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838953007
Review URL: https://codereview.chromium.org/1845283003
2016-04-06 07:38:23 -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
4bc31815ba
Make GrDrawContext::internalDrawPath cons up its own GrPipelineBuilder
...
Hopefully, this better defines (and reduces) the lifetime and reuse of GrPipelineBuilder objects in GrDrawContext.
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1730903007
Committed: https://skia.googlesource.com/skia/+/00fddebe56fabea67dcc08762805c1294eebf5bf
Review URL: https://codereview.chromium.org/1730903007
2016-03-01 12:22:49 -08:00
robertphillips
000958973f
Move drawDRRect back to GrDrawContext
...
This still leaves GrDrawContext fiddling around with specialized fragment processors but it does allow for different handling of the DRRects (e.g., for instanced drawing).
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1750533003
Review URL: https://codereview.chromium.org/1750533003
2016-02-29 13:50:40 -08:00
ethannicholas
d2c7791233
Revert of Make GrDrawContext::internalDrawPath cons up its own GrPipelineBuilder (patchset #3 id:40001 of https://codereview.chromium.org/1730903007/ )
...
Reason for revert:
Got a GL-related crash in nanobench:
https://uberchromegw.corp.google.com/i/client.skia.android/builders/Perf-Android-GCC-Nexus10-GPU-MaliT604-Arm7-Release/builds/3815/steps/nanobench/logs/stdio
Given we're about to branch and this is the only GL-related change in the blamelist, I'm going to assume this is responsible and revert.
Original issue's description:
> Make GrDrawContext::internalDrawPath cons up its own GrPipelineBuilder
>
> Hopefully, this better defines (and reduces) the lifetime and reuse of GrPipelineBuilder objects in GrDrawContext.
>
> TBR=bsalomon@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1730903007
>
> Committed: https://skia.googlesource.com/skia/+/00fddebe56fabea67dcc08762805c1294eebf5bf
TBR=joshualitt@chromium.org ,bsalomon@google.com,robertphillips@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/1737373002
2016-02-25 13:43:16 -08:00
robertphillips
00fddebe56
Make GrDrawContext::internalDrawPath cons up its own GrPipelineBuilder
...
Hopefully, this better defines (and reduces) the lifetime and reuse of GrPipelineBuilder objects in GrDrawContext.
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1730903007
Review URL: https://codereview.chromium.org/1730903007
2016-02-25 12:56:50 -08:00
robertphillips
d77061067a
Mv DRRect drawing code from GrDrawContext into SkGpuDevice
...
This is a TODO left over from https://codereview.chromium.org/1731413002/ (Hide GrDrawTarget from GrOvalRenderer). It is desireable since the GrDrawContext doesn't, in general, manipulate GrFragmentProcessors.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1733993003
Review URL: https://codereview.chromium.org/1733993003
2016-02-25 09:28:08 -08:00
joshualitt
8db867820b
Fix memory leak
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1706773002
Review URL: https://codereview.chromium.org/1706773002
2016-02-17 05:40:00 -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
bsalomon
b8fea97a7a
Make copySurface work for texture dsts, return a bool, & add unit test.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002
Committed: https://skia.googlesource.com/skia/+/7ea5e28065e5eb797e95f5d81c1a65cf3209d741
Review URL: https://codereview.chromium.org/1684313002
2016-02-16 07:34:17 -08:00
kjlubick
0eed945294
Revert of Make copySurface work for texture dsts, return a bool, & add unit test. (patchset #6 id:100001 of https://codereview.chromium.org/1684313002/ )
...
Reason for revert:
Copy surface tests are not happy for Windows, Android and probably others:
https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/4161
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Release/builds/3694
Original issue's description:
> Make copySurface work for texture dsts, return a bool, & add unit test.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002
>
> Committed: https://skia.googlesource.com/skia/+/7ea5e28065e5eb797e95f5d81c1a65cf3209d741
TBR=robertphillips@google.com ,bsalomon@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/1690053002
2016-02-11 12:05:24 -08:00
bsalomon
7ea5e28065
Make copySurface work for texture dsts, return a bool, & add unit test.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002
Review URL: https://codereview.chromium.org/1684313002
2016-02-11 11:42:31 -08:00
joshualitt
1b39f43941
Pass a GrContext pointer in GrDrawContext constructor
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1691503002
Review URL: https://codereview.chromium.org/1691503002
2016-02-11 06:46:52 -08:00
joshualitt
f5883a6d75
Hide drawBatch on GrDrawTarget from test Methods
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574383002
Review URL: https://codereview.chromium.org/1574383002
2016-01-13 07:47:38 -08:00
joshualitt
bc90735170
GrAuditTrail hooks in GrContext + GrDrawContext
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1580023002
Review URL: https://codereview.chromium.org/1580023002
2016-01-13 06:45:40 -08:00
joshualitt
6d0872d9bd
Reland of Add guards to GrTextureProvider (patchset #1 id:1 of https://codereview.chromium.org/1565313003/ )
...
Reason for revert:
should be fixed
Original issue's description:
> Revert of Add guards to GrTextureProvider (patchset #5 id:80001 of https://codereview.chromium.org/1567983002/ )
>
> Reason for revert:
> breaking asan bot
>
> Original issue's description:
> > Add guards to GrTextureProvider
> >
> > TBR=bsalomon@google.com
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002
> >
> > Committed: https://skia.googlesource.com/skia/+/b30dd1db1d914b85a691b4724713ba1b0f16cd6c
>
> TBR=robertphillips@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:
>
> Committed: https://skia.googlesource.com/skia/+/9a9515e081c54efdd5a0b0
f662c013cbeef6d63f
TBR=bsalomon@google.com
TBR=robertphillips@google.com ,joshualitt@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
Review URL: https://codereview.chromium.org/1575093002
2016-01-11 08:27:48 -08:00
joshualitt
de8dc7e920
Reland of Make a single GrSingleOwner in GrContext (patchset #1 id:1 of https://codereview.chromium.org/1565303003/ )
...
Reason for revert:
trying again
Original issue's description:
> Revert of Make a single GrSingleOwner in GrContext (patchset #3 id:40001 of https://codereview.chromium.org/1563703004/ )
>
> Reason for revert:
> breaking asan
>
> Original issue's description:
> > Make a single GrSingleOwner in GrContext
> >
> > TBR=bsalomon@google.com
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
> >
> > Committed: https://skia.googlesource.com/skia/+/f9bc796e0dbd31674c22b34761913ee6e8fdd66a
>
> TBR=robertphillips@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:
>
> Committed: https://skia.googlesource.com/skia/+/94da292e39db0d41da08b1d6055ca5e0d6b498cc
TBR=robertphillips@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:
Review URL: https://codereview.chromium.org/1572653002
2016-01-08 10:09:13 -08:00
joshualitt
94da292e39
Revert of Make a single GrSingleOwner in GrContext (patchset #3 id:40001 of https://codereview.chromium.org/1563703004/ )
...
Reason for revert:
breaking asan
Original issue's description:
> Make a single GrSingleOwner in GrContext
>
> TBR=bsalomon@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
>
> Committed: https://skia.googlesource.com/skia/+/f9bc796e0dbd31674c22b34761913ee6e8fdd66a
TBR=robertphillips@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:
Review URL: https://codereview.chromium.org/1565303003
2016-01-07 13:22:24 -08:00
joshualitt
9a9515e081
Revert of Add guards to GrTextureProvider (patchset #5 id:80001 of https://codereview.chromium.org/1567983002/ )
...
Reason for revert:
breaking asan bot
Original issue's description:
> Add guards to GrTextureProvider
>
> TBR=bsalomon@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002
>
> Committed: https://skia.googlesource.com/skia/+/b30dd1db1d914b85a691b4724713ba1b0f16cd6c
TBR=robertphillips@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:
Review URL: https://codereview.chromium.org/1565313003
2016-01-07 13:17:39 -08:00
joshualitt
b30dd1db1d
Add guards to GrTextureProvider
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567983002
Review URL: https://codereview.chromium.org/1567983002
2016-01-07 12:52:05 -08:00
joshualitt
f9bc796e0d
Make a single GrSingleOwner in GrContext
...
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563703004
Review URL: https://codereview.chromium.org/1563703004
2016-01-07 11:32:40 -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
joshualitt
2e2202e95e
Move flush logic into GrAtlasTextBlob
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1518763002
2015-12-10 11:22:08 -08:00
cdalton
8ff8d24c83
Remove drawPathsFromRange from GrDrawContext
...
Replaces drawPathsFromRange with a more general drawPathBatch method.
While this still isn't perfect, it's a step in the right direction that
removes the need for path range draws to fit in a public API.
BUG=skia:
Review URL: https://codereview.chromium.org/1506823004
2015-12-08 10:20:32 -08:00
robertphillips
433625e67c
Reduce calls sites where both the GrDrawContext & GrRenderTarget are both passed
...
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1494083003
2015-12-04 06:58:16 -08:00
robertphillips
7bceedc550
Retract GrRenderTarget a bit
...
These sites don't necessarily need the full power of a GrRenderTarget object. This is a clean up for switching over to GrRenderTargetProxys.
Review URL: https://codereview.chromium.org/1486923004
2015-12-01 12:51:26 -08:00
bsalomon
bf07455533
Make stencil and cover path rendering have more reasonable bounds.
...
BUG=skia:
Review URL: https://codereview.chromium.org/1471883002
2015-11-23 14:25:20 -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
bsalomon
a2e69fcded
Rename non-aa rect methods on GrDrawContext in anticipation of making them support aa
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/1409753008
2015-11-05 10:41:43 -08:00
robertphillips
b83bec5e04
Narrow the distribution of GrDrawTarget a bit
...
BUG=skia:4094
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1420043002
2015-10-23 09:38:03 -07:00
robertphillips
77a2e52c7d
Remove DrawingMgr shims from GrContext
...
BUG=skia:4094
Review URL: https://codereview.chromium.org/1413673002
2015-10-17 07:43:27 -07:00
robertphillips
a106c62753
Loosen requirement that there be only one GrDrawTarget
...
BUG=skia:4094
Review URL: https://codereview.chromium.org/1406173003
2015-10-16 09:07:06 -07:00
robertphillips
2e1e51f049
GrDrawContext now holds GrRenderTarget pointer
...
Review URL: https://codereview.chromium.org/1404823005
2015-10-15 08:01:49 -07:00
cdalton
8585dd26bf
Updates nvpr text blobs to not store a direct reference to the
...
per-glyph GPU path object, but rather store a key for looking it up in
the resource cache. This allows the cache to purge glyphs when needed.
Also indirectly fixes a memory leak that was introduced with nvpr text
blobs.
BUG=skia:
Review URL: https://codereview.chromium.org/1374853004
2015-10-08 08:04:09 -07:00
robertphillips
2d70dcbe5c
Dynamically allocate the GrDrawContexts
...
This CL moves the allocation and storage of the GrTextContexts into the DrawingManager. The GrDrawContexts now just get their GrTextContext from the DrawingManager.
Review URL: https://codereview.chromium.org/1375153007
2015-10-06 07:38:23 -07:00
joshualitt
f238469b05
Late creation of GrPathProcessor
...
BUG=skia:
Review URL: https://codereview.chromium.org/1337513002
2015-09-10 11:00:51 -07:00
bsalomon
1fcc01c415
GrPathRangeBatch
...
BUG=skia:
Review URL: https://codereview.chromium.org/1315563003
2015-09-09 09:48:06 -07:00
joshualitt
b6b513b805
Create separate entry points for the various flavors of drawRect
...
BUG=skia:
Review URL: https://codereview.chromium.org/1308503002
2015-08-21 10:25:18 -07:00
bsalomon
abd30f54b7
Introduce GrBatch subclasses GrDrawBatch and GrVertexBatch to prepare for non-drawing batches
...
Review URL: https://codereview.chromium.org/1293583002
2015-08-13 13:34:48 -07:00
joshualitt
b7ee1bf017
trivial CL to add drawBatch to GrDrawContext
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1282883002
2015-08-10 11:59:03 -07:00
jvanverth
31ff762dc8
First pass at drawAtlas batching.
...
Moves drawAtlas setup into its own method in GrDrawContext, and adds
DrawAtlasBatch.
Uses pre-built index buffer for quads.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1277933003
2015-08-07 10:09:28 -07:00
joshualitt
7b670db2b4
Remove setFromPaint from GrPipelineBuilder
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1227153003
2015-07-09 13:25:02 -07:00
mtklein
2766c00fc0
remove SkInstCnt
...
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/1217573002
2015-06-26 11:45:03 -07:00
robertphillips
fcf7829b67
remove SkDeviceProperties
...
There is a lot more clean up to do here but this is probably a big enough bite.
Review URL: https://codereview.chromium.org/1196683003
2015-06-19 11:49:52 -07:00
robertphillips
bcd7ab5c0d
Add useDFT field to SkDeviceProperties
...
Review URL: https://codereview.chromium.org/1191943002
2015-06-18 05:27:18 -07:00
robertphillips
2334fb655f
Make GrTextContext be owned by the GrDrawContext
...
This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant.
Some consequences of this are:
GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use.
All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one.
Committed: https://skia.googlesource.com/skia/+/5b16e740fe6ab6d679083d06f07651602265081b
Review URL: https://codereview.chromium.org/1175553002
2015-06-17 05:43:33 -07:00