From 4fb77ef840a42c3c8e2a43aa772a73614528fc4d Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 19 Nov 2009 19:31:32 -0800 Subject: [PATCH] i965g: include interpolation info in fs signature --- src/gallium/drivers/i965/brw_context.h | 5 +++-- src/gallium/drivers/i965/brw_pipe_shader.c | 1 + 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]; } -- 2.30.2