mesa: remove array size so the static assert can work
[mesa.git] / src / mesa / main / arrayobj.h
index 717c7916e3a0515e42ce54244f17bcc9062c92c3..dfefec2a7a30a2769ea2c14bedd02d3b800053a1 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "glheader.h"
 #include "mtypes.h"
+#include "glformats.h"
 
 struct gl_context;
 
@@ -52,9 +53,19 @@ extern void
 _mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj );
 
 extern void
+_mesa_reference_array_object_(struct gl_context *ctx,
+                              struct gl_array_object **ptr,
+                              struct gl_array_object *arrayObj);
+
+static inline void
 _mesa_reference_array_object(struct gl_context *ctx,
                              struct gl_array_object **ptr,
-                             struct gl_array_object *arrayObj);
+                             struct gl_array_object *arrayObj)
+{
+   if (*ptr != arrayObj)
+      _mesa_reference_array_object_(ctx, ptr, arrayObj);
+}
+
 
 extern void
 _mesa_initialize_array_object( struct gl_context *ctx,
@@ -76,18 +87,6 @@ _mesa_array_object_get_enabled_ff(const struct gl_array_object *arrayObj)
    return arrayObj->_Enabled & VERT_BIT_FF_ALL;
 }
 
-/** Returns the bitmask of all enabled arrays in nv shader mode.
- *
- *  In nv shader mode, the nv generic arrays take precedence over
- *  the legacy arrays.
- */
-static inline GLbitfield64
-_mesa_array_object_get_enabled_nv(const struct gl_array_object *arrayObj)
-{
-   GLbitfield64 enabled = arrayObj->_Enabled;
-   return enabled & ~(VERT_BIT_FF_NVALIAS & (enabled >> VERT_ATTRIB_GENERIC0));
-}
-
 /** Returns the bitmask of all enabled arrays in arb/glsl shader mode.
  *
  *  In arb/glsl shader mode all the fixed function and the arb/glsl generic