From: Brian Paul <[email protected]>

define a PROG_MAX_WIDTH var instead.  It has to match MAX_WIDTH in
swrast.  More elaborate refactoring could fix that (someday).
---
 src/mesa/program/prog_execute.h |    6 +++++-
 src/mesa/swrast/s_context.c     |    2 ++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/mesa/program/prog_execute.h b/src/mesa/program/prog_execute.h
index cdf3708..1ae302c 100644
--- a/src/mesa/program/prog_execute.h
+++ b/src/mesa/program/prog_execute.h
@@ -39,6 +39,10 @@ typedef void (*FetchTexelDerivFunc)(struct gl_context *ctx, 
const GLfloat texcoo
                                     GLuint unit, GLfloat color[4]);
 
 
+/** NOTE: This must match SWRAST_MAX_WIDTH */
+#define PROG_MAX_WIDTH 16384
+
+
 /**
  * Virtual machine state used during execution of vertex/fragment programs.
  */
@@ -47,7 +51,7 @@ struct gl_program_machine
    const struct gl_program *CurProgram;
 
    /** Fragment Input attributes */
-   GLfloat (*Attribs)[MAX_WIDTH][4];
+   GLfloat (*Attribs)[PROG_MAX_WIDTH][4];
    GLfloat (*DerivX)[4];
    GLfloat (*DerivY)[4];
    GLuint NumDeriv; /**< Max index into DerivX/Y arrays */
diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c
index ffa2687..94ad48d 100644
--- a/src/mesa/swrast/s_context.c
+++ b/src/mesa/swrast/s_context.c
@@ -736,6 +736,8 @@ _swrast_CreateContext( struct gl_context *ctx )
    assert((1 << (ctx->Const.MaxCubeTextureLevels - 1)) <= SWRAST_MAX_WIDTH);
    assert((1 << (ctx->Const.Max3DTextureLevels - 1)) <= SWRAST_MAX_WIDTH);
 
+   assert(PROG_MAX_WIDTH == SWRAST_MAX_WIDTH);
+
    if (SWRAST_DEBUG) {
       _mesa_debug(ctx, "_swrast_CreateContext\n");
    }
-- 
1.7.3.4

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to