message: Only process program pipeline being bound if it's non-zero
  * Unbinding the pipeline by setting 0 should still be serialised, but there's
  nothing to reference or query for.
diff: @@ -1756,6 +1756,9 @@ void WrappedOpenGL::glBindProgramPipeline(GLuint pipeline)
  Serialise_glBindProgramPipeline(ser, pipeline);
  GetContextRecord()->AddChunk(scope.Get());
  +
  + if(pipeline != 0)
  + {
  GetResourceManager()->MarkResourceFrameReferenced(ProgramPipeRes(GetCtx(), pipeline),
  eFrameRef_Read);
  // mark all the sub programs referenced
  @@ -1769,7 +1772,9 @@ void WrappedOpenGL::glBindProgramPipeline(GLuint pipeline)
  GLuint prog = 0;
  GL.glGetProgramPipelineiv(pipeline, progbind, (GLint *)&prog);
  if(prog)
  - GetResourceManager()->MarkResourceFrameReferenced(ProgramRes(GetCtx(), prog), eFrameRef_Read);
  + GetResourceManager()->MarkResourceFrameReferenced(ProgramRes(GetCtx(), prog),
  + eFrameRef_Read);
  + }
  }
  }
  }
  