diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2006-11-21 10:16:37 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2006-11-21 10:16:37 +0000 |
commit | f58ec215c5669f36c2649acc9cbeda7383b86879 (patch) | |
tree | adba68b4adcb8e4337fc7a64e4058d2ed1fbfe31 /src/mesa/drivers/dri/i965/brw_vs_tnl.c | |
parent | d6f89107ba42724803321c9819f9c836d508b899 (diff) |
Gary Wong's fix for 64 bit cleanness of vertex program inputs bitmask.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vs_tnl.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_tnl.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_tnl.c b/src/mesa/drivers/dri/i965/brw_vs_tnl.c index 52bdb9d761..b7893ca3e5 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_tnl.c +++ b/src/mesa/drivers/dri/i965/brw_vs_tnl.c @@ -146,8 +146,8 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) } /* BRW_NEW_INPUT_VARYING */ - for (i = BRW_ATTRIB_MAT_FRONT_AMBIENT ; i < BRW_ATTRIB_INDEX ; i++) - if (brw->vb.info.varying & (1<<i)) + for (i = BRW_ATTRIB_MAT_FRONT_AMBIENT ; i < BRW_ATTRIB_MAX ; i++) + if (brw->vb.info.varying & ((GLuint64EXT)1<<i)) key->light_material_mask |= 1<<(i-BRW_ATTRIB_MAT_FRONT_AMBIENT); for (i = 0; i < MAX_LIGHTS; i++) { @@ -374,16 +374,17 @@ static void release_temps( struct tnl_program *p ) static struct ureg register_input( struct tnl_program *p, GLuint input ) { + GLuint orig_input = input; /* Cram the material flags into the generic range. We'll translate * them back later. */ if (input >= BRW_ATTRIB_MAT_FRONT_AMBIENT) - input -= BRW_ATTRIB_MAT_FRONT_AMBIENT; + input -= BRW_ATTRIB_MAT_FRONT_AMBIENT - BRW_ATTRIB_GENERIC0; assert(input < 32); p->program->Base.InputsRead |= (1<<input); - return make_ureg(PROGRAM_INPUT, input); + return make_ureg(PROGRAM_INPUT, orig_input); } static struct ureg register_output( struct tnl_program *p, GLuint output ) |