galahad: do map/unmap counting for resources
[mesa.git] / src / gallium / drivers / i965 / brw_vs.h
index 58119567dcf2da88644f9cb6698a94b1b6a3fb0b..944d88c84cc8028157922539fc8d157a5c0c0857 100644 (file)
 struct brw_vs_prog_key {
    GLuint program_string_id;
    GLuint nr_userclip:4;
-   GLuint copy_edgeflag:1;
    GLuint pad:26;
+   struct brw_fs_signature fs_signature;
 };
 
+#define brw_vs_prog_key_size(s) (offsetof(struct brw_vs_prog_key, fs_signature) + \
+                                 brw_fs_signature_size(&(s)->fs_signature))
 
 
 #define MAX_IF_DEPTH 32
@@ -54,15 +56,17 @@ struct brw_vs_compile {
    struct brw_compile func;
    struct brw_vs_prog_key key;
    struct brw_vs_prog_data prog_data;
+   struct brw_chipset chipset;
 
    struct brw_vertex_shader *vp;
 
    GLuint nr_inputs;
    GLuint nr_outputs;
-   GLboolean copy_edgeflag;
+   GLuint nr_immediates;
+   GLfloat immediate[128][4];
 
-   GLuint first_output;
-   GLuint first_overflow_output; /**< VERT_ATTRIB_x */
+   GLuint overflow_grf_start;
+   GLuint overflow_count;
 
    GLuint first_tmp;
    GLuint last_tmp;
@@ -88,7 +92,12 @@ struct brw_vs_compile {
 
    struct brw_instruction *if_inst[MAX_IF_DEPTH];
    struct brw_instruction *loop_inst[MAX_LOOP_DEPTH];
+   GLuint insn;
+   GLuint if_depth;
+   GLuint loop_depth;
+   GLuint end_offset;
 
+   struct brw_indirect stack_index;
 };