class Buffer;
class BufferBackedUniformBlock;
+class PipelineState;
class UniformBlock;
struct Color;
mutable BufferBackedUniformBlock *last_buffer_block;
mutable Buffer *buffer;
mutable Mask dirty;
+ std::string debug_name;
public:
ProgramData(const Program * = 0);
void update_block_uniform_indices(SharedBlock &, const Program::UniformBlockInfo &) const;
void update_block(SharedBlock &, const Program::UniformBlockInfo &) const;
+ std::vector<ProgramBlock>::const_iterator prepare_program(const Program &) const;
public:
- /** Applies uniform blocks for the currently bound program, creating them
- if needed. */
- void apply() const;
+ void apply(const Program &, PipelineState &) const;
+
+ void set_debug_name(const std::string &);
};
template<typename T, unsigned N>