r600: fix textures
authorAlex Deucher <alexdeucher@gmail.com>
Mon, 27 Jul 2009 07:52:37 +0000 (03:52 -0400)
committerAlex Deucher <alexdeucher@gmail.com>
Mon, 27 Jul 2009 07:52:37 +0000 (03:52 -0400)
We weren't allocating enough gprs for the fragment shader
in some cases.  There are likely other issues that still need
to be sorted out for textures, but at least they now work.

src/mesa/drivers/dri/r600/r700_fragprog.c

index 44de2aebee693c1014f8fd9bbd12a51258af7792..3afd0b052881d0af8a9ef82ed04c99e4464f4401 100644 (file)
@@ -299,7 +299,7 @@ GLboolean r700SetupFragmentProgram(GLcontext * ctx)
 
     ui = (r700->SPI_PS_IN_CONTROL_0.u32All & NUM_INTERP_mask) / (1 << NUM_INTERP_shift);
 
-    ui = ui ? ui : unNumOfReg;
+    ui = (unNumOfReg < ui) ? ui : unNumOfReg;
 
     SETfield(r700->ps.SQ_PGM_RESOURCES_PS.u32All, ui, NUM_GPRS_shift, NUM_GPRS_mask);