summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i965/brw_vs.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-10 18:07:11 -0800
committerKeith Whitwell <keithw@vmware.com>2009-11-11 18:51:58 -0800
commit2f54d02d205468a840b35a3554f2ad8ffc31ec9c (patch)
treeac443da5e09a40acf67fa83905f6494e82685207 /src/gallium/drivers/i965/brw_vs.h
parent0c547d63c497f06c38f7a3c000e478bdcf2594b6 (diff)
i965g: consult fs inputs when laying out vs output regs
Vertex shader now emits just the FS inputs, in the positions and order expected by the fragment shader. This means potentially regenerating the vertex shader to match different fragment shader's input layouts.
Diffstat (limited to 'src/gallium/drivers/i965/brw_vs.h')
-rw-r--r--src/gallium/drivers/i965/brw_vs.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/i965/brw_vs.h b/src/gallium/drivers/i965/brw_vs.h
index b4e450d89b..3d1598d02b 100644
--- a/src/gallium/drivers/i965/brw_vs.h
+++ b/src/gallium/drivers/i965/brw_vs.h
@@ -43,8 +43,11 @@ struct brw_vs_prog_key {
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
@@ -65,8 +68,8 @@ struct brw_vs_compile {
GLboolean copy_edgeflag;
- GLuint first_output;
- GLuint first_overflow_output; /**< VERT_ATTRIB_x */
+ GLuint overflow_grf_start;
+ GLuint overflow_count;
GLuint first_tmp;
GLuint last_tmp;