This is a bitfield of FRAG_BIT_x values so it should be 64-bits now. --- src/mesa/swrast/s_context.c | 2 +- src/mesa/swrast/s_context.h | 4 ++-- src/mesa/swrast/s_span.c | 5 +++-- src/mesa/swrast/s_span.h | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c index 14f7be1..02cef97 100644 --- a/src/mesa/swrast/s_context.c +++ b/src/mesa/swrast/s_context.c @@ -493,7 +493,7 @@ static void _swrast_update_active_attribs(struct gl_context *ctx) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - GLuint attribsMask; + GLbitfield64 attribsMask; /* * Compute _ActiveAttribsMask = which fragment attributes are needed. diff --git a/src/mesa/swrast/s_context.h b/src/mesa/swrast/s_context.h index af9e49e..0a383aa 100644 --- a/src/mesa/swrast/s_context.h +++ b/src/mesa/swrast/s_context.h @@ -196,8 +196,8 @@ typedef struct /** List/array of the fragment attributes to interpolate */ GLuint _ActiveAttribs[FRAG_ATTRIB_MAX]; - /** Same info, but as a bitmask */ - GLbitfield _ActiveAttribMask; + /** Same info, but as a bitmask of FRAG_BIT_x bits */ + GLbitfield64 _ActiveAttribMask; /** Number of fragment attributes to interpolate */ GLuint _NumActiveAttribs; /** Indicates how each attrib is to be interpolated (lines/tris) */ diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 8f02eea..689fe34 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -163,7 +163,8 @@ _swrast_span_default_attribs(struct gl_context *ctx, SWspan *span) * should have computed attrStart/Step values for FRAG_ATTRIB_WPOS[3]! */ static inline void -interpolate_active_attribs(struct gl_context *ctx, SWspan *span, GLbitfield attrMask) +interpolate_active_attribs(struct gl_context *ctx, SWspan *span, + GLbitfield64 attrMask) { const SWcontext *swrast = SWRAST_CONTEXT(ctx); @@ -1038,7 +1039,7 @@ _swrast_write_rgba_span( struct gl_context *ctx, SWspan *span) const GLuint *colorMask = (GLuint *) ctx->Color.ColorMask; const GLbitfield origInterpMask = span->interpMask; const GLbitfield origArrayMask = span->arrayMask; - const GLbitfield origArrayAttribs = span->arrayAttribs; + const GLbitfield64 origArrayAttribs = span->arrayAttribs; const GLenum origChanType = span->array->ChanType; void * const origRgba = span->array->rgba; const GLboolean shader = (ctx->FragmentProgram._Current diff --git a/src/mesa/swrast/s_span.h b/src/mesa/swrast/s_span.h index 382c3d2..f4d32dd 100644 --- a/src/mesa/swrast/s_span.h +++ b/src/mesa/swrast/s_span.h @@ -155,7 +155,8 @@ typedef struct sw_span */ GLbitfield arrayMask; - GLbitfield arrayAttribs; + /** Mask of FRAG_BIT_x bits */ + GLbitfield64 arrayAttribs; /** * We store the arrays of fragment values in a separate struct so -- 1.7.3.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev