Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
SkRuntimeEffect::Uniform Struct Reference

#include <SkRuntimeEffect.h>

Public Types

enum class  Type {
  kFloat , kFloat2 , kFloat3 , kFloat4 ,
  kFloat2x2 , kFloat3x3 , kFloat4x4 , kInt ,
  kInt2 , kInt3 , kInt4
}
 
enum  Flags {
  kArray_Flag = 0x1 , kColor_Flag = 0x2 , kVertex_Flag = 0x4 , kFragment_Flag = 0x8 ,
  kHalfPrecision_Flag = 0x10
}
 

Public Member Functions

bool isArray () const
 
bool isColor () const
 
size_t sizeInBytes () const
 

Public Attributes

std::string_view name
 
size_t offset
 
Type type
 
int count
 
uint32_t flags
 

Detailed Description

Definition at line 62 of file SkRuntimeEffect.h.

Member Enumeration Documentation

◆ Flags

Enumerator
kArray_Flag 
kColor_Flag 
kVertex_Flag 
kFragment_Flag 
kHalfPrecision_Flag 

Definition at line 77 of file SkRuntimeEffect.h.

77 {
78 // Uniform is declared as an array. 'count' contains array length.
79 kArray_Flag = 0x1,
80
81 // Uniform is declared with layout(color). Colors should be supplied as unpremultiplied,
82 // extended-range (unclamped) sRGB (ie SkColor4f). The uniform will be automatically
83 // transformed to unpremultiplied extended-range working-space colors.
84 kColor_Flag = 0x2,
85
86 // When used with SkMeshSpecification, indicates that the uniform is present in the
87 // vertex shader. Not used with SkRuntimeEffect.
88 kVertex_Flag = 0x4,
89
90 // When used with SkMeshSpecification, indicates that the uniform is present in the
91 // fragment shader. Not used with SkRuntimeEffect.
92 kFragment_Flag = 0x8,
93
94 // This flag indicates that the SkSL uniform uses a medium-precision type
95 // (i.e., `half` instead of `float`).
97 };

◆ Type

enum class SkRuntimeEffect::Uniform::Type
strong

Member Function Documentation

◆ isArray()

bool SkRuntimeEffect::Uniform::isArray ( ) const
inline

Definition at line 105 of file SkRuntimeEffect.h.

105{ return SkToBool(this->flags & kArray_Flag); }
static constexpr bool SkToBool(const T &x)
Definition SkTo.h:35

◆ isColor()

bool SkRuntimeEffect::Uniform::isColor ( ) const
inline

Definition at line 106 of file SkRuntimeEffect.h.

106{ return SkToBool(this->flags & kColor_Flag); }

◆ sizeInBytes()

size_t SkRuntimeEffect::Uniform::sizeInBytes ( ) const

Definition at line 730 of file SkRuntimeEffect.cpp.

730 {
731 static_assert(sizeof(int) == sizeof(float));
732 return uniform_element_size(this->type) * this->count;
733}
static size_t uniform_element_size(SkRuntimeEffect::Uniform::Type type)
Type::kYUV Type::kRGBA() int(0.7 *637)

Member Data Documentation

◆ count

int SkRuntimeEffect::Uniform::count

Definition at line 102 of file SkRuntimeEffect.h.

◆ flags

uint32_t SkRuntimeEffect::Uniform::flags

Definition at line 103 of file SkRuntimeEffect.h.

◆ name

std::string_view SkRuntimeEffect::Uniform::name

Definition at line 99 of file SkRuntimeEffect.h.

◆ offset

size_t SkRuntimeEffect::Uniform::offset

Definition at line 100 of file SkRuntimeEffect.h.

◆ type

Type SkRuntimeEffect::Uniform::type

Definition at line 101 of file SkRuntimeEffect.h.


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