[Mesa-dev] [PATCH] swrast: s/GLbitfield/GLbitfield64/ for sw_span::arrayAttribs

Brian Paul brianp at vmware.com
Fri Jan 6 12:58:42 PST 2012


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



More information about the mesa-dev mailing list