Merge commit 'origin/master' into gallium-0.2
authorBrian Paul <brianp@vmware.com>
Fri, 2 Jan 2009 23:32:26 +0000 (16:32 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 2 Jan 2009 23:32:26 +0000 (16:32 -0700)
Conflicts:

src/mesa/main/ffvertex_prog.c
src/mesa/main/texenvprogram.c

1  2 
progs/glsl/Makefile
src/mesa/main/bufferobj.c
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/enable.c
src/mesa/main/ffvertex_prog.c
src/mesa/main/mtypes.h
src/mesa/main/texenvprogram.c
src/mesa/shader/prog_parameter.c
src/mesa/shader/slang/slang_link.c

index ff6359d0344680227183cddfd587cb993ae1dbea,6ba24feade5c32d45bb5d241eb61576e16f3e877..9c31ef67b0169d21c93735543d4159bbdeca5871
@@@ -153,17 -147,24 +154,24 @@@ points: points.o shaderutil.
  
  
  pointcoord.o: pointcoord.c readtex.h extfuncs.h shaderutil.h
 -      $(CC) -c -I$(INCDIR) $(CFLAGS) pointcoord.c
 +      $(APP_CC) -c -I$(INCDIR) $(CFLAGS) pointcoord.c
  
  pointcoord: pointcoord.o readtex.o shaderutil.o
 -      $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) pointcoord.o readtex.o shaderutil.o $(LIBS) -o $@
 +      $(APP_CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) pointcoord.o readtex.o shaderutil.o $(LIBS) -o $@
  
  
+ samplers.o: samplers.c readtex.h extfuncs.h shaderutil.h
+       $(CC) -c -I$(INCDIR) $(CFLAGS) samplers.c
+ samplers: samplers.o readtex.o shaderutil.o
+       $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) samplers.o readtex.o shaderutil.o $(LIBS) -o $@
  skinning.o: skinning.c readtex.h extfuncs.h shaderutil.h
 -      $(CC) -c -I$(INCDIR) $(CFLAGS) skinning.c
 +      $(APP_CC) -c -I$(INCDIR) $(CFLAGS) skinning.c
  
  skinning: skinning.o readtex.o shaderutil.o
 -      $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) skinning.o readtex.o shaderutil.o $(LIBS) -o $@
 +      $(APP_CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) skinning.o readtex.o shaderutil.o $(LIBS) -o $@
  
  
  texdemo1.o: texdemo1.c readtex.h extfuncs.h shaderutil.h
Simple merge
Simple merge
Simple merge
Simple merge
index ec0a5e3896d91e1645347c395d698c81fffb7a52,cc1b44de64288488baae1b59640680d047a27d63..d70b78f2586a304e345f6775aaedf068cd82b14f
@@@ -482,17 -459,11 +487,18 @@@ static struct ureg register_param5(stru
   */
  static struct ureg register_input( struct tnl_program *p, GLuint input )
  {
 -   p->program->Base.InputsRead |= (1<<input);
 -   return make_ureg(PROGRAM_INPUT, input);
 +   /* Material attribs are passed here as inputs >= 32
 +    */
 +   if (input >= 32 || (p->state->varying_vp_inputs & (1<<input))) {
 +      p->program->Base.InputsRead |= (1<<input);
 +      return make_ureg(PROGRAM_INPUT, input);
 +   }
 +   else {
 +      return register_param3( p, STATE_INTERNAL, STATE_CURRENT_ATTRIB, input );
 +   }
  }
  
  /**
   * \param input  one of VERT_RESULT_x tokens.
   */
Simple merge
index bd33cb4e0552ae7009d99ea808a02e911f2f2557,6a57d50193c76b433523ce1eaeab76980772d868..48abf51d89057f0b0eccdfb000ec2003c2c2d920
@@@ -48,9 -63,11 +63,9 @@@ struct texenvprog_cache_ite
  
  
  /**
 - * This MAX is probably a bit generous, but that's OK.  There can be
 - * up to four instructions per texture unit (TEX + 3 for combine),
 - * then there's fog and specular add.
 + * Up to nine instructions per tex unit, plus fog, specular color.
   */
- #define MAX_INSTRUCTIONS ((MAX_TEXTURE_UNITS * 9) + 12)
 -#define MAX_INSTRUCTIONS ((MAX_TEXTURE_COORD_UNITS * 4) + 12)
++#define MAX_INSTRUCTIONS ((MAX_TEXTURE_COORD_UNITS * 9) + 12)
  
  #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM)
  
@@@ -308,12 -223,10 +323,12 @@@ static GLbitfield get_fp_input_mask( GL
  static void make_state_key( GLcontext *ctx,  struct state_key *key )
  {
     GLuint i, j;
 -      
 +   GLbitfield inputs_referenced = FRAG_BIT_COL0;
 +   GLbitfield inputs_available = get_fp_input_mask( ctx );
 +
     memset(key, 0, sizeof(*key));
  
-    for (i=0;i<MAX_TEXTURE_UNITS;i++) {
+    for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
        const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i];
        GLenum format;
  
@@@ -411,12 -316,12 +426,12 @@@ struct texenv_fragment_program 
     GLcontext *ctx;
     struct state_key *state;
  
 -   GLbitfield alu_temps;      /* Track texture indirections, see spec. */
 -   GLbitfield temps_output;   /* Track texture indirections, see spec. */
 -   GLbitfield temp_in_use;    /* Tracks temporary regs which are in use. */
 +   GLbitfield alu_temps;      /**< Track texture indirections, see spec. */
 +   GLbitfield temps_output;   /**< Track texture indirections, see spec. */
 +   GLbitfield temp_in_use;    /**< Tracks temporary regs which are in use. */
     GLboolean error;
  
-    struct ureg src_texture[MAX_TEXTURE_UNITS];   
+    struct ureg src_texture[MAX_TEXTURE_COORD_UNITS];   
     /* Reg containing each texture unit's sampled texture color,
      * else undef.
      */
Simple merge
Simple merge