5#ifndef FLUTTER_IMPELLER_RENDERER_VERTEX_DESCRIPTOR_H_
6#define FLUTTER_IMPELLER_RENDERER_VERTEX_DESCRIPTOR_H_
33 template <
size_t Size,
size_t LayoutSize>
35 const std::array<const ShaderStageIOSlot*, Size>&
inputs,
36 const std::array<const ShaderStageBufferLayout*, LayoutSize>& layout) {
42 const std::vector<ShaderStageBufferLayout>& layout);
44 template <
size_t Size>
46 const std::array<DescriptorSetLayout, Size>&
inputs) {
65 std::size_t
GetHash()
const override;
73 std::vector<ShaderStageIOSlot> inputs_;
74 std::vector<ShaderStageBufferLayout> layouts_;
75 std::vector<DescriptorSetLayout> desc_set_layouts_;
76 bool uses_input_attachments_ =
false;
Describes the format and layout of vertices expected by the pipeline. While it is possible to constru...
const std::vector< ShaderStageIOSlot > & GetStageInputs() const
void RegisterDescriptorSetLayouts(const std::array< DescriptorSetLayout, Size > &inputs)
bool IsEqual(const VertexDescriptor &other) const override
static constexpr size_t kReservedVertexBufferIndex
virtual ~VertexDescriptor()
const std::vector< DescriptorSetLayout > & GetDescriptorSetLayouts() const
const std::vector< ShaderStageBufferLayout > & GetStageLayouts() const
std::size_t GetHash() const override
void SetStageInputs(const std::array< const ShaderStageIOSlot *, Size > &inputs, const std::array< const ShaderStageBufferLayout *, LayoutSize > &layout)
bool UsesInputAttacments() const