5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BUFFER_BINDINGS_GLES_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BUFFER_BINDINGS_GLES_H_
8 #include <unordered_map>
30 const std::vector<ShaderStageIOSlot>& inputs,
31 const std::vector<ShaderStageBufferLayout>& layouts);
36 size_t vertex_offset)
const;
49 struct VertexAttribPointer {
52 GLenum type = GL_FLOAT;
53 GLenum normalized = GL_FALSE;
57 std::vector<VertexAttribPointer> vertex_attrib_arrays_;
59 std::unordered_map<std::string, GLint> uniform_locations_;
61 using BindingMap = std::unordered_map<std::string, std::vector<GLint>>;
62 BindingMap binding_map_ = {};
64 const std::vector<GLint>& ComputeUniformLocations(
76 size_t unit_start_index = 0);
85 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BUFFER_BINDINGS_GLES_H_