if(self.changes&pipeline_mask)
handle = device.get_pipeline_cache().get_pipeline(self);
- if(self.changes&(PipelineState::UNIFORMS|PipelineState::TEXTURES))
+ if(self.changes&(PipelineState::SHPROG|PipelineState::UNIFORMS|PipelineState::TEXTURES))
{
- unsigned changed_sets = 0;
+ unsigned changed_sets = (self.changes&PipelineState::SHPROG ? ~0U : 0U);
for(const PipelineState::BoundUniformBlock &u: self.uniform_blocks)
if(u.changed && u.binding>=0)
{