+void RenderPass::ensure_private_shader_data()
+{
+ if(!shprog)
+ throw invalid_operation("RenderPass::ensure_private_shader_data");
+
+ if(!shdata)
+ shdata = new ProgramData(shprog);
+ else if(shdata.refcount() > 1)
+ shdata = new ProgramData(*shdata);
+}
+