Merge commit 'origin/master' into i965g-restart
[mesa.git] / src / mesa / main / ffvertex_prog.c
index 8e21a27f897c08ff1c4ee5f0ea3b7e748149d40b..5cfa898031edabfeb4655e157f0a432afc83e339 100644 (file)
@@ -46,6 +46,9 @@
 #include "shader/prog_statevars.h"
 
 
+/** Max of number of lights and texture coord units */
+#define NUM_UNITS MAX2(MAX_TEXTURE_COORD_UNITS, MAX_LIGHTS)
+
 struct state_key {
    unsigned light_color_material_mask:12;
    unsigned light_global_enabled:1;
@@ -77,7 +80,7 @@ struct state_key {
       unsigned texgen_mode1:4;
       unsigned texgen_mode2:4;
       unsigned texgen_mode3:4;
-   } unit[8];
+   } unit[NUM_UNITS];
 };
 
 
@@ -435,7 +438,7 @@ static struct ureg register_input( struct tnl_program *p, GLuint input )
  */
 static struct ureg register_output( struct tnl_program *p, GLuint output )
 {
-   p->program->Base.OutputsWritten |= (1<<output);
+   p->program->Base.OutputsWritten |= BITFIELD64_BIT(output);
    return make_ureg(PROGRAM_OUTPUT, output);
 }
 
@@ -520,7 +523,6 @@ static void emit_dst( struct prog_dst_register *dst,
    dst->CondMask = COND_TR;  /* always pass cond test */
    dst->CondSwizzle = SWIZZLE_NOOP;
    dst->CondSrc = 0;
-   dst->pad = 0;
    /* Check that bitfield sizes aren't exceeded */
    ASSERT(dst->Index == reg.idx);
 }