#include <GrGLUniformHandler.h>
|
const GrShaderVar & | getUniformVariable (UniformHandle u) const override |
|
const char * | getUniformCStr (UniformHandle u) const override |
|
int | numUniforms () const override |
|
UniformInfo & | uniform (int idx) override |
|
const UniformInfo & | uniform (int idx) const override |
|
Public Member Functions inherited from GrGLSLUniformHandler |
virtual | ~GrGLSLUniformHandler () |
|
UniformHandle | addUniform (const GrProcessor *owner, uint32_t visibility, SkSLType type, const char *name, const char **outName=nullptr) |
|
UniformHandle | addUniformArray (const GrProcessor *owner, uint32_t visibility, SkSLType type, const char *name, int arrayCount, const char **outName=nullptr) |
|
GrShaderVar | getUniformMapping (const GrProcessor &owner, SkString rawName) const |
|
GrShaderVar | liftUniformToVertexShader (const GrProcessor &owner, SkString rawName) |
|
|
UniformHandle | internalAddUniformArray (const GrProcessor *owner, uint32_t visibility, SkSLType type, const char *name, bool mangleName, int arrayCount, const char **outName) override |
|
SamplerHandle | addSampler (const GrBackendFormat &, GrSamplerState, const skgpu::Swizzle &, const char *name, const GrShaderCaps *) override |
|
const char * | samplerVariable (SamplerHandle handle) const override |
|
skgpu::Swizzle | samplerSwizzle (SamplerHandle handle) const override |
|
void | appendUniformDecls (GrShaderFlags visibility, SkString *) const override |
|
Definition at line 18 of file GrGLUniformHandler.h.
◆ addSampler()
Implements GrGLSLUniformHandler.
Definition at line 71 of file GrGLUniformHandler.cpp.
76 {
78
79 constexpr char prefix =
'u';
81
83
84 GLUniformInfo tempInfo;
87
89 tempInfo.fOwner = nullptr;
91 tempInfo.fLocation = -1;
92
96
97 return GrGLSLUniformHandler::SamplerHandle(fSamplers.
count() - 1);
98}
static SkSLType SkSLCombinedSamplerTypeForTextureType(GrTextureType type)
SkString nameVariable(char prefix, const char *name, bool mangle=true)
◆ appendUniformDecls()
Implements GrGLSLUniformHandler.
Definition at line 100 of file GrGLUniformHandler.cpp.
100 {
101 for (
const UniformInfo&
uniform : fUniforms.items()) {
105 }
106 }
107 for (const UniformInfo& sampler : fSamplers.items()) {
108 if (sampler.fVisibility & visibility) {
111 }
112 }
113}
const GrShaderCaps * shaderCaps() const
void appendDecl(const GrShaderCaps *, SkString *out) const
◆ getUniformCStr()
const char * GrGLUniformHandler::getUniformCStr |
( |
UniformHandle |
u | ) |
const |
|
inlineoverridevirtual |
◆ getUniformVariable()
◆ internalAddUniformArray()
Implements GrGLSLUniformHandler.
Definition at line 28 of file GrGLUniformHandler.cpp.
35 {
39
40
41
42
43
44
45
49 }
51
52 GLUniformInfo tempInfo;
56 arrayCount};
57
58 tempInfo.fVisibility = visibility;
59 tempInfo.fOwner = owner;
61 tempInfo.fLocation = -1;
62
64
65 if (outName) {
66 *outName = fUniforms.
back().fVariable.c_str();
67 }
69}
◆ numUniforms()
int GrGLUniformHandler::numUniforms |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ samplerSwizzle()
skgpu::Swizzle GrGLUniformHandler::samplerSwizzle |
( |
SamplerHandle |
handle | ) |
const |
|
inlineoverrideprivatevirtual |
◆ samplerVariable()
const char * GrGLUniformHandler::samplerVariable |
( |
SamplerHandle |
handle | ) |
const |
|
inlineoverrideprivatevirtual |
◆ uniform() [1/2]
◆ uniform() [2/2]
◆ GrGLProgramBuilder
◆ kUniformsPerBlock
const int GrGLUniformHandler::kUniformsPerBlock = 8 |
|
static |
The documentation for this class was generated from the following files: