+ GLint pipeline = 0;
+ GLint vertex_program = 0;
+ GLint fragment_program = 0;
+ GLint geometry_program = 0;
+ GLint tess_control_program = 0;
+ GLint tess_evaluation_program = 0;
+
+ if (!context.ES) {
+ glGetIntegerv(GL_PROGRAM_PIPELINE_BINDING, &pipeline);
+ if (pipeline) {
+ glGetProgramPipelineiv(pipeline, GL_VERTEX_SHADER, &vertex_program);
+ glGetProgramPipelineiv(pipeline, GL_FRAGMENT_SHADER, &fragment_program);
+ glGetProgramPipelineiv(pipeline, GL_GEOMETRY_SHADER, &geometry_program);
+ glGetProgramPipelineiv(pipeline, GL_TESS_CONTROL_SHADER, &tess_control_program);
+ glGetProgramPipelineiv(pipeline, GL_TESS_EVALUATION_SHADER, &tess_evaluation_program);
+ }
+ }