mesa: hook up core bits of GL_ARB_shader_group_vote
[mesa.git] / src / mesa / math / m_vector.h
index 9112a2b5d568ef7079a750a2878a21af2f122d7a..5bd76b8987d0a75495c175fe197d94f970b15148 100644 (file)
@@ -1,6 +1,5 @@
 /*
  * Mesa 3-D graphics library
- * Version:  7.3
  *
  * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /*
@@ -51,7 +51,7 @@
 
 /**
  * Wrap all the information about vectors up in a struct.  Has
- * additional fields compared to the other vectors to help us track of
+ * additional fields compared to the other vectors to help us track
  * different vertex sizes, and whether we need to clean columns out
  * because they contain non-(0,0,0,1) values.
  *
  */
 typedef struct {
    GLfloat (*data)[4]; /**< may be malloc'd or point to client data */
-   GLfloat *start;     /**< points somewhere inside of <data> */
+   GLfloat *start;     /**< points somewhere inside of GLvector4f::data */
    GLuint count;       /**< size of the vector (in elements) */
    GLuint stride;      /**< stride from one element to the next (in bytes) */
    GLuint size;                /**< 2-4 for vertices and 1-4 for texcoords */
-   GLuint flags;       /**< which columns are dirty */
+   GLbitfield flags;   /**< bitmask of VEC_x flags */
    void *storage;      /**< self-allocated storage */
+   GLuint storage_count; /**< storage size in elements */
 } GLvector4f;
 
 
-extern void _mesa_vector4f_init( GLvector4f *v, GLuint flags,
+extern void _mesa_vector4f_init( GLvector4f *v, GLbitfield flags,
                              GLfloat (*storage)[4] );
-extern void _mesa_vector4f_alloc( GLvector4f *v, GLuint flags,
+extern void _mesa_vector4f_alloc( GLvector4f *v, GLbitfield flags,
                               GLuint count, GLuint alignment );
 extern void _mesa_vector4f_free( GLvector4f *v );
 extern void _mesa_vector4f_print( const GLvector4f *v, const GLubyte *, GLboolean );