reflect_data.n_clip_distances = m.array_size;
}
-const ReflectData::UniformBlockInfo &Program::get_uniform_block_info(const string &name) const
-{
- auto i = find_member(reflect_data.uniform_blocks, name, &ReflectData::UniformBlockInfo::name);
- if(i==reflect_data.uniform_blocks.end())
- throw key_error(name);
- return *i;
-}
-
int Program::get_uniform_block_binding(Tag tag) const
{
auto i = lower_bound_member(reflect_data.uniform_blocks, tag, &ReflectData::UniformBlockInfo::tag);
return i!=reflect_data.uniform_blocks.end() && i->tag==tag ? i->bind_point : -1;
}
-const ReflectData::UniformInfo &Program::get_uniform_info(const string &name) const
-{
- auto i = lower_bound_member(reflect_data.uniforms, Tag(name), &ReflectData::UniformInfo::tag);
- if(i==reflect_data.uniforms.end() || i->name!=name)
- throw key_error(name);
- return *i;
-}
-
const ReflectData::UniformInfo &Program::get_uniform_info(Tag tag) const
{
auto i = lower_bound_member(reflect_data.uniforms, tag, &ReflectData::UniformInfo::tag);
unsigned get_n_descriptor_sets() const { return reflect_data.n_descriptor_sets; }
unsigned get_push_constants_size() const { return reflect_data.push_constants_size; }
const std::vector<ReflectData::UniformBlockInfo> &get_uniform_blocks() const { return reflect_data.uniform_blocks; }
- const ReflectData::UniformBlockInfo &get_uniform_block_info(const std::string &) const;
int get_uniform_block_binding(Tag) const;
const std::vector<ReflectData::UniformInfo> &get_uniforms() const { return reflect_data.uniforms; }
- const ReflectData::UniformInfo &get_uniform_info(const std::string &) const;
const ReflectData::UniformInfo &get_uniform_info(Tag) const;
int get_uniform_location(const std::string &) const;
int get_uniform_location(Tag) const;