summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/i965/brw_context.h5
-rw-r--r--src/gallium/drivers/i965/brw_pipe_shader.c1
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/i965/brw_context.h b/src/gallium/drivers/i965/brw_context.h
index 65859be0ec5..64279c46768 100644
--- a/src/gallium/drivers/i965/brw_context.h
+++ b/src/gallium/drivers/i965/brw_context.h
@@ -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];
};
diff --git a/src/gallium/drivers/i965/brw_pipe_shader.c b/src/gallium/drivers/i965/brw_pipe_shader.c
index c755fa68896..3222ee7777a 100644
--- a/src/gallium/drivers/i965/brw_pipe_shader.c
+++ b/src/gallium/drivers/i965/brw_pipe_shader.c
@@ -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];
}