r600: Remove unnecessary headers.
[mesa.git] / src / mesa / drivers / dri / r600 / r700_vertprog.h
index 6a9726a3d0f5e59985abf335414b3b10b533bd9b..645c9ac84aae4e7346e4e6f8e53cd3e7d67066ab 100644 (file)
@@ -39,50 +39,64 @@ typedef struct ArrayDesc //TEMP
        GLint size;   //number of data element
        GLenum type;  //data element type
        GLsizei stride;
+       GLenum format; //GL_RGBA or GL_BGRA
 } ArrayDesc;
 
 struct r700_vertex_program 
 {
-    struct gl_vertex_program mesa_program; /* Must be first */
+    struct gl_vertex_program *mesa_program; /* Must be first */
 
-       struct r700_vertex_program *next;
+    struct r700_vertex_program *next;
 
     r700_AssemblerBase r700AsmCode;
     R700_Shader        r700Shader;
 
-       GLboolean translated;
+    GLboolean translated;
     GLboolean loaded;
-       
-       /* ... */
 
     void * shaderbo;
 
-       ArrayDesc              aos_desc[VERT_ATTRIB_MAX];
+    ArrayDesc              aos_desc[VERT_ATTRIB_MAX];
+};
+
+struct r700_vertex_program_cont
+{
+    struct gl_vertex_program mesa_program;
+
+    struct r700_vertex_program *progs;
 };
 
 //Internal
 unsigned int Map_Vertex_Output(r700_AssemblerBase       *pAsm, 
-                                                  struct gl_vertex_program *mesa_vp,
-                                                  unsigned int unStart);
+                              struct gl_vertex_program *mesa_vp,
+                              unsigned int unStart);
 unsigned int Map_Vertex_Input(r700_AssemblerBase       *pAsm, 
-                                                 struct gl_vertex_program *mesa_vp,
-                                                 unsigned int unStart);
+                             struct gl_vertex_program *mesa_vp,
+                             unsigned int unStart);
 GLboolean Process_Vertex_Program_Vfetch_Instructions(
-                                               struct r700_vertex_program *vp,
-                                               struct gl_vertex_program   *mesa_vp);
-void Map_Vertex_Program(struct r700_vertex_program *vp,
-                                               struct gl_vertex_program   *mesa_vp);
+       struct r700_vertex_program *vp,
+       struct gl_vertex_program   *mesa_vp);
+GLboolean Process_Vertex_Program_Vfetch_Instructions2(
+    GLcontext *ctx,
+       struct r700_vertex_program *vp,
+       struct gl_vertex_program   *mesa_vp);
+void Map_Vertex_Program(GLcontext *ctx,
+            struct r700_vertex_program *vp,
+                       struct gl_vertex_program   *mesa_vp);
 GLboolean Find_Instruction_Dependencies_vp(struct r700_vertex_program *vp,
-                                                                  struct gl_vertex_program   *mesa_vp);
+                                          struct gl_vertex_program   *mesa_vp);
 
-/* Interface */
-extern GLboolean r700TranslateVertexShader(struct r700_vertex_program *vp,
-                                                          struct gl_vertex_program   *mesa_vp);
+struct r700_vertex_program* r700TranslateVertexShader(GLcontext *ctx,
+                                                     struct gl_vertex_program   *mesa_vp);
 
+/* Interface */
 extern void r700SelectVertexShader(GLcontext *ctx);
+extern void r700SetVertexFormat(GLcontext *ctx, const struct gl_client_array *arrays[], int count);
 
 extern GLboolean r700SetupVertexProgram(GLcontext * ctx);
 
 extern void *    r700GetActiveVpShaderBo(GLcontext * ctx);
 
+extern int getTypeSize(GLenum type);
+
 #endif /* _R700_VERTPROG_H_ */