mesa: Refactor copying of linked program data.
[mesa.git] / src / mesa / main / shaderapi.c
index 3f9402c598cb42cb807abcb98f698a63f1051ed9..8a0909be13f51fe1211bead26052f6e07f699492 100644 (file)
@@ -1842,3 +1842,24 @@ _mesa_CreateShaderProgramEXT(GLenum type, const GLchar *string)
 
    return program;
 }
+
+
+/**
+ * Copy program-specific data generated by linking from the gl_shader_program
+ * object to a specific gl_program object.
+ */
+void
+_mesa_copy_linked_program_data(gl_shader_type type,
+                               const struct gl_shader_program *src,
+                               struct gl_program *dst)
+{
+   switch (type) {
+   case MESA_SHADER_VERTEX: {
+      struct gl_vertex_program *dst_vp = (struct gl_vertex_program *) dst;
+      dst_vp->UsesClipDistance = src->Vert.UsesClipDistance;
+   }
+      break;
+   default:
+      break;
+   }
+}