#include <shader_types.h>
Public Member Functions | |
| constexpr size_t | GetHash () const |
| constexpr bool | operator== (const ShaderStageIOSlot &other) const |
| constexpr VertexAttributeFormat | GetVertexAttributeFormat () const |
| Derives the flat vertex attribute format from this slot's scalar type, bit width, and component count. | |
Public Attributes | |
| const char * | name |
| size_t | location |
| size_t | set |
| size_t | binding |
| ShaderType | type |
| size_t | bit_width |
| size_t | vec_size |
| size_t | columns |
| size_t | offset |
| bool | relaxed_precision |
Definition at line 221 of file shader_types.h.
|
inlineconstexpr |
Definition at line 233 of file shader_types.h.
References binding, bit_width, columns, fml::HashCombine(), location, name, offset, relaxed_precision, set, type, and vec_size.
|
inlineconstexpr |
Derives the flat vertex attribute format from this slot's scalar type, bit width, and component count.
Returns kInvalid for matrices, component counts outside 1 to 4, mismatched bit widths, and scalar kinds that are not valid vertex inputs (boolean, 64-bit integers, and doubles).
Definition at line 258 of file shader_types.h.
References bit_width, columns, FML_UNREACHABLE, impeller::kAtomicCounter, impeller::kBoolean, impeller::kDouble, impeller::kFloat, impeller::kFloat16, impeller::kFloat16x2, impeller::kFloat16x3, impeller::kFloat16x4, impeller::kFloat32, impeller::kFloat32x2, impeller::kFloat32x3, impeller::kFloat32x4, impeller::kHalfFloat, impeller::kImage, impeller::kInvalid, impeller::kSampledImage, impeller::kSampler, impeller::kSignedByte, impeller::kSignedInt, impeller::kSignedInt64, impeller::kSignedShort, impeller::kSInt16, impeller::kSInt16x2, impeller::kSInt16x3, impeller::kSInt16x4, impeller::kSInt32, impeller::kSInt32x2, impeller::kSInt32x3, impeller::kSInt32x4, impeller::kSInt8, impeller::kSInt8x2, impeller::kSInt8x3, impeller::kSInt8x4, impeller::kStruct, impeller::kUInt16, impeller::kUInt16x2, impeller::kUInt16x3, impeller::kUInt16x4, impeller::kUInt32, impeller::kUInt32x2, impeller::kUInt32x3, impeller::kUInt32x4, impeller::kUInt8, impeller::kUInt8x2, impeller::kUInt8x3, impeller::kUInt8x4, impeller::kUnknown, impeller::kUnsignedByte, impeller::kUnsignedInt, impeller::kUnsignedInt64, impeller::kUnsignedShort, impeller::kVoid, type, and vec_size.
|
inlineconstexpr |
| size_t impeller::ShaderStageIOSlot::binding |
Definition at line 225 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), operator==(), flutter::gpu::ParseShaderBundle(), and impeller::testing::TEST_P().
| size_t impeller::ShaderStageIOSlot::bit_width |
Definition at line 227 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), GetVertexAttributeFormat(), operator==(), and flutter::gpu::ParseShaderBundle().
| size_t impeller::ShaderStageIOSlot::columns |
Definition at line 229 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), GetVertexAttributeFormat(), operator==(), and flutter::gpu::ParseShaderBundle().
| size_t impeller::ShaderStageIOSlot::location |
Definition at line 223 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), operator==(), and flutter::gpu::ParseShaderBundle().
| const char* impeller::ShaderStageIOSlot::name |
Definition at line 222 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), operator==(), flutter::gpu::ParseShaderBundle(), and impeller::testing::TEST().
| size_t impeller::ShaderStageIOSlot::offset |
Definition at line 230 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), operator==(), flutter::gpu::ParseShaderBundle(), and impeller::testing::TEST_P().
| bool impeller::ShaderStageIOSlot::relaxed_precision |
Definition at line 231 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), and operator==().
| size_t impeller::ShaderStageIOSlot::set |
Definition at line 224 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), operator==(), and flutter::gpu::ParseShaderBundle().
| ShaderType impeller::ShaderStageIOSlot::type |
Definition at line 226 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), GetVertexAttributeFormat(), operator==(), and flutter::gpu::ParseShaderBundle().
| size_t impeller::ShaderStageIOSlot::vec_size |
Definition at line 228 of file shader_types.h.
Referenced by impeller::ShaderStageCompatibilityChecker< VertexShaderT, FragmentShaderT >::Check(), GetHash(), GetVertexAttributeFormat(), operator==(), and flutter::gpu::ParseShaderBundle().