fix an overflow in SPI_VS_OUT_CONFIG
authorAlex Deucher <alexdeucher@gmail.com>
Tue, 2 Jun 2009 23:20:24 +0000 (19:20 -0400)
committerAlex Deucher <alexdeucher@gmail.com>
Tue, 2 Jun 2009 23:20:24 +0000 (19:20 -0400)
VS must always export at least 1 param.

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

index a827de197be2c9a5194fba1a85ef2ddc19f13c68..ecb72549febc197cc4b1f8eed1296e237b19c53f 100644 (file)
@@ -383,7 +383,7 @@ GLboolean r700SetupVertexProgram(GLcontext * ctx)
                  STACK_SIZE_shift, STACK_SIZE_mask);
     }
 
-    SETfield(r700->SPI_VS_OUT_CONFIG.u32All, vp->r700Shader.nParamExports - 1,
+    SETfield(r700->SPI_VS_OUT_CONFIG.u32All, vp->r700Shader.nParamExports ? (vp->r700Shader.nParamExports - 1) : 0,
              VS_EXPORT_COUNT_shift, VS_EXPORT_COUNT_mask);
        SETfield(r700->SPI_PS_IN_CONTROL_0.u32All, vp->r700Shader.nParamExports,
              NUM_INTERP_shift, NUM_INTERP_mask);