Flutter Engine
The Flutter Engine
|
#include <GrVkUniformHandler.h>
Classes | |
struct | VkUniformInfo |
Public Types | |
enum | { kUniformBufferDescSet = 0 , kSamplerDescSet = 1 , kInputDescSet = 2 , kLastDescSet = kInputDescSet } |
enum | { kUniformBinding = 0 , kInputBinding = 0 } |
enum | { kDstInputAttachmentIndex = 0 } |
enum | Layout { kStd140Layout = 0 , kStd430Layout = 1 , kLastLayout = kStd430Layout } |
typedef SkTBlockList< VkUniformInfo > | UniformInfoArray |
Public Types inherited from GrGLSLUniformHandler | |
using | UniformHandle = GrGLSLProgramDataManager::UniformHandle |
Public Member Functions | |
~GrVkUniformHandler () override | |
const GrShaderVar & | getUniformVariable (UniformHandle u) const override |
const char * | getUniformCStr (UniformHandle u) const override |
uint32_t | getRTFlipOffset () const |
int | numUniforms () const override |
UniformInfo & | uniform (int idx) override |
const UniformInfo & | uniform (int idx) const override |
bool | usePushConstants () const |
uint32_t | currentOffset () const |
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) |
Static Public Attributes | |
static const int | kUniformsPerBlock = 8 |
static constexpr int | kDescSetCount = kLastDescSet + 1 |
static constexpr int | kLayoutCount = kLastLayout + 1 |
Private Member Functions | |
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 |
SamplerHandle | addInputSampler (const skgpu::Swizzle &swizzle, const char *name) override |
const char * | samplerVariable (SamplerHandle handle) const override |
skgpu::Swizzle | samplerSwizzle (SamplerHandle handle) const override |
const char * | inputSamplerVariable (SamplerHandle handle) const override |
skgpu::Swizzle | inputSamplerSwizzle (SamplerHandle handle) const override |
void | appendUniformDecls (GrShaderFlags, SkString *) const override |
Friends | |
class | GrVkPipelineStateBuilder |
class | GrVkDescriptorSetManager |
Additional Inherited Members | |
Protected Member Functions inherited from GrGLSLUniformHandler | |
GrGLSLUniformHandler (GrGLSLProgramBuilder *program) | |
Protected Attributes inherited from GrGLSLUniformHandler | |
GrGLSLProgramBuilder * | fProgramBuilder |
Definition at line 19 of file GrVkUniformHandler.h.
Definition at line 63 of file GrVkUniformHandler.h.
anonymous enum |
Enumerator | |
---|---|
kUniformBufferDescSet | Binding a descriptor set invalidates all higher index descriptor sets. We must bind in the order of this enumeration. Samplers are after Uniforms because GrOps can specify GP textures as dynamic state, meaning they get rebound for each draw in a pipeline while uniforms are bound once before all the draws. We bind input attachments after samplers so those also need to be rebound if we bind new samplers. |
kSamplerDescSet | |
kInputDescSet | |
kLastDescSet |
Definition at line 23 of file GrVkUniformHandler.h.
anonymous enum |
Enumerator | |
---|---|
kUniformBinding | |
kInputBinding |
Definition at line 40 of file GrVkUniformHandler.h.
anonymous enum |
Enumerator | |
---|---|
kDstInputAttachmentIndex |
Definition at line 44 of file GrVkUniformHandler.h.
Enumerator | |
---|---|
kStd140Layout | |
kStd430Layout | |
kLastLayout |
Definition at line 49 of file GrVkUniformHandler.h.
|
override |
Definition at line 194 of file GrVkUniformHandler.cpp.
|
overrideprivatevirtual |
Reimplemented from GrGLSLUniformHandler.
Definition at line 300 of file GrVkUniformHandler.cpp.
|
overrideprivatevirtual |
Implements GrGLSLUniformHandler.
Definition at line 252 of file GrVkUniformHandler.cpp.
|
overrideprivatevirtual |
Implements GrGLSLUniformHandler.
Definition at line 326 of file GrVkUniformHandler.cpp.
|
inline |
Definition at line 92 of file GrVkUniformHandler.h.
uint32_t GrVkUniformHandler::getRTFlipOffset | ( | ) | const |
Returns the offset that the RTFlip synthetic uniform should use if it needs to be created.
Definition at line 384 of file GrVkUniformHandler.cpp.
|
inlineoverridevirtual |
Shortcut for getUniformVariable(u).c_str()
Implements GrGLSLUniformHandler.
Definition at line 71 of file GrVkUniformHandler.h.
|
inlineoverridevirtual |
|
inlineoverrideprivatevirtual |
Reimplemented from GrGLSLUniformHandler.
Definition at line 143 of file GrVkUniformHandler.h.
|
inlineoverrideprivatevirtual |
Reimplemented from GrGLSLUniformHandler.
Definition at line 136 of file GrVkUniformHandler.h.
|
overrideprivatevirtual |
Implements GrGLSLUniformHandler.
Definition at line 203 of file GrVkUniformHandler.cpp.
|
inlineoverridevirtual |
Implements GrGLSLUniformHandler.
Definition at line 80 of file GrVkUniformHandler.h.
|
inlineoverrideprivatevirtual |
Implements GrGLSLUniformHandler.
Definition at line 125 of file GrVkUniformHandler.h.
|
inlineoverrideprivatevirtual |
Implements GrGLSLUniformHandler.
Definition at line 122 of file GrVkUniformHandler.h.
|
inlineoverridevirtual |
Implements GrGLSLUniformHandler.
Definition at line 87 of file GrVkUniformHandler.h.
|
inlineoverridevirtual |
Implements GrGLSLUniformHandler.
Definition at line 84 of file GrVkUniformHandler.h.
|
inline |
Definition at line 91 of file GrVkUniformHandler.h.
|
friend |
Definition at line 166 of file GrVkUniformHandler.h.
|
friend |
Definition at line 165 of file GrVkUniformHandler.h.
|
staticconstexpr |
Definition at line 37 of file GrVkUniformHandler.h.
|
staticconstexpr |
Definition at line 55 of file GrVkUniformHandler.h.
|
static |
Definition at line 21 of file GrVkUniformHandler.h.