i965g: include interpolation info in fs signature
authorKeith Whitwell <keithw@vmware.com>
Fri, 20 Nov 2009 03:31:32 +0000 (19:31 -0800)
committerKeith Whitwell <keithw@vmware.com>
Fri, 20 Nov 2009 03:31:32 +0000 (19:31 -0800)
src/gallium/drivers/i965/brw_context.h
src/gallium/drivers/i965/brw_pipe_shader.c

index 65859be0ec566938bc21e41e24d15befd7e885b2..64279c46768f357e9d605376cec1bb7ad4277eac 100644 (file)
@@ -174,8 +174,9 @@ struct brw_vertex_shader {
 struct brw_fs_signature {
    GLuint nr_inputs;
    struct {
-      GLuint semantic:5;
-      GLuint semantic_index:27;
+      GLuint interp:3;          /* TGSI_INTERPOLATE_x */
+      GLuint semantic:5;        /* TGSI_SEMANTIC_x */
+      GLuint semantic_index:24;
    } input[PIPE_MAX_SHADER_INPUTS];
 };
 
index c755fa688962ff7672d0a9dbc126b3e6088d99c8..3222ee7777afa84a4c3d34b6dfff625ab85a11c7 100644 (file)
@@ -109,6 +109,7 @@ static void *brw_create_fs_state( struct pipe_context *pipe,
 
    fs->signature.nr_inputs = fs->info.num_inputs;
    for (i = 0; i < fs->info.num_inputs; i++) {
+      fs->signature.input[i].interp = fs->info.input_interpolate[i];
       fs->signature.input[i].semantic = fs->info.input_semantic_name[i];
       fs->signature.input[i].semantic_index = fs->info.input_semantic_index[i];
    }