return prog_begin;
}
-void ProgramData::apply(const Program &prog, PipelineState &state) const
+void ProgramData::apply(const Program &prog, PipelineState &state, unsigned frame) const
{
auto prog_begin = prepare_program(prog);
ReflectData::LayoutHash prog_hash = prog_begin->prog_hash;
+
for(auto i=prog_begin+1; (i!=programs.end() && i->prog_hash==prog_hash); ++i)
if(i->block)
{
state.set_uniform_block(i->bind_point, i->block);
if(i->bind_point>=0)
- i->block->refresh();
+ i->block->refresh(frame);
}
}