Merge branch 'master' into r300-compiler
authorNicolai Hähnle <nhaehnle@gmail.com>
Sat, 3 Oct 2009 17:30:48 +0000 (19:30 +0200)
committerNicolai Hähnle <nhaehnle@gmail.com>
Sat, 3 Oct 2009 17:30:48 +0000 (19:30 +0200)
1  2 
src/mesa/drivers/dri/r300/r300_fragprog_common.c
src/mesa/drivers/dri/r300/r300_vertprog.c

@@@ -125,11 -131,11 +132,11 @@@ static void insert_WPOS_trailer(struct 
   */
  static void rewriteFog(struct r300_fragment_program_compiler *compiler, struct r300_fragment_program * fp)
  {
 -      struct prog_src_register src;
 +      struct rc_src_register src;
        int i;
  
+       fp->fog_attr = FRAG_ATTRIB_MAX;
        if (!(compiler->Base.Program.InputsRead & FRAG_BIT_FOGC)) {
-               fp->fog_attr = FRAG_ATTRIB_MAX;
                return;
        }
  
                }
        }
  
+       /* No free texcoord found, fall-back to software rendering */
+       if (fp->fog_attr == FRAG_ATTRIB_MAX)
+       {
+               compiler->Base.Error = 1;
+               return;
+       }
        memset(&src, 0, sizeof(src));
 -      src.File = PROGRAM_INPUT;
 +      src.File = RC_FILE_INPUT;
        src.Index = fp->fog_attr;
        src.Swizzle = MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_ZERO, SWIZZLE_ZERO, SWIZZLE_ONE);
        rc_move_input(&compiler->Base, FRAG_ATTRIB_FOGC, src);
@@@ -41,8 -41,9 +41,9 @@@ USE OR OTHER DEALINGS IN THE SOFTWARE
  #include "tnl/tnl.h"
  
  #include "compiler/radeon_compiler.h"
 -#include "compiler/radeon_nqssadce.h"
 +#include "radeon_mesa_to_rc.h"
  #include "r300_context.h"
+ #include "r300_fragprog_common.h"
  #include "r300_state.h"
  
  /**