Outputs[] array wasn't large enough, define MAX_PROGRAM_OUTPUTS, new assertions.
diff --git a/src/mesa/shader/prog_execute.h b/src/mesa/shader/prog_execute.h
index 0e73765..1eb9e73 100644
--- a/src/mesa/shader/prog_execute.h
+++ b/src/mesa/shader/prog_execute.h
@@ -35,6 +35,10 @@
                                     GLuint unit, GLfloat color[4]);
 
 
+/** The larger of VERT_RESULT_MAX, FRAG_RESULT_MAX */
+#define MAX_PROGRAM_OUTPUTS VERT_RESULT_MAX
+
+
 /**
  * Virtual machine state used during execution of vertex/fragment programs.
  */
@@ -50,7 +54,7 @@
    GLfloat VertAttribs[VERT_ATTRIB_MAX][4];
 
    GLfloat Temporaries[MAX_PROGRAM_TEMPS][4];
-   GLfloat Outputs[FRAG_RESULT_MAX][4];
+   GLfloat Outputs[MAX_PROGRAM_OUTPUTS][4];
    GLuint CondCodes[4];  /**< COND_* value for x/y/z/w */
 
    GLint AddressReg[MAX_VERTEX_PROGRAM_ADDRESS_REGS][4];