#include "src/gpu/ganesh/glsl/GrGLSLShaderBuilder.h"
#include "include/private/gpu/ganesh/GrTypesPriv.h"
#include "modules/skcms/skcms.h"
#include "src/core/SkSLTypeShared.h"
#include "src/gpu/Blend.h"
#include "src/gpu/Swizzle.h"
#include "src/gpu/ganesh/GrShaderCaps.h"
#include "src/gpu/ganesh/GrShaderVar.h"
#include "src/gpu/ganesh/glsl/GrGLSLColorSpaceXformHelper.h"
#include "src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h"
#include "src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h"
#include "src/sksl/SkSLGLSL.h"
usingnamespaceskia_private;
GrGLSLShaderBuilder::GrGLSLShaderBuilder(GrGLSLProgramBuilder* program)
: … { … }
void GrGLSLShaderBuilder::declAppend(const GrShaderVar& var) { … }
void GrGLSLShaderBuilder::declareGlobal(const GrShaderVar& v) { … }
SkString GrGLSLShaderBuilder::getMangledFunctionName(const char* baseName) { … }
void GrGLSLShaderBuilder::appendFunctionDecl(SkSLType returnType,
const char* mangledName,
SkSpan<const GrShaderVar> args) { … }
void GrGLSLShaderBuilder::emitFunction(SkSLType returnType,
const char* mangledName,
SkSpan<const GrShaderVar> args,
const char* body) { … }
void GrGLSLShaderBuilder::emitFunction(const char* declaration, const char* body) { … }
void GrGLSLShaderBuilder::emitFunctionPrototype(SkSLType returnType,
const char* mangledName,
SkSpan<const GrShaderVar> args) { … }
void GrGLSLShaderBuilder::emitFunctionPrototype(const char* declaration) { … }
static inline void append_texture_swizzle(SkString* out, skgpu::Swizzle swizzle) { … }
void GrGLSLShaderBuilder::appendTextureLookup(SkString* out,
SamplerHandle samplerHandle,
const char* coordName) const { … }
void GrGLSLShaderBuilder::appendTextureLookup(SamplerHandle samplerHandle,
const char* coordName,
GrGLSLColorSpaceXformHelper* colorXformHelper) { … }
void GrGLSLShaderBuilder::appendTextureLookupAndBlend(
const char* dst,
SkBlendMode mode,
SamplerHandle samplerHandle,
const char* coordName,
GrGLSLColorSpaceXformHelper* colorXformHelper) { … }
void GrGLSLShaderBuilder::appendInputLoad(SamplerHandle samplerHandle) { … }
void GrGLSLShaderBuilder::appendColorGamutXform(SkString* out,
const char* srcColor,
GrGLSLColorSpaceXformHelper* colorXformHelper) { … }
void GrGLSLShaderBuilder::appendColorGamutXform(const char* srcColor,
GrGLSLColorSpaceXformHelper* colorXformHelper) { … }
bool GrGLSLShaderBuilder::addFeature(uint32_t featureBit, const char* extensionName) { … }
void GrGLSLShaderBuilder::appendDecls(const VarArray& vars, SkString* out) const { … }
void GrGLSLShaderBuilder::addLayoutQualifier(const char* param, InterfaceQualifier interface) { … }
void GrGLSLShaderBuilder::compileAndAppendLayoutQualifiers() { … }
void GrGLSLShaderBuilder::finalize(uint32_t visibility) { … }