Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Friends | List of all members
GrGLSLVertexBuilder Class Reference

#include <GrGLSLVertexGeoBuilder.h>

Inheritance diagram for GrGLSLVertexBuilder:
GrGLSLVertexGeoBuilder GrGLSLShaderBuilder

Public Member Functions

 GrGLSLVertexBuilder (GrGLSLProgramBuilder *program)
 
- Public Member Functions inherited from GrGLSLVertexGeoBuilder
void insertFunction (const char *functionDefinition)
 
SkStringfunctions ()
 
this code ().appendVAList(format
 
this code ().prependVAList(format
 
SkStringcode ()
 
- Public Member Functions inherited from GrGLSLShaderBuilder
 GrGLSLShaderBuilder (GrGLSLProgramBuilder *program)
 
virtual ~GrGLSLShaderBuilder ()
 
void appendTextureLookup (SkString *out, SamplerHandle, const char *coordName) const
 
void appendTextureLookup (SamplerHandle, const char *coordName, GrGLSLColorSpaceXformHelper *colorXformHelper=nullptr)
 
void appendTextureLookupAndBlend (const char *dst, SkBlendMode, SamplerHandle, const char *coordName, GrGLSLColorSpaceXformHelper *colorXformHelper=nullptr)
 
void appendInputLoad (SamplerHandle)
 
void appendColorGamutXform (SkString *out, const char *srcColor, GrGLSLColorSpaceXformHelper *colorXformHelper)
 
void appendColorGamutXform (const char *srcColor, GrGLSLColorSpaceXformHelper *colorXformHelper)
 
void defineConstant (const char *type, const char *name, const char *value)
 
void defineConstant (const char *name, int value)
 
void defineConstant (const char *name, float value)
 
void defineConstantf (const char *type, const char *name, const char *fmt,...) SK_PRINTF_LIKE(4
 
 va_start (args, fmt)
 
this definitions ().appendVAList(fmt
 
 va_end (args)
 
this definitions ().append("
 
void definitionAppend (const char *str)
 
void declareGlobal (const GrShaderVar &)
 
SkString newTmpVarName (const char *suffix)
 
void codeAppendf (const char format[],...) SK_PRINTF_LIKE(2
 
void va_start (args, format)
 
this code ().appendVAList(format
 
 va_end (args)
 
void codeAppend (const char *str)
 
void codeAppend (const char *str, size_t length)
 
void codePrependf (const char format[],...) SK_PRINTF_LIKE(2
 
void va_start (args, format)
 
this code ().prependVAList(format
 
 va_end (args)
 
void declAppend (const GrShaderVar &var)
 
SkString getMangledFunctionName (const char *baseName)
 
void emitFunctionPrototype (SkSLType returnType, const char *mangledName, SkSpan< const GrShaderVar > args)
 
void emitFunctionPrototype (const char *declaration)
 
void emitFunction (SkSLType returnType, const char *mangledName, SkSpan< const GrShaderVar > args, const char *body)
 
void emitFunction (const char *declaration, const char *body)
 
void finalize (uint32_t visibility)
 
GrGLSLProgramBuildergetProgramBuilder ()
 

Private Member Functions

void onFinalize () override
 

Friends

class GrGLProgramBuilder
 

Additional Inherited Members

- Public Types inherited from GrGLSLShaderBuilder
using SamplerHandle = GrGLSLUniformHandler::SamplerHandle
 
- Public Attributes inherited from GrGLSLShaderBuilder
void va_list args
 
this args
 
 n
 
- Protected Types inherited from GrGLSLVertexGeoBuilder
using INHERITED = GrGLSLShaderBuilder
 
- Protected Types inherited from GrGLSLShaderBuilder
enum  GLSLPrivateFeature {
  kFragCoordConventions_GLSLPrivateFeature , kBlendEquationAdvanced_GLSLPrivateFeature , kBlendFuncExtended_GLSLPrivateFeature , kFramebufferFetch_GLSLPrivateFeature ,
  kNoPerspectiveInterpolation_GLSLPrivateFeature , kSampleVariables_GLSLPrivateFeature , kLastGLSLPrivateFeature = kSampleVariables_GLSLPrivateFeature
}
 
enum  InterfaceQualifier { kIn_InterfaceQualifier , kOut_InterfaceQualifier , kLastInterfaceQualifier = kOut_InterfaceQualifier }
 
enum  {
  kExtensions , kDefinitions , kPrecisionQualifier , kLayoutQualifiers ,
  kUniforms , kInputs , kOutputs , kFunctions ,
  kMain , kCode , kPrealloc = kCode + 6
}
 
typedef SkTBlockList< GrShaderVarVarArray
 
- Protected Member Functions inherited from GrGLSLVertexGeoBuilder
 GrGLSLVertexGeoBuilder (GrGLSLProgramBuilder *program)
 
void emitNormalizedSkPosition (const char *devPos, SkSLType devPosType=SkSLType::kFloat2)
 
void emitNormalizedSkPosition (SkString *out, const char *devPos, SkSLType devPosType=SkSLType::kFloat2)
 
- Protected Member Functions inherited from GrGLSLShaderBuilder
void appendDecls (const VarArray &vars, SkString *out) const
 
void appendFunctionDecl (SkSLType returnType, const char *mangledName, SkSpan< const GrShaderVar > args)
 
bool addFeature (uint32_t featureBit, const char *extensionName)
 
void addLayoutQualifier (const char *param, InterfaceQualifier)
 
void compileAndAppendLayoutQualifiers ()
 
void nextStage ()
 
void deleteStage ()
 
SkStringextensions ()
 
SkStringdefinitions ()
 
SkStringprecisionQualifier ()
 
SkStringlayoutQualifiers ()
 
SkStringuniforms ()
 
SkStringinputs ()
 
SkStringoutputs ()
 
SkStringfunctions ()
 
SkStringmain ()
 
SkStringcode ()
 
- Protected Attributes inherited from GrGLSLShaderBuilder
GrGLSLProgramBuilderfProgramBuilder
 
std::string fCompilerString
 
skia_private::STArray< kPrealloc, SkStringfShaderStrings
 
SkString fCode
 
SkString fFunctions
 
SkString fExtensions
 
SkSL::StatementArray fDeclarations
 
VarArray fInputs
 
VarArray fOutputs
 
uint32_t fFeaturesAddedMask
 
skia_private::STArray< 1, SkStringfLayoutParams [kLastInterfaceQualifier+1]
 
int fCodeIndex
 
bool fFinalized
 
int fTmpVariableCounter
 

Detailed Description

Definition at line 49 of file GrGLSLVertexGeoBuilder.h.

Constructor & Destructor Documentation

◆ GrGLSLVertexBuilder()

GrGLSLVertexBuilder::GrGLSLVertexBuilder ( GrGLSLProgramBuilder program)
inline

Definition at line 51 of file GrGLSLVertexGeoBuilder.h.

51: INHERITED(program) {}

Member Function Documentation

◆ onFinalize()

void GrGLSLVertexBuilder::onFinalize ( )
overrideprivatevirtual

Implements GrGLSLShaderBuilder.

Definition at line 34 of file GrGLSLVertexGeoBuilder.cpp.

34 {
35 // We could have the GrGeometryProcessor do this, but its just easier to have it performed
36 // here. If we ever need to set variable pointsize, then we can reinvestigate.
37 if (this->getProgramBuilder()->hasPointSize()) {
38 this->codeAppend("sk_PointSize = 1.0;");
39 }
41}
virtual GrGLSLVaryingHandler * varyingHandler()=0
void codeAppend(const char *str)
GrGLSLProgramBuilder * fProgramBuilder
GrGLSLProgramBuilder * getProgramBuilder()
void getVertexDecls(SkString *inputDecls, SkString *outputDecls) const

Friends And Related Symbol Documentation

◆ GrGLProgramBuilder

friend class GrGLProgramBuilder
friend

Definition at line 56 of file GrGLSLVertexGeoBuilder.h.


The documentation for this class was generated from the following files: