diff --git a/src/gpu/ganesh/GrFragmentProcessor.cpp b/src/gpu/ganesh/GrFragmentProcessor.cpp index 933dd4391bc4..44c6b3b54d42 100644 --- a/src/gpu/ganesh/GrFragmentProcessor.cpp +++ b/src/gpu/ganesh/GrFragmentProcessor.cpp @@ -7,6 +7,8 @@ #include "src/gpu/ganesh/GrFragmentProcessor.h" +#include "include/core/SkM44.h" +#include "src/base/SkVx.h" #include "src/core/SkRuntimeEffectPriv.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrPipeline.h" diff --git a/src/gpu/ganesh/GrProcessorAnalysis.h b/src/gpu/ganesh/GrProcessorAnalysis.h index c39803d6a865..65f8030a7bb3 100644 --- a/src/gpu/ganesh/GrProcessorAnalysis.h +++ b/src/gpu/ganesh/GrProcessorAnalysis.h @@ -10,6 +10,8 @@ #include "include/private/SkColorData.h" +#include + class GrCaps; class GrDrawOp; class GrFragmentProcessor; diff --git a/src/gpu/ganesh/effects/GrBezierEffect.cpp b/src/gpu/ganesh/effects/GrBezierEffect.cpp index f576f62f38e9..a012aba43ec2 100644 --- a/src/gpu/ganesh/effects/GrBezierEffect.cpp +++ b/src/gpu/ganesh/effects/GrBezierEffect.cpp @@ -7,14 +7,20 @@ #include "src/gpu/ganesh/effects/GrBezierEffect.h" +#include "include/core/SkColor.h" +#include "src/base/SkRandom.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrShaderCaps.h" +#include "src/gpu/ganesh/GrColor.h" +#include "src/gpu/ganesh/GrShaderVar.h" +#include "src/gpu/ganesh/GrTestUtils.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" #include "src/gpu/ganesh/glsl/GrGLSLVarying.h" #include "src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h" +#include + class GrConicEffect::Impl : public ProgramImpl { public: void setData(const GrGLSLProgramDataManager& pdman, diff --git a/src/gpu/ganesh/effects/GrBezierEffect.h b/src/gpu/ganesh/effects/GrBezierEffect.h index 45e913e1278c..797ca34f4de7 100644 --- a/src/gpu/ganesh/effects/GrBezierEffect.h +++ b/src/gpu/ganesh/effects/GrBezierEffect.h @@ -8,12 +8,20 @@ #ifndef GrBezierEffect_DEFINED #define GrBezierEffect_DEFINED +#include "include/core/SkMatrix.h" +#include "include/private/SkColorData.h" #include "include/private/gpu/ganesh/GrTypesPriv.h" #include "src/base/SkArenaAlloc.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrGeometryProcessor.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/gpu/ganesh/GrShaderCaps.h" + +#include +#include + +namespace skgpu { class KeyBuilder; } /** * Shader is based off of Loop-Blinn Quadratic GPU Rendering @@ -55,8 +63,6 @@ * only one geometry would need to be rendered. However no benches were run comparing * chopped first order and non chopped 2nd order. */ -class GrGLConicEffect; - class GrConicEffect : public GrGeometryProcessor { public: static GrGeometryProcessor* Make(SkArenaAlloc* arena, @@ -117,8 +123,6 @@ class GrConicEffect : public GrGeometryProcessor { * Coverage for AA is min(0, 1-distance). 3rd & 4th cimponent unused. * Requires shader derivative instruction support. */ -class GrGLQuadEffect; - class GrQuadEffect : public GrGeometryProcessor { public: static GrGeometryProcessor* Make(SkArenaAlloc* arena, diff --git a/src/gpu/ganesh/effects/GrBicubicEffect.cpp b/src/gpu/ganesh/effects/GrBicubicEffect.cpp index 2aecdf6b91ae..78d321b528a2 100644 --- a/src/gpu/ganesh/effects/GrBicubicEffect.cpp +++ b/src/gpu/ganesh/effects/GrBicubicEffect.cpp @@ -7,15 +7,29 @@ #include "src/gpu/ganesh/effects/GrBicubicEffect.h" -#include "src/core/SkMatrixPriv.h" +#include "include/core/SkAlphaType.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkRect.h" +#include "include/core/SkString.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" +#include "src/gpu/ganesh/GrTestUtils.h" #include "src/gpu/ganesh/effects/GrMatrixEffect.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include "src/shaders/SkImageShader.h" +#include "src/sksl/SkSLString.h" + #include +#include +#include +#include class GrBicubicEffect::Impl : public ProgramImpl { public: @@ -99,8 +113,6 @@ void GrBicubicEffect::Impl::emitCode(EmitArgs& args) { fragBuilder->codeAppendf("return bicubicColor;"); } -#include "src/shaders/SkImageShader.h" - void GrBicubicEffect::Impl::onSetData(const GrGLSLProgramDataManager& pdm, const GrFragmentProcessor& fp) { auto& bicubicEffect = fp.cast(); diff --git a/src/gpu/ganesh/effects/GrBicubicEffect.h b/src/gpu/ganesh/effects/GrBicubicEffect.h index dd53f2712b02..f828c07a83c3 100644 --- a/src/gpu/ganesh/effects/GrBicubicEffect.h +++ b/src/gpu/ganesh/effects/GrBicubicEffect.h @@ -9,12 +9,21 @@ #define GrBicubicTextureEffect_DEFINED #include "include/core/SkSamplingOptions.h" +#include "include/private/SkColorData.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrSamplerState.h" -class GrInvariantOutput; +#include + +class GrCaps; class GrSurfaceProxyView; +class SkMatrix; +enum SkAlphaType : int; +struct GrShaderCaps; +struct SkRect; + +namespace skgpu { class KeyBuilder; } class GrBicubicEffect : public GrFragmentProcessor { public: diff --git a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp index 59e487080848..9d260e7cc29c 100644 --- a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp +++ b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp @@ -7,16 +7,30 @@ #include "src/gpu/ganesh/effects/GrBitmapTextGeoProc.h" +#include "include/core/SkSamplingOptions.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkMath.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" +#include "src/core/SkSLTypeShared.h" +#include "src/gpu/AtlasTypes.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrCaps.h" +#include "src/gpu/ganesh/GrColor.h" #include "src/gpu/ganesh/GrShaderCaps.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "src/gpu/ganesh/GrShaderVar.h" +#include "src/gpu/ganesh/GrSurfaceProxy.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" +#include "src/gpu/ganesh/GrTestUtils.h" #include "src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" #include "src/gpu/ganesh/glsl/GrGLSLVarying.h" -#include "src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h" + +#include + +class GrGLSLVertexBuilder; using MaskFormat = skgpu::MaskFormat; diff --git a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h index b406da3e23da..ff1ee619b352 100644 --- a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h +++ b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h @@ -8,15 +8,23 @@ #ifndef GrBitmapTextGeoProc_DEFINED #define GrBitmapTextGeoProc_DEFINED +#include "include/core/SkMatrix.h" +#include "include/core/SkSize.h" +#include "include/private/SkColorData.h" #include "src/base/SkArenaAlloc.h" -#include "src/gpu/AtlasTypes.h" #include "src/gpu/ganesh/GrGeometryProcessor.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/gpu/ganesh/GrSamplerState.h" + +#include -class GrGLBitmapTextGeoProc; -class GrInvariantOutput; class GrSurfaceProxyView; +struct GrShaderCaps; + +namespace skgpu { +class KeyBuilder; +enum class MaskFormat : int; +} /** * The output color of this effect is a modulation of the input color and a sample from a texture. diff --git a/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp b/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp index 76de557ab83a..411e3f441df9 100644 --- a/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp +++ b/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp @@ -7,15 +7,23 @@ #include "src/gpu/ganesh/effects/GrBlendFragmentProcessor.h" +#include "include/core/SkBlendMode.h" +#include "include/core/SkString.h" +#include "include/private/SkColorData.h" +#include "src/base/SkRandom.h" #include "src/core/SkBlendModePriv.h" #include "src/gpu/Blend.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" -#include "src/gpu/ganesh/SkGr.h" #include "src/gpu/ganesh/glsl/GrGLSLBlend.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" +#include + +class GrGLSLProgramDataManager; +struct GrShaderCaps; + // Some of the CPU implementations of blend modes differ from the GPU enough that // we can't use the CPU implementation to implement constantOutputForConstantInput. static inline bool does_cpu_blend_impl_match_gpu(SkBlendMode mode) { diff --git a/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h b/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h index e595e1e1ac96..9002f0d0593d 100644 --- a/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h +++ b/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h @@ -8,12 +8,12 @@ #ifndef GrBlendFragmentProcessor_DEFINED #define GrBlendFragmentProcessor_DEFINED -#include "include/core/SkBlendMode.h" -#include "include/core/SkRefCnt.h" +#include "src/gpu/ganesh/GrFragmentProcessor.h" #include +#include -class GrFragmentProcessor; +enum class SkBlendMode; namespace GrBlendFragmentProcessor { diff --git a/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp b/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp index 18b4959c4d58..5ca5d5a85d44 100644 --- a/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp +++ b/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp @@ -7,13 +7,29 @@ #include "src/gpu/ganesh/effects/GrConvexPolyEffect.h" +#include "include/core/SkPath.h" +#include "include/core/SkPoint.h" +#include "include/core/SkString.h" +#include "include/private/SkColorData.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkFloatingPoint.h" #include "include/private/base/SkPathEnums.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" #include "src/core/SkPathPriv.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include +#include +#include +#include + +struct GrShaderCaps; + ////////////////////////////////////////////////////////////////////////////// GrFPResult GrConvexPolyEffect::Make(std::unique_ptr inputFP, diff --git a/src/gpu/ganesh/effects/GrConvexPolyEffect.h b/src/gpu/ganesh/effects/GrConvexPolyEffect.h index 48a33953f030..e96ba28e1ccb 100644 --- a/src/gpu/ganesh/effects/GrConvexPolyEffect.h +++ b/src/gpu/ganesh/effects/GrConvexPolyEffect.h @@ -8,14 +8,20 @@ #ifndef GrConvexPolyEffect_DEFINED #define GrConvexPolyEffect_DEFINED -#include "include/private/gpu/ganesh/GrTypesPriv.h" -#include "src/gpu/ganesh/GrCaps.h" +#include "include/core/SkScalar.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/shaders/SkShaderBase.h" + +#include +#include +#include -class GrInvariantOutput; class SkPath; +enum class GrClipEdgeType; +struct GrShaderCaps; + +namespace skgpu { class KeyBuilder; } /** * An effect that renders a convex polygon. It is intended to be used as a coverage effect. diff --git a/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp b/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp index 0bd63adc46dc..5e1221420df2 100644 --- a/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp +++ b/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp @@ -7,14 +7,18 @@ #include "src/gpu/ganesh/effects/GrCoverageSetOpXP.h" +#include "include/private/SkColorData.h" +#include "include/private/base/SkAssert.h" +#include "src/base/SkRandom.h" +#include "src/gpu/Blend.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrCaps.h" -#include "src/gpu/ganesh/GrColor.h" -#include "src/gpu/ganesh/GrPipeline.h" #include "src/gpu/ganesh/GrXferProcessor.h" -#include "src/gpu/ganesh/glsl/GrGLSLBlend.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" + +#include + +enum class GrClampType; +struct GrShaderCaps; class CoverageSetOpXP : public GrXferProcessor { public: diff --git a/src/gpu/ganesh/effects/GrCoverageSetOpXP.h b/src/gpu/ganesh/effects/GrCoverageSetOpXP.h index 138398610f69..f43f616480cd 100644 --- a/src/gpu/ganesh/effects/GrCoverageSetOpXP.h +++ b/src/gpu/ganesh/effects/GrCoverageSetOpXP.h @@ -8,11 +8,15 @@ #ifndef GrCoverageSetOpXP_DEFINED #define GrCoverageSetOpXP_DEFINED +#include "include/core/SkRefCnt.h" #include "include/core/SkRegion.h" -#include "include/gpu/GrTypes.h" +#include "src/gpu/ganesh/GrCaps.h" +#include "src/gpu/ganesh/GrProcessorAnalysis.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrXferProcessor.h" +enum class GrClampType; + // See the comment above GrXPFactory's definition about this warning suppression. #if defined(__GNUC__) #pragma GCC diagnostic push diff --git a/src/gpu/ganesh/effects/GrCustomXfermode.cpp b/src/gpu/ganesh/effects/GrCustomXfermode.cpp index 4e7ba7862cd9..ef42ef40632b 100644 --- a/src/gpu/ganesh/effects/GrCustomXfermode.cpp +++ b/src/gpu/ganesh/effects/GrCustomXfermode.cpp @@ -7,19 +7,27 @@ #include "src/gpu/ganesh/effects/GrCustomXfermode.h" +#include "include/core/SkBlendMode.h" +#include "include/core/SkRefCnt.h" +#include "include/private/base/SkAssert.h" +#include "src/base/SkRandom.h" +#include "src/gpu/Blend.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrCaps.h" -#include "src/gpu/ganesh/GrFragmentProcessor.h" -#include "src/gpu/ganesh/GrPipeline.h" -#include "src/gpu/ganesh/GrProcessor.h" +#include "src/gpu/ganesh/GrProcessorAnalysis.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrShaderCaps.h" #include "src/gpu/ganesh/GrXferProcessor.h" #include "src/gpu/ganesh/glsl/GrGLSLBlend.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include +#include + +class GrGLSLProgramDataManager; +enum class GrClampType; + bool GrCustomXfermode::IsSupportedMode(SkBlendMode mode) { return (int)mode > (int)SkBlendMode::kLastCoeffMode && (int)mode <= (int)SkBlendMode::kLastMode; diff --git a/src/gpu/ganesh/effects/GrCustomXfermode.h b/src/gpu/ganesh/effects/GrCustomXfermode.h index a4855aabefa7..e3829149aef2 100644 --- a/src/gpu/ganesh/effects/GrCustomXfermode.h +++ b/src/gpu/ganesh/effects/GrCustomXfermode.h @@ -8,11 +8,8 @@ #ifndef GrCustomXfermode_DEFINED #define GrCustomXfermode_DEFINED -#include "include/core/SkBlendMode.h" -#include "include/core/SkRefCnt.h" - -class GrTexture; class GrXPFactory; +enum class SkBlendMode; /** * Custom Xfer modes are used for blending when the blend mode cannot be represented using blend diff --git a/src/gpu/ganesh/effects/GrDisableColorXP.cpp b/src/gpu/ganesh/effects/GrDisableColorXP.cpp index 1771f9edef92..61a2ef639353 100644 --- a/src/gpu/ganesh/effects/GrDisableColorXP.cpp +++ b/src/gpu/ganesh/effects/GrDisableColorXP.cpp @@ -7,12 +7,17 @@ #include "src/gpu/ganesh/effects/GrDisableColorXP.h" -#include "src/gpu/ganesh/GrPipeline.h" -#include "src/gpu/ganesh/GrProcessor.h" +#include "src/gpu/Blend.h" #include "src/gpu/ganesh/GrShaderCaps.h" #include "src/gpu/ganesh/GrXferProcessor.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" + +#include + +namespace skgpu { +class KeyBuilder; +class Swizzle; +} /** * This xfer processor disables color writing. Thus color and coverage and ignored and no blending diff --git a/src/gpu/ganesh/effects/GrDisableColorXP.h b/src/gpu/ganesh/effects/GrDisableColorXP.h index 1c613abd0e84..a4e21d938f41 100644 --- a/src/gpu/ganesh/effects/GrDisableColorXP.h +++ b/src/gpu/ganesh/effects/GrDisableColorXP.h @@ -9,10 +9,13 @@ #define GrDisableColorXP_DEFINED #include "include/core/SkRefCnt.h" -#include "include/gpu/GrTypes.h" +#include "src/gpu/ganesh/GrProcessorAnalysis.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrXferProcessor.h" +class GrCaps; +enum class GrClampType; + // See the comment above GrXPFactory's definition about this warning suppression. #if defined(__GNUC__) #pragma GCC diagnostic push diff --git a/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp index b8666eaca70e..9d31ea838ab0 100644 --- a/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp +++ b/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp @@ -5,19 +5,32 @@ * found in the LICENSE file. */ +#include "src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h" + +#include "include/core/SkSamplingOptions.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkMath.h" +#include "include/private/base/SkTo.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" #include "src/core/SkDistanceFieldGen.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrShaderCaps.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "src/gpu/ganesh/GrShaderVar.h" +#include "src/gpu/ganesh/GrSurfaceProxy.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" +#include "src/gpu/ganesh/GrTestUtils.h" #include "src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h" -#include "src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" #include "src/gpu/ganesh/glsl/GrGLSLVarying.h" #include "src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h" +#include + #if !defined(SK_DISABLE_SDF_TEXT) // Assuming a radius of a little less than the diagonal of the fragment diff --git a/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h b/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h index 20440d7166f8..b06772a71e5d 100644 --- a/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h +++ b/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h @@ -10,16 +10,20 @@ #if !defined(SK_DISABLE_SDF_TEXT) +#include "include/core/SkMatrix.h" +#include "include/core/SkScalar.h" +#include "include/core/SkSize.h" #include "src/base/SkArenaAlloc.h" #include "src/gpu/ganesh/GrGeometryProcessor.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/gpu/ganesh/GrSamplerState.h" + +#include +#include -class GrGLDistanceFieldA8TextGeoProc; -class GrGLDistanceFieldLCDTextGeoProc; -class GrGLDistanceFieldPathGeoProc; -class GrInvariantOutput; class GrSurfaceProxyView; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; enum GrDistanceFieldEffectFlags { kSimilarity_DistanceFieldEffectFlag = 0x001, // ctm is similarity matrix diff --git a/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.cpp b/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.cpp index d8aba6e84017..2a39970c48e0 100644 --- a/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.cpp +++ b/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.cpp @@ -7,16 +7,33 @@ #include "src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkRect.h" +#include "include/core/SkSamplingOptions.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/base/SkAssert.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" #include "src/core/SkGpuBlurUtils.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrShaderCaps.h" -#include "src/gpu/ganesh/GrTexture.h" -#include "src/gpu/ganesh/GrTextureProxy.h" +#include "src/gpu/ganesh/GrShaderVar.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include "src/sksl/SkSLGLSL.h" +#include "src/sksl/SkSLString.h" + +#include +#include +#include +#include + +enum SkAlphaType : int; // For brevity using UniformHandle = GrGLSLProgramDataManager::UniformHandle; diff --git a/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.h b/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.h index 5716fed76db3..867804b8dbc6 100644 --- a/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.h +++ b/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor.h @@ -9,11 +9,19 @@ #define GrGaussianConvolutionFragmentProcessor_DEFINED #include "include/core/SkM44.h" +#include "include/core/SkString.h" +#include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrSamplerState.h" +#include + class GrSurfaceProxyView; +enum SkAlphaType : int; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; +struct SkIRect; /** * A 1D Gaussian convolution effect. The kernel is computed as an array of 2 * half-width weights. diff --git a/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.cpp b/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.cpp index 3f30cbf71cd4..3052b00c2bc8 100644 --- a/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.cpp +++ b/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.cpp @@ -6,21 +6,43 @@ */ #include "src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h" +#include "include/core/SkAlphaType.h" #include "include/core/SkBitmap.h" +#include "include/core/SkColorType.h" +#include "include/core/SkImageInfo.h" +#include "include/core/SkMatrix.h" +#include "include/core/SkRect.h" +#include "include/core/SkSamplingOptions.h" +#include "include/core/SkString.h" +#include "include/gpu/GpuTypes.h" +#include "include/gpu/GrBackendSurface.h" +#include "include/gpu/GrRecordingContext.h" +#include "include/gpu/GrTypes.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" #include "src/base/SkHalf.h" +#include "src/base/SkRandom.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrDirectContextPriv.h" -#include "src/gpu/ganesh/GrProxyProvider.h" +#include "src/gpu/ResourceKey.h" #include "src/gpu/ganesh/GrRecordingContextPriv.h" -#include "src/gpu/ganesh/GrTexture.h" -#include "src/gpu/ganesh/GrTextureProxy.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/GrThreadSafeCache.h" #include "src/gpu/ganesh/SkGr.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" +#include "src/gpu/ganesh/glsl/GrGLSLShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include +#include +#include +#include + +class GrCaps; +struct GrShaderCaps; + class GrMatrixConvolutionEffect::Impl : public ProgramImpl { public: void emitCode(EmitArgs&) override; diff --git a/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h b/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h index 5119872994aa..b0654d4fe2e5 100644 --- a/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h +++ b/src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h @@ -8,14 +8,25 @@ #ifndef GrMatrixConvolutionEffect_DEFINED #define GrMatrixConvolutionEffect_DEFINED +#include "include/core/SkPoint.h" +#include "include/core/SkScalar.h" +#include "include/core/SkSize.h" +#include "include/private/base/SkAssert.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrSamplerState.h" #include +#include #include +#include +class GrCaps; +class GrRecordingContext; class GrSurfaceProxyView; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; +struct SkIRect; class GrMatrixConvolutionEffect : public GrFragmentProcessor { public: diff --git a/src/gpu/ganesh/effects/GrMatrixEffect.cpp b/src/gpu/ganesh/effects/GrMatrixEffect.cpp index cb07b885c1b4..185396d94977 100644 --- a/src/gpu/ganesh/effects/GrMatrixEffect.cpp +++ b/src/gpu/ganesh/effects/GrMatrixEffect.cpp @@ -7,11 +7,16 @@ #include "src/gpu/ganesh/effects/GrMatrixEffect.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "include/core/SkString.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h" -#include "src/sksl/SkSLUtil.h" +#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" +#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" + +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; std::unique_ptr GrMatrixEffect::Make( const SkMatrix& matrix, std::unique_ptr child) { diff --git a/src/gpu/ganesh/effects/GrMatrixEffect.h b/src/gpu/ganesh/effects/GrMatrixEffect.h index 0adfb338d0cb..6e4891b45428 100644 --- a/src/gpu/ganesh/effects/GrMatrixEffect.h +++ b/src/gpu/ganesh/effects/GrMatrixEffect.h @@ -8,11 +8,19 @@ #ifndef GrMatrixEffect_DEFINED #define GrMatrixEffect_DEFINED -#include "include/core/SkM44.h" +#include "include/core/SkMatrix.h" #include "include/core/SkTypes.h" +#include "include/private/SkColorData.h" +#include "include/private/SkSLSampleUsage.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include +#include + +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; + class GrMatrixEffect : public GrFragmentProcessor { public: static std::unique_ptr Make(const SkMatrix& matrix, diff --git a/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp b/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp index 89cdd090a4bc..05b0140b7731 100644 --- a/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp +++ b/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp @@ -7,9 +7,24 @@ #include "src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h" +#include "include/core/SkAlphaType.h" +#include "include/core/SkSamplingOptions.h" +#include "include/core/SkString.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrDynamicAtlas.h" +#include "src/gpu/ganesh/GrSamplerState.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" +#include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" +#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" +#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" + +#include + +class SkMatrix; +struct GrShaderCaps; GrModulateAtlasCoverageEffect::GrModulateAtlasCoverageEffect( Flags flags, diff --git a/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h b/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h index ec5890d444eb..9352cb8982eb 100644 --- a/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h +++ b/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h @@ -8,9 +8,16 @@ #ifndef GrGrModulateAtlasCoverageEffect_DEFINED #define GrGrModulateAtlasCoverageEffect_DEFINED +#include "include/core/SkRect.h" +#include "include/gpu/GrTypes.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" +#include + class GrSurfaceProxyView; +class SkMatrix; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; // Multiplies 'inputFP' by the coverage value in an atlas, optionally inverting or clamping to 0. class GrModulateAtlasCoverageEffect : public GrFragmentProcessor { diff --git a/src/gpu/ganesh/effects/GrOvalEffect.cpp b/src/gpu/ganesh/effects/GrOvalEffect.cpp index 04db798009c9..46fec5d89227 100644 --- a/src/gpu/ganesh/effects/GrOvalEffect.cpp +++ b/src/gpu/ganesh/effects/GrOvalEffect.cpp @@ -5,10 +5,17 @@ * found in the LICENSE file. */ +#include "include/core/SkPoint.h" #include "include/core/SkRect.h" +#include "include/core/SkScalar.h" +#include "include/private/base/SkAssert.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/effects/GrOvalEffect.h" +#include + +enum class GrClipEdgeType; + GrFPResult GrOvalEffect::Make(std::unique_ptr inputFP, GrClipEdgeType edgeType, const SkRect& oval, const GrShaderCaps& caps) { SkScalar w = oval.width(); diff --git a/src/gpu/ganesh/effects/GrOvalEffect.h b/src/gpu/ganesh/effects/GrOvalEffect.h index 08656f95a047..ac7a324cb928 100644 --- a/src/gpu/ganesh/effects/GrOvalEffect.h +++ b/src/gpu/ganesh/effects/GrOvalEffect.h @@ -8,11 +8,11 @@ #ifndef GrOvalEffect_DEFINED #define GrOvalEffect_DEFINED -#include "include/core/SkRefCnt.h" -#include "include/gpu/GrTypes.h" -#include "include/private/gpu/ganesh/GrTypesPriv.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" +#include + +enum class GrClipEdgeType; struct GrShaderCaps; struct SkRect; diff --git a/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp b/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp index af0e57ffdbaa..0b4d0ee01164 100644 --- a/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp +++ b/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp @@ -7,21 +7,31 @@ #include "src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h" -#include "include/gpu/GrTypes.h" +#include "include/core/SkBlendMode.h" +#include "include/core/SkColor.h" +#include "include/private/SkColorData.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkFloatingPoint.h" #include "include/private/base/SkMacros.h" #include "include/private/base/SkTo.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/Blend.h" #include "src/gpu/KeyBuilder.h" #include "src/gpu/ganesh/GrCaps.h" -#include "src/gpu/ganesh/GrPipeline.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorAnalysis.h" +#include "src/gpu/ganesh/GrShaderCaps.h" #include "src/gpu/ganesh/GrXferProcessor.h" #include "src/gpu/ganesh/glsl/GrGLSLBlend.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include +#include +#include + /** * Wraps the shader outputs and HW blend state that comprise a Porter Duff blend mode with coverage. */ diff --git a/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h b/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h index 4a9fb4850b00..197659968da8 100644 --- a/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h +++ b/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h @@ -8,12 +8,15 @@ #ifndef GrPorterDuffXferProcessor_DEFINED #define GrPorterDuffXferProcessor_DEFINED -#include "include/core/SkBlendMode.h" -#include "include/gpu/GrTypes.h" -#include "include/private/base/SkMacros.h" +#include "include/core/SkRefCnt.h" +#include "src/gpu/ganesh/GrCaps.h" +#include "src/gpu/ganesh/GrProcessorAnalysis.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrXferProcessor.h" +enum class GrClampType; +enum class SkBlendMode; + // See the comment above GrXPFactory's definition about this warning suppression. #if defined(__GNUC__) #pragma GCC diagnostic push diff --git a/src/gpu/ganesh/effects/GrRRectEffect.cpp b/src/gpu/ganesh/effects/GrRRectEffect.cpp index 3038a12409d3..55c157b4a36f 100644 --- a/src/gpu/ganesh/effects/GrRRectEffect.cpp +++ b/src/gpu/ganesh/effects/GrRRectEffect.cpp @@ -7,17 +7,32 @@ #include "src/gpu/ganesh/effects/GrRRectEffect.h" +#include "include/core/SkPoint.h" +#include "include/core/SkRRect.h" +#include "include/core/SkRect.h" +#include "include/core/SkScalar.h" +#include "include/core/SkString.h" +#include "include/private/base/SkAssert.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" #include "src/base/SkTLazy.h" #include "src/core/SkRRectPriv.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" +#include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrShaderCaps.h" -#include "src/gpu/ganesh/effects/GrConvexPolyEffect.h" #include "src/gpu/ganesh/effects/GrOvalEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" #include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" +#include "src/shaders/SkShaderBase.h" + +#include +#include +#include +#include // The effects defined here only handle rrect radii >= kRadiusMin. static const SkScalar kRadiusMin = SK_ScalarHalf; diff --git a/src/gpu/ganesh/effects/GrRRectEffect.h b/src/gpu/ganesh/effects/GrRRectEffect.h index e4f30b34622c..67453a4916ab 100644 --- a/src/gpu/ganesh/effects/GrRRectEffect.h +++ b/src/gpu/ganesh/effects/GrRRectEffect.h @@ -8,14 +8,13 @@ #ifndef GrRRectEffect_DEFINED #define GrRRectEffect_DEFINED -#include "include/core/SkRefCnt.h" -#include "include/gpu/GrTypes.h" -#include "include/private/gpu/ganesh/GrTypesPriv.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" -struct GrShaderCaps; -class GrProcessor; +#include + class SkRRect; +enum class GrClipEdgeType; +struct GrShaderCaps; namespace GrRRectEffect { diff --git a/src/gpu/ganesh/effects/GrShadowGeoProc.cpp b/src/gpu/ganesh/effects/GrShadowGeoProc.cpp index 00795379a28b..47df9de56368 100644 --- a/src/gpu/ganesh/effects/GrShadowGeoProc.cpp +++ b/src/gpu/ganesh/effects/GrShadowGeoProc.cpp @@ -7,12 +7,19 @@ #include "src/gpu/ganesh/effects/GrShadowGeoProc.h" +#include "include/core/SkSamplingOptions.h" +#include "include/private/base/SkAssert.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/core/SkSLTypeShared.h" +#include "src/gpu/ganesh/GrSamplerState.h" #include "src/gpu/ganesh/GrSurfaceProxy.h" #include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" #include "src/gpu/ganesh/glsl/GrGLSLVarying.h" -#include "src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h" + +class GrGLSLProgramDataManager; +class GrGLSLVertexBuilder; +struct GrShaderCaps; class GrRRectShadowGeoProc::Impl : public ProgramImpl { public: diff --git a/src/gpu/ganesh/effects/GrShadowGeoProc.h b/src/gpu/ganesh/effects/GrShadowGeoProc.h index 52d644879441..7a3d605714ea 100644 --- a/src/gpu/ganesh/effects/GrShadowGeoProc.h +++ b/src/gpu/ganesh/effects/GrShadowGeoProc.h @@ -9,12 +9,15 @@ #define GrShadowGeoProc_DEFINED #include "src/base/SkArenaAlloc.h" +#include "src/gpu/ganesh/GrColor.h" #include "src/gpu/ganesh/GrGeometryProcessor.h" -#include "src/gpu/ganesh/GrProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" -class GrGLRRectShadowGeoProc; +#include + class GrSurfaceProxyView; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; /** * The output color of this effect is a coverage mask for a rrect shadow, diff --git a/src/gpu/ganesh/effects/GrSkSLFP.cpp b/src/gpu/ganesh/effects/GrSkSLFP.cpp index fcc933d05d5c..c9cc8b63b784 100644 --- a/src/gpu/ganesh/effects/GrSkSLFP.cpp +++ b/src/gpu/ganesh/effects/GrSkSLFP.cpp @@ -7,29 +7,46 @@ #include "src/gpu/ganesh/effects/GrSkSLFP.h" +#include "include/core/SkAlphaType.h" +#include "include/core/SkColor.h" +#include "include/core/SkColorSpace.h" +#include "include/core/SkData.h" +#include "include/core/SkString.h" +#include "include/core/SkSurfaceProps.h" +#include "include/effects/SkOverdrawColorFilter.h" #include "include/effects/SkRuntimeEffect.h" -#include "include/private/gpu/ganesh/GrContext_Base.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/base/SkMalloc.h" +#include "include/private/base/SkTo.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkArenaAlloc.h" +#include "src/base/SkRandom.h" +#include "src/core/SkColorFilterBase.h" #include "src/core/SkColorSpacePriv.h" -#include "src/core/SkFilterColorProgram.h" #include "src/core/SkRasterPipeline.h" #include "src/core/SkRasterPipelineOpContexts.h" #include "src/core/SkRasterPipelineOpList.h" #include "src/core/SkRuntimeEffectPriv.h" #include "src/core/SkSLTypeShared.h" -#include "src/core/SkVM.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrBaseContextPriv.h" #include "src/gpu/ganesh/GrColorInfo.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "src/gpu/ganesh/GrColorSpaceXform.h" +#include "src/gpu/ganesh/GrShaderVar.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h" +#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" #include "src/sksl/SkSLString.h" #include "src/sksl/SkSLUtil.h" #include "src/sksl/codegen/SkSLPipelineStageCodeGenerator.h" #include "src/sksl/codegen/SkSLRasterPipelineBuilder.h" -#include "src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h" #include "src/sksl/ir/SkSLProgram.h" +#include "src/sksl/ir/SkSLType.h" #include "src/sksl/ir/SkSLVarDeclarations.h" +#include "src/sksl/ir/SkSLVariable.h" + +#include + +namespace SkSL { class Context; } +struct GrShaderCaps; class GrSkSLFP::Impl : public ProgramImpl { public: @@ -496,9 +513,6 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSkSLFP) #if GR_TEST_UTILS -#include "include/effects/SkOverdrawColorFilter.h" -#include "src/core/SkColorFilterBase.h" - std::unique_ptr GrSkSLFP::TestCreate(GrProcessorTestData* d) { SkColor colors[SkOverdrawColorFilter::kNumColors]; for (SkColor& c : colors) { diff --git a/src/gpu/ganesh/effects/GrSkSLFP.h b/src/gpu/ganesh/effects/GrSkSLFP.h index 295d4c76c918..cbf792c1aa31 100644 --- a/src/gpu/ganesh/effects/GrSkSLFP.h +++ b/src/gpu/ganesh/effects/GrSkSLFP.h @@ -8,21 +8,35 @@ #ifndef GrSkSLFP_DEFINED #define GrSkSLFP_DEFINED -#include "include/core/SkM44.h" #include "include/core/SkRefCnt.h" #include "include/effects/SkRuntimeEffect.h" -#include "include/gpu/GrContextOptions.h" -#include "src/base/SkVx.h" +#include "include/gpu/GrTypes.h" +#include "include/private/SkColorData.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkSpan_impl.h" +#include "src/base/SkVx.h" // IWYU pragma: keep #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" -#include +#include +#include +#include +#include +#include #include #include -struct GrShaderCaps; +class SkColorSpace; class SkData; -class SkRuntimeEffect; +class SkM44; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; +struct SkRect; +struct SkV2; +struct SkV4; + +template struct GrFPUniformType; #ifdef SK_DEBUG // UNIFORM_TYPE allows C++ types to be mapped onto SkRuntimeEffect::Uniform::Type diff --git a/src/gpu/ganesh/effects/GrTextureEffect.cpp b/src/gpu/ganesh/effects/GrTextureEffect.cpp index a6028f057ea2..36b3f8988253 100644 --- a/src/gpu/ganesh/effects/GrTextureEffect.cpp +++ b/src/gpu/ganesh/effects/GrTextureEffect.cpp @@ -7,12 +7,30 @@ #include "src/gpu/ganesh/effects/GrTextureEffect.h" -#include "src/core/SkMatrixPriv.h" +#include "include/core/SkSize.h" +#include "include/core/SkString.h" +#include "include/gpu/GpuTypes.h" +#include "include/gpu/GrTypes.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkFloatingPoint.h" +#include "include/private/base/SkMath.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/base/SkRandom.h" +#include "src/core/SkSLTypeShared.h" #include "src/gpu/KeyBuilder.h" +#include "src/gpu/ganesh/GrSurfaceProxy.h" +#include "src/gpu/ganesh/GrTestUtils.h" #include "src/gpu/ganesh/GrTexture.h" #include "src/gpu/ganesh/effects/GrMatrixEffect.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h" -#include "src/sksl/SkSLUtil.h" +#include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" +#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" +#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" + +#include +#include + +enum SkAlphaType : int; +struct GrShaderCaps; using Wrap = GrSamplerState::WrapMode; using Filter = GrSamplerState::Filter; diff --git a/src/gpu/ganesh/effects/GrTextureEffect.h b/src/gpu/ganesh/effects/GrTextureEffect.h index 0629e6e0f93f..be01a937df88 100644 --- a/src/gpu/ganesh/effects/GrTextureEffect.h +++ b/src/gpu/ganesh/effects/GrTextureEffect.h @@ -8,14 +8,26 @@ #ifndef GrTextureEffect_DEFINED #define GrTextureEffect_DEFINED -#include "include/core/SkImageInfo.h" #include "include/core/SkMatrix.h" +#include "include/core/SkPoint.h" +#include "include/core/SkRect.h" +#include "include/core/SkSamplingOptions.h" +#include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" #include "src/gpu/ganesh/GrSamplerState.h" #include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/GrTextureProxy.h" -#include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" +#include "src/gpu/ganesh/glsl/GrGLSLShaderBuilder.h" + +#include +#include + +class GrGLSLProgramDataManager; +class GrTexture; +enum SkAlphaType : int; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; class GrTextureEffect : public GrFragmentProcessor { public: diff --git a/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp b/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp index 553a9948c12e..92aea1717c97 100644 --- a/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp +++ b/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp @@ -7,16 +7,35 @@ #include "src/gpu/ganesh/effects/GrYUVtoRGBEffect.h" +#include "include/core/SkAlphaType.h" +#include "include/core/SkImageInfo.h" +#include "include/core/SkRect.h" +#include "include/core/SkSamplingOptions.h" #include "include/core/SkYUVAInfo.h" +#include "include/private/SkSLSampleUsage.h" +#include "include/private/base/SkAssert.h" +#include "include/private/base/SkTo.h" +#include "include/private/gpu/ganesh/GrTypesPriv.h" +#include "src/core/SkSLTypeShared.h" +#include "src/core/SkYUVAInfoLocation.h" #include "src/core/SkYUVMath.h" #include "src/gpu/KeyBuilder.h" -#include "src/gpu/ganesh/GrTexture.h" +#include "src/gpu/ganesh/GrSurfaceProxyView.h" #include "src/gpu/ganesh/GrYUVATextureProxies.h" #include "src/gpu/ganesh/effects/GrMatrixEffect.h" #include "src/gpu/ganesh/effects/GrTextureEffect.h" #include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h" -#include "src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h" -#include "src/sksl/SkSLUtil.h" +#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h" +#include "src/gpu/ganesh/glsl/GrGLSLUniformHandler.h" + +#include +#include +#include +#include +#include +#include + +struct GrShaderCaps; static void border_colors(const GrYUVATextureProxies& yuvaProxies, float planeBorders[4][4]) { float m[20]; diff --git a/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h b/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h index 1d427af8d551..77afd9932739 100644 --- a/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h +++ b/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h @@ -8,12 +8,22 @@ #ifndef GrYUVtoRGBEffect_DEFINED #define GrYUVtoRGBEffect_DEFINED +#include "include/core/SkMatrix.h" +#include "include/core/SkString.h" #include "include/core/SkYUVAInfo.h" -#include "src/core/SkYUVAInfoLocation.h" +#include "src/core/SkYUVAInfoLocation.h" // IWYU pragma: keep +#include "src/gpu/ganesh/GrCaps.h" #include "src/gpu/ganesh/GrFragmentProcessor.h" #include "src/gpu/ganesh/GrProcessorUnitTest.h" +#include "src/gpu/ganesh/GrSamplerState.h" + +#include class GrYUVATextureProxies; +enum SkYUVColorSpace : int; +namespace skgpu { class KeyBuilder; } +struct GrShaderCaps; +struct SkRect; class GrYUVtoRGBEffect : public GrFragmentProcessor { public: diff --git a/toolchain/linux_trampolines/clang_trampoline_linux.sh b/toolchain/linux_trampolines/clang_trampoline_linux.sh index 63b4582e733f..013166688f73 100755 --- a/toolchain/linux_trampolines/clang_trampoline_linux.sh +++ b/toolchain/linux_trampolines/clang_trampoline_linux.sh @@ -24,6 +24,7 @@ supported_files_or_dirs=( "src/codec/" "src/effects/" "src/encode/" + "src/gpu/ganesh/effects/" "src/gpu/ganesh/image/" "src/gpu/ganesh/surface/" "src/image/"