};
// XXX All these mutables are a bit silly, but I'm out of better ideas
const Program *tied_program;
std::vector<TaggedUniform> uniforms;
};
// XXX All these mutables are a bit silly, but I'm out of better ideas
const Program *tied_program;
std::vector<TaggedUniform> uniforms;
mutable std::vector<SharedBlock> blocks;
mutable std::vector<ProgramBlock> programs;
mutable BufferBackedUniformBlock *last_buffer_block;
mutable Buffer *buffer;
mutable Mask dirty;
mutable std::vector<SharedBlock> blocks;
mutable std::vector<ProgramBlock> programs;
mutable BufferBackedUniformBlock *last_buffer_block;
mutable Buffer *buffer;
mutable Mask dirty;
void uniform_array(Tag, unsigned, V);
bool validate_tag(Tag) const;
void add_uniform(Tag, Uniform *);
void uniform_array(Tag, unsigned, V);
bool validate_tag(Tag) const;
void add_uniform(Tag, Uniform *);
std::vector<Tag> get_uniform_tags() const;
const Uniform &get_uniform(Tag) const;
const Uniform *find_uniform(Tag) const;
std::vector<Tag> get_uniform_tags() const;
const Uniform &get_uniform(Tag) const;
const Uniform *find_uniform(Tag) const;
private:
int find_uniform_index(Tag) const;
std::vector<ProgramBlock>::iterator get_program(const Program &) const;
private:
int find_uniform_index(Tag) const;
std::vector<ProgramBlock>::iterator get_program(const Program &) const;
- void update_block_uniform_indices(SharedBlock &, const Program::UniformBlockInfo &) const;
- void update_block(SharedBlock &, const Program::UniformBlockInfo &) const;
+ void update_block_uniform_indices(SharedBlock &, const ReflectData::UniformBlockInfo &) const;
+ void update_block(SharedBlock &, const ReflectData::UniformBlockInfo &) const;