robertphillips
28a838e532
Move GrPipelineBuilder out of gms & reduce use of GrPipelineBuilder.h
...
Just another step in reining in the GrPLB
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086293006
Review-Url: https://codereview.chromium.org/2086293006
2016-06-23 14:07:00 -07:00
jbauman
b445a57e6c
Add NV12 texture conversion support.
...
If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same,
then treat the input as NV12 and sample from the g component of texture
2.
BUG=skia:5209
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002
Review-Url: https://codereview.chromium.org/2016593002
2016-06-09 13:24:48 -07:00
bungeman
06ca8ec87c
sk_sp for Ganesh.
...
Convert use of GrFragmentProcessor, GrGeometryProcessor, and
GrXPFactory to sk_sp. This clarifies ownership and should
reduce reference count churn by moving ownership.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004
Review-Url: https://codereview.chromium.org/2041113004
2016-06-09 08:01:03 -07:00
brianosman
982eb7f377
Add new SkSourceGammaTreatment enum, used in situations like mipmap construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037413002
Review-Url: https://codereview.chromium.org/2037413002
2016-06-06 13:10:58 -07:00
robertphillips
55fdcccf01
Remove GrRenderTarget from GrPipelineBuilder
...
This used to be "Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder"
but has been split into:
https://codereview.chromium.org/1993263002/ (Make GrAppliedClip friendless)
https://codereview.chromium.org/1997773002/ (Retract GrRenderTarget from GLProgramsTest)
https://codereview.chromium.org/1993403002/ (GrSWMaskHelper and GrSoftwarePathRenderer only need the textureProvider (not GrContext))
https://codereview.chromium.org/2004433002/ (Retract GrRenderTarget from GrTestTarget)
https://codereview.chromium.org/2015333002/ (Change parameters to GrPipelineBuilder's ctor)
https://codereview.chromium.org/2035823002/ (Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1988923002
Review-Url: https://codereview.chromium.org/1988923002
2016-06-06 06:16:21 -07:00
robertphillips
175dd9b5e3
Clean up test drawContext usage
...
The general idea is to provide access to SkGpuDevice's drawContext rather than its GrRenderTarget. That is usually what the testing framework actually wants.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930623003
Review-Url: https://codereview.chromium.org/1930623003
2016-04-28 14:32:04 -07:00
robertphillips
6c7e325236
Bring sk_sp to GrDrawContext
...
This is split out of: https://codereview.chromium.org/1914883002/ (Refactor drawContext/RenderTarget creation)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918003003
Review-Url: https://codereview.chromium.org/1918003003
2016-04-27 10:47:51 -07:00
halcanary
9d524f22bf
Style bikeshed - remove extraneous whitespace
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002
Review URL: https://codereview.chromium.org/1842753002
2016-03-29 09:03:53 -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
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
joshualitt
04194f32f4
Remove two varieties of drawNonAARect from GrDrawTarget
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584703003
Review URL: https://codereview.chromium.org/1584703003
2016-01-13 10:08:27 -08:00
egdaniel
c4b72720e7
Don't create a GXPFactory when blend is SrcOver
...
BUG=skia:
Review URL: https://codereview.chromium.org/1471053002
2015-11-23 13:20:42 -08:00
robertphillips
504ce5dc77
Optionally pass rendertarget to getTestTarget
...
This shouldn't really make any difference but allocating and holding on to a GrRenderTarget for each test target generates image differences for Mali GPUs. This CL allows an existing render target to be used for the test target.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1447113002
2015-11-16 11:02:05 -08: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
halcanary
2a24338c77
GM: replace boilerplate with macros
...
I have verified locally that nothing draws differently.
Motivation:
* SK_SIMPLE_GM makes it easier to write a GM.
* Reducing 1100 lines of code makes maintenance easier.
* Simple GMs are easy to convert to Fiddles.
Review URL: https://codereview.chromium.org/1333553002
2015-09-09 08:16:41 -07:00
halcanary
96fcdcc219
Style Change: NULL->nullptr
...
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
bsalomon
ac856c97ac
Remove GrStagedProcessor, remove the word Stage as it applies to FPs
...
Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7
Review URL: https://codereview.chromium.org/1307223004
2015-08-27 06:30:17 -07:00
halcanary
385fe4d4b6
Style Change: SkNEW->new; SkDELETE->delete
...
DOCS_PREVIEW= https://skia.org/?cl=1316123003
Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
rmistry
4bf69f7bbc
Revert of Remove GrStagedProcessor, remove the word Stage as it applies to FPs (patchset #6 id:90001 of https://codereview.chromium.org/1307223004/ )
...
Reason for revert:
Causes bot failures:
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1639
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/1702
https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-NexusPlayer-GPU-PowerVR-x86-Debug/builds/1223
Original issue's description:
> Remove GrStagedProcessor, remove the word Stage as it applies to FPs
>
> Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7
TBR=joshualitt@google.com ,egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1306803003
2015-08-26 06:48:27 -07:00
bsalomon
24243446cd
Remove GrStagedProcessor, remove the word Stage as it applies to FPs
...
Review URL: https://codereview.chromium.org/1307223004
2015-08-26 05:39:18 -07:00
joshualitt
d2b23e0ee6
Standardize BW to NonAA
...
TBR=bsalomon@google.com , robertphillips@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1310533004
2015-08-21 10:53:34 -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
rileya
134003902d
Add Rec709 YUV color space support to GrYUVtoRGBEffect.
...
This change is motivated by a recent switch in how chromium handles
<video> color spaces, making rec709 more commonly used. This will
allow video -> canvas copies to take the fast GPU path when we're using
709, just as we do with 601 and jpeg.
Chromium-side change: https://codereview.chromium.org/1236313002
Review URL: https://codereview.chromium.org/1241723005
2015-07-20 15:00:03 -07:00
joshualitt
1c735488cb
Start to propagate constness of GrPipelineBuilder up the stack
...
BUG=skia:
Review URL: https://codereview.chromium.org/1229143007
2015-07-13 08:08:25 -07:00
joshualitt
2cdec31c29
YUV to RGB Texture threading GrProcessorDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1230803002
2015-07-09 07:31:32 -07:00
mtklein
36352bf5e3
C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}
...
NOPRESUBMIT=true
BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002
Review URL: https://codereview.chromium.org/1037793002
2015-03-25 18:17:32 -07: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
sugoi
4ccce7ea61
YUV scale fix
...
There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.
BUG=457954
Committed: https://skia.googlesource.com/skia/+/e6eddf7dd85add7da41f22f2643bdd573ad1f1cf
Review URL: https://codereview.chromium.org/922273002
2015-02-13 13:57:09 -08:00
jvanverth
0ff748ace6
Revert of YUV scale fix (patchset #2 id:20001 of https://codereview.chromium.org/922273002/ )
...
Reason for revert:
Turning Windows compile bots red.
Original issue's description:
> YUV scale fix
>
> There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.
>
> BUG=457954
>
> Committed: https://skia.googlesource.com/skia/+/e6eddf7dd85add7da41f22f2643bdd573ad1f1cf
TBR=bsalomon@google.com ,sugoi@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=457954
Review URL: https://codereview.chromium.org/926123002
2015-02-13 12:02:23 -08:00
sugoi
e6eddf7dd8
YUV scale fix
...
There was a scaling mistake visible in some JPEG images because the ratio between Y, U and V planes were assumed to be the same ratios as the ratio between texture sizes, which was wrong because texture have a minimum size of 16 and are rounded up to the next POT. Since the ratios between Y and UV planes are generally 1, 2 or 4, rounding up to the next POT would generally preserve this ratio, so that this bug was not very visible, apart from very small jpeg images of 8 or less pixels in either width or height.
BUG=457954
Review URL: https://codereview.chromium.org/922273002
2015-02-13 11:47:11 -08:00
bsalomon
b62da80cbf
Add standard way to indicate GM is GPU-only.
...
TBR=egdaniel@google.com ,mtklein@google.com
Review URL: https://codereview.chromium.org/869393007
2015-01-31 07:51:14 -08:00
mtklein
1c4029296f
remove unused GM flags
...
Depends on https://codereview.chromium.org/873753002/
Thumbs up to CLion for refactoring this for me.
BUG=skia:
Review URL: https://codereview.chromium.org/867963004
2015-01-23 11:07:08 -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
mtklein
72c9faab45
Fix up all the easy virtual ... SK_OVERRIDE cases.
...
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.
for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end
BUG=skia:
Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
joshualitt
8059eb9f6e
Move ViewMatrix off of drawstate
...
BUG=skia:
Review URL: https://codereview.chromium.org/815553003
2014-12-29 15:10:07 -08:00
joshualitt
2e3b3e369d
This cl moves color and coverage off of drawstate. In an effort to keep this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated).
...
In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs.
BUG=skia:
Review URL: https://codereview.chromium.org/783763002
2014-12-09 13:31:15 -08:00
joshualitt
9853ccef19
Drawstate on stack
...
BUG=skia:
Review URL: https://codereview.chromium.org/732693002
2014-11-17 14:22:49 -08:00
bsalomon
bcf0a52d4f
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-08 08:40:09 -07:00
Brian Salomon
9323b8b8e1
Revert "GrResourceCache2 manages scratch texture."
...
This reverts commit d14e1a2764
.
2014-10-07 15:07:38 -04:00
bsalomon
d14e1a2764
GrResourceCache2 manages scratch texture.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
2014-10-07 07:27:07 -07:00
robertphillips
dbe6074a06
Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/ )
...
Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio )
Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio )
Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/611383003
2014-09-30 06:54:17 -07:00
bsalomon
3d398c8764
GrResourceCache2 manages scratch texture.
...
BUG=skia:
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/608883003
2014-09-30 06:02:23 -07:00
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
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
rileya
abaef86f2b
Add support for the Rec601 YUV color space to GrYUVtoRGBEffect.
...
R=bsalomon@google.com , senorblanco@chromium.org , sugoi@chromium.org , reed@google.com
Author: rileya@chromium.org
Review URL: https://codereview.chromium.org/516463005
2014-09-12 17:45:58 -07:00
bsalomon
83d081ae1d
Goodbye GrEffectRef.
...
Also, reworked some var names and comments around SkShader::asNewEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/374923002
2014-07-08 09:56:11 -07:00
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