| Index: src/gpu/glsl/GrGLSLFragmentProcessor.h
|
| diff --git a/src/gpu/glsl/GrGLSLFragmentProcessor.h b/src/gpu/glsl/GrGLSLFragmentProcessor.h
|
| index c6eb016a32bc6d19b138127ef344c1e4df9d7544..f4a93ebe71c35b41b49a62466e22d204ca45ab58 100644
|
| --- a/src/gpu/glsl/GrGLSLFragmentProcessor.h
|
| +++ b/src/gpu/glsl/GrGLSLFragmentProcessor.h
|
| @@ -9,7 +9,7 @@
|
| #define GrGLSLFragmentProcessor_DEFINED
|
|
|
| #include "GrFragmentProcessor.h"
|
| -#include "glsl/GrGLSLProcessorTypes.h"
|
| +#include "GrShaderVar.h"
|
| #include "glsl/GrGLSLProgramDataManager.h"
|
| #include "glsl/GrGLSLSampler.h"
|
|
|
| @@ -37,21 +37,27 @@ public:
|
| shader will be in its own block ({}) and so locally scoped names will not collide across
|
| stages.
|
|
|
| - @param builder Interface used to emit code in the shaders.
|
| - @param processor The processor that generated this program stage.
|
| - @param key The key that was computed by GenKey() from the generating GrProcessor.
|
| - @param outputColor A predefined vec4 in the FS in which the stage should place its output
|
| - color (or coverage).
|
| - @param inputColor A vec4 that holds the input color to the stage in the FS. This may be
|
| - nullptr in which case the implied input is solid white (all ones).
|
| - TODO: Better system for communicating optimization info (e.g. input
|
| - color is solid white, trans black, known to be opaque, etc.) that allows
|
| - the processor to communicate back similar known info about its output.
|
| - @param samplers Contains one entry for each GrTextureAccess of the GrProcessor. These
|
| - can be passed to the builder to emit texture reads in the generated
|
| - code.
|
| + @param fragBuilder Interface used to emit code in the shaders.
|
| + @param fp The processor that generated this program stage.
|
| + @param key The key that was computed by GenKey() from the generating
|
| + GrProcessor.
|
| + @param outputColor A predefined vec4 in the FS in which the stage should place its
|
| + output color (or coverage).
|
| + @param inputColor A vec4 that holds the input color to the stage in the FS. This may
|
| + be nullptr in which case the implied input is solid white (all
|
| + ones). TODO: Better system for communicating optimization info
|
| + (e.g. input color is solid white, trans black, known to be opaque,
|
| + etc.) that allows the processor to communicate back similar known
|
| + info about its output.
|
| + @param transformedCoords Fragment shader variables containing the coords computed using
|
| + each of the GrFragmentProcessor's Coord Transforms.
|
| + @param texSamplers Contains one entry for each GrTextureAccess of the GrProcessor.
|
| + These can be passed to the builder to emit texture reads in the
|
| + generated code.
|
| + @param bufferSamplers Contains one entry for each GrBufferAccess of the GrProcessor.
|
| + These can be passed to the builder to emit buffer reads in the
|
| + generated code.
|
| */
|
| -
|
| struct EmitArgs {
|
| EmitArgs(GrGLSLFPFragmentBuilder* fragBuilder,
|
| GrGLSLUniformHandler* uniformHandler,
|
| @@ -59,7 +65,7 @@ public:
|
| const GrFragmentProcessor& fp,
|
| const char* outputColor,
|
| const char* inputColor,
|
| - const GrGLSLTransformedCoordsArray& coords,
|
| + const SkTArray<GrShaderVar>& transformedCoords,
|
| const SamplerHandle* texSamplers,
|
| const SamplerHandle* bufferSamplers,
|
| bool gpImplementsDistanceVector)
|
| @@ -69,17 +75,17 @@ public:
|
| , fFp(fp)
|
| , fOutputColor(outputColor)
|
| , fInputColor(inputColor)
|
| - , fCoords(coords)
|
| + , fTransformedCoords(transformedCoords)
|
| , fTexSamplers(texSamplers)
|
| , fBufferSamplers(bufferSamplers)
|
| - , fGpImplementsDistanceVector(gpImplementsDistanceVector){}
|
| + , fGpImplementsDistanceVector(gpImplementsDistanceVector) {}
|
| GrGLSLFPFragmentBuilder* fFragBuilder;
|
| GrGLSLUniformHandler* fUniformHandler;
|
| const GrGLSLCaps* fGLSLCaps;
|
| const GrFragmentProcessor& fFp;
|
| const char* fOutputColor;
|
| const char* fInputColor;
|
| - const GrGLSLTransformedCoordsArray& fCoords;
|
| + const SkTArray<GrShaderVar>& fTransformedCoords;
|
| const SamplerHandle* fTexSamplers;
|
| const SamplerHandle* fBufferSamplers;
|
| bool fGpImplementsDistanceVector;
|
|
|