1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Mesa 3-D graphics library 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Version: 6.5.1 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * copy of this software and associated documentation files (the "Software"), 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * to deal in the Software without restriction, including without limitation 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * and/or sell copies of the Software, and to permit persons to whom the 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Software is furnished to do so, subject to the following conditions: 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice shall be included 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * in all copies or substantial portions of the Software. 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * This file implements the glArrayElement() function. 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * It involves looking at the format/type of all the enabled vertex arrays 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * and emitting a list of pointers to functions which set the per-vertex 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * state for the element/index. 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Author: 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Keith Whitwell <keith@tungstengraphics.com> 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "glheader.h" 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "api_arrayelt.h" 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "bufferobj.h" 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "context.h" 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "imports.h" 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "macros.h" 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "mfeatures.h" 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "mtypes.h" 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "main/dispatch.h" 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void (GLAPIENTRY *array_func)( const void * ); 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct { 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct gl_client_array *array; 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org int offset; 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} AEarray; 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void (GLAPIENTRY *attrib_func)( GLuint indx, const void *data ); 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct { 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct gl_client_array *array; 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org attrib_func func; 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint index; 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} AEattrib; 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef struct { 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEarray arrays[32]; 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEattrib attribs[VERT_ATTRIB_MAX + 1]; 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint NewState; 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct gl_buffer_object *vbo[VERT_ATTRIB_MAX]; 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint nr_vbos; 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLboolean mapped_vbos; 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} AEcontext; 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define AE_CONTEXT(ctx) ((AEcontext *)(ctx)->aelt_context) 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Convert GL_BYTE, GL_UNSIGNED_BYTE, .. GL_DOUBLE into an integer 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * in the range [0, 7]. Luckily these type tokens are sequentially 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * numbered in gl.h, except for GL_DOUBLE. 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define TYPE_IDX(t) ( (t) == GL_DOUBLE ? 7 : (t) & 7 ) 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define NUM_TYPES 8 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if FEATURE_arrayelt 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic const int ColorFuncs[2][NUM_TYPES] = { 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3bv, 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3ubv, 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3sv, 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3usv, 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3iv, 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3uiv, 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3fv, 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color3dv, 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4bv, 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4ubv, 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4sv, 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4usv, 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4iv, 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4uiv, 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4fv, 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Color4dv, 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic const int VertexFuncs[3][NUM_TYPES] = { 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex2sv, 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex2iv, 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex2fv, 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex2dv, 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex3sv, 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex3iv, 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex3fv, 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex3dv, 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex4sv, 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex4iv, 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex4fv, 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Vertex4dv, 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic const int IndexFuncs[NUM_TYPES] = { 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Indexubv, 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Indexsv, 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Indexiv, 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Indexfv, 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Indexdv, 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic const int NormalFuncs[NUM_TYPES] = { 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Normal3bv, 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Normal3sv, 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Normal3iv, 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org -1, 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Normal3fv, 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _gloffset_Normal3dv, 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Note: _gloffset_* for these may not be a compile-time constant. */ 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic int SecondaryColorFuncs[NUM_TYPES]; 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic int FogCoordFuncs[NUM_TYPES]; 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ** GL_NV_vertex_program 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org **/ 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_BYTE attributes */ 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NbvNV(GLuint index, const GLbyte *v) 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]))); 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1bvNV(GLuint index, const GLbyte *v) 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NbvNV(GLuint index, const GLbyte *v) 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]))); 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2bvNV(GLuint index, const GLbyte *v) 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NbvNV(GLuint index, const GLbyte *v) 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[1]), 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[2]))); 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3bvNV(GLuint index, const GLbyte *v) 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NbvNV(GLuint index, const GLbyte *v) 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[1]), 221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[2]), 222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[3]))); 223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4bvNV(GLuint index, const GLbyte *v) 227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); 229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_BYTE attributes */ 232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NubvNV(GLuint index, const GLubyte *v) 235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]))); 237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1ubvNV(GLuint index, const GLubyte *v) 241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NubvNV(GLuint index, const GLubyte *v) 247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), 249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]))); 250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2ubvNV(GLuint index, const GLubyte *v) 254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); 256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NubvNV(GLuint index, const GLubyte *v) 260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), 262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]), 263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[2]))); 264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3ubvNV(GLuint index, const GLubyte *v) 267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], 269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], (GLfloat)v[2])); 270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NubvNV(GLuint index, const GLubyte *v) 274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), 276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]), 277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[2]), 278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[3]))); 279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4ubvNV(GLuint index, const GLubyte *v) 283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], 285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], (GLfloat)v[2], 286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[3])); 287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_SHORT attributes */ 290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NsvNV(GLuint index, const GLshort *v) 293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]))); 295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1svNV(GLuint index, const GLshort *v) 299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NsvNV(GLuint index, const GLshort *v) 305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), 307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]))); 308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2svNV(GLuint index, const GLshort *v) 312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); 314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NsvNV(GLuint index, const GLshort *v) 318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), 320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]), 321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[2]))); 322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3svNV(GLuint index, const GLshort *v) 326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2])); 329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NsvNV(GLuint index, const GLshort *v) 333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), 335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]), 336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[2]), 337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[3]))); 338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4svNV(GLuint index, const GLshort *v) 342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_SHORT attributes */ 348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NusvNV(GLuint index, const GLushort *v) 351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]))); 353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1usvNV(GLuint index, const GLushort *v) 357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NusvNV(GLuint index, const GLushort *v) 363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]))); 366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2usvNV(GLuint index, const GLushort *v) 370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], 372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1])); 373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NusvNV(GLuint index, const GLushort *v) 377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]), 380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[2]))); 381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3usvNV(GLuint index, const GLushort *v) 385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2])); 388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NusvNV(GLuint index, const GLushort *v) 392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]), 395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[2]), 396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[3]))); 397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4usvNV(GLuint index, const GLushort *v) 401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_INT attributes */ 407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NivNV(GLuint index, const GLint *v) 410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]))); 412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1ivNV(GLuint index, const GLint *v) 416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NivNV(GLuint index, const GLint *v) 422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]))); 425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2ivNV(GLuint index, const GLint *v) 429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); 431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NivNV(GLuint index, const GLint *v) 435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]), 438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[2]))); 439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3ivNV(GLuint index, const GLint *v) 443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2])); 446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NivNV(GLuint index, const GLint *v) 450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]), 453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[2]), 454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[3]))); 455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4ivNV(GLuint index, const GLint *v) 459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_INT attributes */ 465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 466f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 467f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NuivNV(GLuint index, const GLuint *v) 468f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 469f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]))); 470f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 471f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 472f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 473f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1uivNV(GLuint index, const GLuint *v) 474f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 475f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); 476f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 477f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 478f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 479f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NuivNV(GLuint index, const GLuint *v) 480f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 481f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 482f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]))); 483f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 484f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 485f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 486f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2uivNV(GLuint index, const GLuint *v) 487f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 488f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], 489f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1])); 490f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 491f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 492f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 493f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NuivNV(GLuint index, const GLuint *v) 494f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 495f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 496f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]), 497f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[2]))); 498f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 499f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 500f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 501f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3uivNV(GLuint index, const GLuint *v) 502f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 503f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 504f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2])); 505f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 506f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 507f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 508f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NuivNV(GLuint index, const GLuint *v) 509f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 510f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 511f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]), 512f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[2]), 513f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[3]))); 514f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 515f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 516f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 517f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4uivNV(GLuint index, const GLuint *v) 518f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 519f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 520f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 521f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 522f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 523f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_FLOAT attributes */ 524f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 525f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 526f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1fvNV(GLuint index, const GLfloat *v) 527f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 528f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fvNV(GET_DISPATCH(), (index, v)); 529f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 530f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 531f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 532f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2fvNV(GLuint index, const GLfloat *v) 533f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 534f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fvNV(GET_DISPATCH(), (index, v)); 535f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 536f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 537f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 538f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3fvNV(GLuint index, const GLfloat *v) 539f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 540f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fvNV(GET_DISPATCH(), (index, v)); 541f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 542f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 543f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 544f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4fvNV(GLuint index, const GLfloat *v) 545f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 546f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fvNV(GET_DISPATCH(), (index, v)); 547f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 548f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 549f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_DOUBLE attributes */ 550f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 551f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 552f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1dvNV(GLuint index, const GLdouble *v) 553f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 554f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1dvNV(GET_DISPATCH(), (index, v)); 555f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 556f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 557f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 558f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2dvNV(GLuint index, const GLdouble *v) 559f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 560f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2dvNV(GET_DISPATCH(), (index, v)); 561f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 562f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 563f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 564f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3dvNV(GLuint index, const GLdouble *v) 565f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 566f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3dvNV(GET_DISPATCH(), (index, v)); 567f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 568f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 569f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 570f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4dvNV(GLuint index, const GLdouble *v) 571f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 572f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4dvNV(GET_DISPATCH(), (index, v)); 573f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 574f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 575f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 576f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 577f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Array [size][type] of VertexAttrib functions 578f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 579f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic attrib_func AttribFuncsNV[2][4][NUM_TYPES] = { 580f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 581f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* non-normalized */ 582f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 583f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 1 */ 584f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1bvNV, 585f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1ubvNV, 586f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1svNV, 587f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1usvNV, 588f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1ivNV, 589f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1uivNV, 590f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1fvNV, 591f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1dvNV 592f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 593f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 594f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 2 */ 595f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2bvNV, 596f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2ubvNV, 597f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2svNV, 598f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2usvNV, 599f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2ivNV, 600f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2uivNV, 601f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2fvNV, 602f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2dvNV 603f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 604f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 605f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 3 */ 606f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3bvNV, 607f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3ubvNV, 608f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3svNV, 609f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3usvNV, 610f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3ivNV, 611f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3uivNV, 612f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3fvNV, 613f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3dvNV 614f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 615f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 616f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 4 */ 617f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4bvNV, 618f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4ubvNV, 619f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4svNV, 620f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4usvNV, 621f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4ivNV, 622f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4uivNV, 623f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4fvNV, 624f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4dvNV 625f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 626f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 627f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 628f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* normalized (except for float/double) */ 629f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 630f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 1 */ 631f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NbvNV, 632f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NubvNV, 633f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NsvNV, 634f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NusvNV, 635f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NivNV, 636f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NuivNV, 637f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1fvNV, 638f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1dvNV 639f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 640f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 641f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 2 */ 642f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NbvNV, 643f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NubvNV, 644f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NsvNV, 645f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NusvNV, 646f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NivNV, 647f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NuivNV, 648f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2fvNV, 649f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2dvNV 650f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 651f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 652f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 3 */ 653f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NbvNV, 654f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NubvNV, 655f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NsvNV, 656f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NusvNV, 657f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NivNV, 658f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NuivNV, 659f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3fvNV, 660f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3dvNV 661f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 662f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 663f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 4 */ 664f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NbvNV, 665f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NubvNV, 666f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NsvNV, 667f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NusvNV, 668f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NivNV, 669f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NuivNV, 670f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4fvNV, 671f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4dvNV 672f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 673f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 674f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 675f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 676f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 677f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 678f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ** GL_ARB_vertex_program 679f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org **/ 680f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 681f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_BYTE attributes */ 682f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 683f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 684f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NbvARB(GLuint index, const GLbyte *v) 685f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 686f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]))); 687f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 688f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 689f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 690f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1bvARB(GLuint index, const GLbyte *v) 691f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 692f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 693f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 694f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 695f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 696f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NbvARB(GLuint index, const GLbyte *v) 697f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 698f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]))); 699f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 700f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 701f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 702f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2bvARB(GLuint index, const GLbyte *v) 703f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 704f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); 705f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 706f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 707f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 708f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NbvARB(GLuint index, const GLbyte *v) 709f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 710f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), 711f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[1]), 712f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[2]))); 713f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 714f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 715f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 716f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3bvARB(GLuint index, const GLbyte *v) 717f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 718f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); 719f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 720f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 721f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 722f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NbvARB(GLuint index, const GLbyte *v) 723f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 724f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), 725f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[1]), 726f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[2]), 727f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org BYTE_TO_FLOAT(v[3]))); 728f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 729f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 730f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 731f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4bvARB(GLuint index, const GLbyte *v) 732f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 733f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); 734f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 735f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 736f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_BYTE attributes */ 737f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 738f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 739f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NubvARB(GLuint index, const GLubyte *v) 740f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 741f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]))); 742f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 743f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 744f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 745f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1ubvARB(GLuint index, const GLubyte *v) 746f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 747f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 748f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 749f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 750f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 751f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NubvARB(GLuint index, const GLubyte *v) 752f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 753f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, 754f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[0]), 755f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]))); 756f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 757f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 758f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 759f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2ubvARB(GLuint index, const GLubyte *v) 760f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 761f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, 762f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[0], (GLfloat)v[1])); 763f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 764f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 765f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 766f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NubvARB(GLuint index, const GLubyte *v) 767f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 768f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, 769f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[0]), 770f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]), 771f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[2]))); 772f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 773f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 774f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3ubvARB(GLuint index, const GLubyte *v) 775f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 776f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, 777f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[0], 778f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], 779f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2])); 780f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 781f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 782f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 783f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NubvARB(GLuint index, const GLubyte *v) 784f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 785f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), 786f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, 787f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[0]), 788f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[1]), 789f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[2]), 790f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UBYTE_TO_FLOAT(v[3]))); 791f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 792f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 793f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 794f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4ubvARB(GLuint index, const GLubyte *v) 795f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 796f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), 797f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, 798f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[0], (GLfloat)v[1], 799f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 800f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 801f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 802f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_SHORT attributes */ 803f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 804f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 805f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NsvARB(GLuint index, const GLshort *v) 806f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 807f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]))); 808f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 809f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 810f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 811f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1svARB(GLuint index, const GLshort *v) 812f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 813f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 814f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 815f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 816f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 817f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NsvARB(GLuint index, const GLshort *v) 818f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 819f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), 820f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, SHORT_TO_FLOAT(v[0]), 821f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]))); 822f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 823f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 824f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 825f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2svARB(GLuint index, const GLshort *v) 826f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 827f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), 828f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, (GLfloat)v[0], (GLfloat)v[1])); 829f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 830f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 831f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 832f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NsvARB(GLuint index, const GLshort *v) 833f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 834f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), 835f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, 836f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[0]), 837f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]), 838f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[2]))); 839f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 840f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 841f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 842f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3svARB(GLuint index, const GLshort *v) 843f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 844f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), 845f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, 846f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); 847f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 848f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 849f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 850f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NsvARB(GLuint index, const GLshort *v) 851f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 852f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), 853f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (index, 854f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[0]), 855f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[1]), 856f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[2]), 857f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SHORT_TO_FLOAT(v[3]))); 858f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 859f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 860f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 861f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4svARB(GLuint index, const GLshort *v) 862f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 863f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 864f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 865f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 866f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 867f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_SHORT attributes */ 868f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 869f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 870f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NusvARB(GLuint index, const GLushort *v) 871f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 872f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]))); 873f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 874f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 875f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 876f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1usvARB(GLuint index, const GLushort *v) 877f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 878f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 879f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 880f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 881f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 882f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NusvARB(GLuint index, const GLushort *v) 883f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 884f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 885f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]))); 886f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 887f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 888f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 889f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2usvARB(GLuint index, const GLushort *v) 890f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 891f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 892f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1])); 893f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 894f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 895f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 896f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NusvARB(GLuint index, const GLushort *v) 897f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 898f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 899f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]), 900f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[2]))); 901f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 902f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 903f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 904f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3usvARB(GLuint index, const GLushort *v) 905f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 906f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 907f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], (GLfloat)v[2])); 908f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 909f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 910f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 911f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NusvARB(GLuint index, const GLushort *v) 912f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 913f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), 914f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[1]), 915f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[2]), 916f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org USHORT_TO_FLOAT(v[3]))); 917f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 918f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 919f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 920f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4usvARB(GLuint index, const GLushort *v) 921f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 922f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); 923f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 924f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 925f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_INT attributes */ 926f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 927f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 928f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NivARB(GLuint index, const GLint *v) 929f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 930f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]))); 931f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 932f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 933f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 934f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1ivARB(GLuint index, const GLint *v) 935f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 936f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 937f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 938f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 939f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 940f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NivARB(GLuint index, const GLint *v) 941f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 942f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 943f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]))); 944f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 945f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 946f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 947f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2ivARB(GLuint index, const GLint *v) 948f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 949f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 950f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1])); 951f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 952f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 953f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 954f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NivARB(GLuint index, const GLint *v) 955f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 956f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 957f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]), 958f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[2]))); 959f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 960f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 961f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 962f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3ivARB(GLuint index, const GLint *v) 963f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 964f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 965f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], (GLfloat)v[2])); 966f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 967f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 968f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 969f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NivARB(GLuint index, const GLint *v) 970f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 971f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), 972f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[1]), 973f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[2]), 974f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org INT_TO_FLOAT(v[3]))); 975f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 976f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 977f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 978f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4ivARB(GLuint index, const GLint *v) 979f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 980f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 981f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 982f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 983f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 984f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_UNSIGNED_INT attributes */ 985f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 986f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 987f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1NuivARB(GLuint index, const GLuint *v) 988f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 989f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]))); 990f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 991f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 992f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 993f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1uivARB(GLuint index, const GLuint *v) 994f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 995f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); 996f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 997f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 998f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 999f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2NuivARB(GLuint index, const GLuint *v) 1000f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1001f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 1002f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]))); 1003f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1004f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1005f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1006f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2uivARB(GLuint index, const GLuint *v) 1007f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1008f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 1009f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1])); 1010f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1011f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1012f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1013f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3NuivARB(GLuint index, const GLuint *v) 1014f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1015f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 1016f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]), 1017f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[2]))); 1018f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1019f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1020f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1021f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3uivARB(GLuint index, const GLuint *v) 1022f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1023f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], 1024f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[1], (GLfloat)v[2])); 1025f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1026f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1027f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1028f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4NuivARB(GLuint index, const GLuint *v) 1029f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1030f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), 1031f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[1]), 1032f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[2]), 1033f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org UINT_TO_FLOAT(v[3]))); 1034f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1035f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1036f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1037f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4uivARB(GLuint index, const GLuint *v) 1038f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1039f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], 1040f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat)v[2], (GLfloat)v[3])); 1041f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1042f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1043f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_FLOAT attributes */ 1044f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1045f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1046f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1fvARB(GLuint index, const GLfloat *v) 1047f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1048f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1fvARB(GET_DISPATCH(), (index, v)); 1049f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1050f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1051f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1052f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2fvARB(GLuint index, const GLfloat *v) 1053f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1054f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2fvARB(GET_DISPATCH(), (index, v)); 1055f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1056f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1057f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1058f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3fvARB(GLuint index, const GLfloat *v) 1059f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1060f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3fvARB(GET_DISPATCH(), (index, v)); 1061f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1062f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1063f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1064f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4fvARB(GLuint index, const GLfloat *v) 1065f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1066f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4fvARB(GET_DISPATCH(), (index, v)); 1067f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1068f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1069f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GL_DOUBLE attributes */ 1070f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1071f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1072f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib1dvARB(GLuint index, const GLdouble *v) 1073f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1074f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib1dvARB(GET_DISPATCH(), (index, v)); 1075f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1076f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1077f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1078f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib2dvARB(GLuint index, const GLdouble *v) 1079f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1080f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib2dvARB(GET_DISPATCH(), (index, v)); 1081f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1082f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1083f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1084f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib3dvARB(GLuint index, const GLdouble *v) 1085f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1086f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib3dvARB(GET_DISPATCH(), (index, v)); 1087f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1088f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1089f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1090f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttrib4dvARB(GLuint index, const GLdouble *v) 1091f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1092f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttrib4dvARB(GET_DISPATCH(), (index, v)); 1093f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1094f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1095f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1096f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 1097f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Integer-valued attributes 1098f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1099f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1bv(GLuint index, const GLbyte *v) 1101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); 1103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2bv(GLuint index, const GLbyte *v) 1107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); 1109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3bv(GLuint index, const GLbyte *v) 1113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4bv(GLuint index, const GLbyte *v) 1119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4bvEXT(GET_DISPATCH(), (index, v)); 1121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1ubv(GLuint index, const GLubyte *v) 1126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); 1128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2ubv(GLuint index, const GLubyte *v) 1132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); 1134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3ubv(GLuint index, const GLubyte *v) 1138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4ubv(GLuint index, const GLubyte *v) 1144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4ubvEXT(GET_DISPATCH(), (index, v)); 1146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1sv(GLuint index, const GLshort *v) 1152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); 1154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2sv(GLuint index, const GLshort *v) 1158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); 1160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3sv(GLuint index, const GLshort *v) 1164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4sv(GLuint index, const GLshort *v) 1170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4svEXT(GET_DISPATCH(), (index, v)); 1172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1usv(GLuint index, const GLushort *v) 1177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); 1179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2usv(GLuint index, const GLushort *v) 1183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); 1185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3usv(GLuint index, const GLushort *v) 1189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4usv(GLuint index, const GLushort *v) 1195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4usvEXT(GET_DISPATCH(), (index, v)); 1197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1iv(GLuint index, const GLint *v) 1203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); 1205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2iv(GLuint index, const GLint *v) 1209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); 1211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3iv(GLuint index, const GLint *v) 1215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4iv(GLuint index, const GLint *v) 1221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4ivEXT(GET_DISPATCH(), (index, v)); 1223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI1uiv(GLuint index, const GLuint *v) 1228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); 1230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI2uiv(GLuint index, const GLuint *v) 1234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); 1236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI3uiv(GLuint index, const GLuint *v) 1240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); 1242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void GLAPIENTRY 1245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgVertexAttribI4uiv(GLuint index, const GLuint *v) 1246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_VertexAttribI4uivEXT(GET_DISPATCH(), (index, v)); 1248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 1254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Array [unnormalized/normalized/integer][size][type] of VertexAttrib 1255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * functions 1256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic attrib_func AttribFuncsARB[3][4][NUM_TYPES] = { 1258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* non-normalized */ 1260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 1 */ 1262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1bvARB, 1263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1ubvARB, 1264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1svARB, 1265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1usvARB, 1266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1ivARB, 1267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1uivARB, 1268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1fvARB, 1269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1dvARB 1270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 2 */ 1273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2bvARB, 1274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2ubvARB, 1275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2svARB, 1276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2usvARB, 1277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2ivARB, 1278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2uivARB, 1279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2fvARB, 1280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2dvARB 1281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 3 */ 1284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3bvARB, 1285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3ubvARB, 1286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3svARB, 1287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3usvARB, 1288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3ivARB, 1289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3uivARB, 1290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3fvARB, 1291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3dvARB 1292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 4 */ 1295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4bvARB, 1296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4ubvARB, 1297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4svARB, 1298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4usvARB, 1299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4ivARB, 1300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4uivARB, 1301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4fvARB, 1302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4dvARB 1303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* normalized (except for float/double) */ 1307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 1 */ 1309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NbvARB, 1310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NubvARB, 1311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NsvARB, 1312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NusvARB, 1313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NivARB, 1314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1NuivARB, 1315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1fvARB, 1316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib1dvARB 1317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 2 */ 1320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NbvARB, 1321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NubvARB, 1322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NsvARB, 1323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NusvARB, 1324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NivARB, 1325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2NuivARB, 1326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2fvARB, 1327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib2dvARB 1328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 3 */ 1331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NbvARB, 1332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NubvARB, 1333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NsvARB, 1334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NusvARB, 1335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NivARB, 1336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3NuivARB, 1337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3fvARB, 1338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib3dvARB 1339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 4 */ 1342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NbvARB, 1343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NubvARB, 1344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NsvARB, 1345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NusvARB, 1346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NivARB, 1347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4NuivARB, 1348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4fvARB, 1349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttrib4dvARB 1350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* integer-valued */ 1355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 1 */ 1357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1bv, 1358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1ubv, 1359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1sv, 1360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1usv, 1361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1iv, 1362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI1uiv, 1363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL, /* GL_FLOAT */ 1364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL /* GL_DOUBLE */ 1365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 2 */ 1368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2bv, 1369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2ubv, 1370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2sv, 1371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2usv, 1372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2iv, 1373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI2uiv, 1374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL, /* GL_FLOAT */ 1375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL /* GL_DOUBLE */ 1376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 3 */ 1379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3bv, 1380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3ubv, 1381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3sv, 1382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3usv, 1383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3iv, 1384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI3uiv, 1385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL, /* GL_FLOAT */ 1386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL /* GL_DOUBLE */ 1387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org }, 1388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { 1389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* size 4 */ 1390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4bv, 1391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4ubv, 1392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4sv, 1393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4usv, 1394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4iv, 1395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (attrib_func) VertexAttribI4uiv, 1396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL, /* GL_FLOAT */ 1397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org NULL /* GL_DOUBLE */ 1398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 1401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/**********************************************************************/ 1403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgGLboolean _ae_create_context( struct gl_context *ctx ) 1406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (ctx->aelt_context) 1408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return GL_TRUE; 1409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* These _gloffset_* values may not be compile-time constants */ 1411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[0] = _gloffset_SecondaryColor3bvEXT; 1412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[1] = _gloffset_SecondaryColor3ubvEXT; 1413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[2] = _gloffset_SecondaryColor3svEXT; 1414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[3] = _gloffset_SecondaryColor3usvEXT; 1415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[4] = _gloffset_SecondaryColor3ivEXT; 1416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[5] = _gloffset_SecondaryColor3uivEXT; 1417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[6] = _gloffset_SecondaryColor3fvEXT; 1418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SecondaryColorFuncs[7] = _gloffset_SecondaryColor3dvEXT; 1419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[0] = -1; 1421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[1] = -1; 1422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[2] = -1; 1423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[3] = -1; 1424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[4] = -1; 1425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[5] = -1; 1426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[6] = _gloffset_FogCoordfvEXT; 1427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FogCoordFuncs[7] = _gloffset_FogCoorddvEXT; 1428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ctx->aelt_context = CALLOC( sizeof(AEcontext) ); 1430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (!ctx->aelt_context) 1431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return GL_FALSE; 1432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AE_CONTEXT(ctx)->NewState = ~0; 1434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return GL_TRUE; 1435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid _ae_destroy_context( struct gl_context *ctx ) 1439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if ( AE_CONTEXT( ctx ) ) { 1441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org FREE( ctx->aelt_context ); 1442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ctx->aelt_context = NULL; 1443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void check_vbo( AEcontext *actx, 1447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct gl_buffer_object *vbo ) 1448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (_mesa_is_bufferobj(vbo) && !_mesa_bufferobj_mapped(vbo)) { 1450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint i; 1451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < actx->nr_vbos; i++) 1452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (actx->vbo[i] == vbo) 1453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 1454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(actx->nr_vbos < VERT_ATTRIB_MAX); 1455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->vbo[actx->nr_vbos++] = vbo; 1456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 1461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Make a list of per-vertex functions to call for each glArrayElement call. 1462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * These functions access the array data (i.e. glVertex, glColor, glNormal, 1463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * etc). 1464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Note: this may be called during display list construction. 1465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1466f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic void _ae_update_state( struct gl_context *ctx ) 1467f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1468f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEcontext *actx = AE_CONTEXT(ctx); 1469f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEarray *aa = actx->arrays; 1470f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEattrib *at = actx->attribs; 1471f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint i; 1472f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct gl_array_object *arrayObj = ctx->Array.ArrayObj; 1473f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1474f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->nr_vbos = 0; 1475f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1476f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* conventional vertex arrays */ 1477f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) { 1478f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX]; 1479f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = IndexFuncs[TYPE_IDX(aa->array->Type)]; 1480f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1481f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1482f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1483f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { 1484f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]; 1485f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = _gloffset_EdgeFlagv; 1486f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1487f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1488f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1489f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) { 1490f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]; 1491f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = NormalFuncs[TYPE_IDX(aa->array->Type)]; 1492f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1493f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1494f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1495f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) { 1496f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]; 1497f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = ColorFuncs[aa->array->Size-3][TYPE_IDX(aa->array->Type)]; 1498f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1499f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1500f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1501f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) { 1502f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1]; 1503f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = SecondaryColorFuncs[TYPE_IDX(aa->array->Type)]; 1504f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1505f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1506f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1507f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled) { 1508f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_FOG]; 1509f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = FogCoordFuncs[TYPE_IDX(aa->array->Type)]; 1510f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1511f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1512f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1513f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) { 1514f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct gl_client_array *attribArray = &arrayObj->VertexAttrib[VERT_ATTRIB_TEX(i)]; 1515f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (attribArray->Enabled) { 1516f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* NOTE: we use generic glVertexAttribNV functions here. 1517f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * If we ever remove GL_NV_vertex_program this will have to change. 1518f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1519f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->array = attribArray; 1520f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ASSERT(!at->array->Normalized); 1521f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->func = AttribFuncsNV[at->array->Normalized] 1522f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [at->array->Size-1] 1523f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [TYPE_IDX(at->array->Type)]; 1524f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->index = VERT_ATTRIB_TEX0 + i; 1525f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, at->array->BufferObj); 1526f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at++; 1527f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1528f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1529f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1530f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* generic vertex attribute arrays */ 1531f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 1; i < VERT_ATTRIB_GENERIC_MAX; i++) { /* skip zero! */ 1532f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct gl_client_array *attribArray = &arrayObj->VertexAttrib[VERT_ATTRIB_GENERIC(i)]; 1533f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (attribArray->Enabled) { 1534f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->array = attribArray; 1535f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* Note: we can't grab the _glapi_Dispatch->VertexAttrib1fvNV 1536f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * function pointer here (for float arrays) since the pointer may 1537f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * change from one execution of _ae_ArrayElement() to 1538f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the next. Doing so caused UT to break. 1539f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1540f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (ctx->VertexProgram._Enabled 1541f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org && ctx->VertexProgram.Current->IsNVProgram) { 1542f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->func = AttribFuncsNV[at->array->Normalized] 1543f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [at->array->Size-1] 1544f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [TYPE_IDX(at->array->Type)]; 1545f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1546f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org else { 1547f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLint intOrNorm; 1548f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (at->array->Integer) 1549f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org intOrNorm = 2; 1550f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org else if (at->array->Normalized) 1551f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org intOrNorm = 1; 1552f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org else 1553f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org intOrNorm = 0; 1554f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1555f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->func = AttribFuncsARB[intOrNorm] 1556f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [at->array->Size-1] 1557f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org [TYPE_IDX(at->array->Type)]; 1558f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1559f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->index = i; 1560f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, at->array->BufferObj); 1561f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at++; 1562f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1563f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1564f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1565f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* finally, vertex position */ 1566f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (arrayObj->VertexAttrib[VERT_ATTRIB_GENERIC0].Enabled) { 1567f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* Use glVertex(v) instead of glVertexAttrib(0, v) to be sure it's 1568f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * issued as the last (provoking) attribute). 1569f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1570f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_GENERIC0]; 1571f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(aa->array->Size >= 2); /* XXX fix someday? */ 1572f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array->Type)]; 1573f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1574f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1575f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1576f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org else if (arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) { 1577f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->array = &arrayObj->VertexAttrib[VERT_ATTRIB_POS]; 1578f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array->Type)]; 1579f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, aa->array->BufferObj); 1580f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa++; 1581f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1582f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1583f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org check_vbo(actx, arrayObj->ElementArrayBufferObj); 1584f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1585f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ASSERT(at - actx->attribs <= VERT_ATTRIB_MAX); 1586f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ASSERT(aa - actx->arrays < 32); 1587f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->func = NULL; /* terminate the list */ 1588f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org aa->offset = -1; /* terminate the list */ 1589f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1590f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->NewState = 0; 1591f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1592f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1593f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid _ae_map_vbos( struct gl_context *ctx ) 1594f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1595f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEcontext *actx = AE_CONTEXT(ctx); 1596f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint i; 1597f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1598f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (actx->mapped_vbos) 1599f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 1600f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1601f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (actx->NewState) 1602f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _ae_update_state(ctx); 1603f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1604f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < actx->nr_vbos; i++) 1605f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ctx->Driver.MapBufferRange(ctx, 0, 1606f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->vbo[i]->Size, 1607f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GL_MAP_READ_BIT, 1608f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->vbo[i]); 1609f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1610f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (actx->nr_vbos) 1611f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->mapped_vbos = GL_TRUE; 1612f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1613f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1614f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid _ae_unmap_vbos( struct gl_context *ctx ) 1615f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1616f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEcontext *actx = AE_CONTEXT(ctx); 1617f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint i; 1618f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1619f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (!actx->mapped_vbos) 1620f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 1621f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1622f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert (!actx->NewState); 1623f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1624f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < actx->nr_vbos; i++) 1625f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ctx->Driver.UnmapBuffer(ctx, actx->vbo[i]); 1626f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1627f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->mapped_vbos = GL_FALSE; 1628f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1629f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1630f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1631f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 1632f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Called via glArrayElement() and glDrawArrays(). 1633f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Issue the glNormal, glVertex, glColor, glVertexAttrib, etc functions 1634f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * for all enabled vertex arrays (for elt-th element). 1635f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Note: this may be called during display list construction. 1636f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1637f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GLAPIENTRY _ae_ArrayElement( GLint elt ) 1638f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1639f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GET_CURRENT_CONTEXT(ctx); 1640f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const AEcontext *actx = AE_CONTEXT(ctx); 1641f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const AEarray *aa; 1642f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const AEattrib *at; 1643f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct _glapi_table * const disp = GET_DISPATCH(); 1644f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLboolean do_map; 1645f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1646f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* If PrimitiveRestart is enabled and the index is the RestartIndex 1647f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * then we call PrimitiveRestartNV and return. 1648f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1649f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (ctx->Array.PrimitiveRestart && (elt == ctx->Array.RestartIndex)) { 1650f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_PrimitiveRestartNV((struct _glapi_table *)disp, ()); 1651f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 1652f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1653f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1654f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (actx->NewState) { 1655f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(!actx->mapped_vbos); 1656f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _ae_update_state( ctx ); 1657f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1658f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1659f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* Determine if we need to map/unmap VBOs */ 1660f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org do_map = actx->nr_vbos && !actx->mapped_vbos; 1661f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1662f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (do_map) 1663f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _ae_map_vbos(ctx); 1664f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1665f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* emit generic attribute elements */ 1666f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (at = actx->attribs; at->func; at++) { 1667f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const GLubyte *src 1668f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org = ADD_POINTERS(at->array->BufferObj->Pointer, at->array->Ptr) 1669f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org + elt * at->array->StrideB; 1670f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org at->func( at->index, src ); 1671f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1672f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1673f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* emit conventional arrays elements */ 1674f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (aa = actx->arrays; aa->offset != -1 ; aa++) { 1675f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const GLubyte *src 1676f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org = ADD_POINTERS(aa->array->BufferObj->Pointer, aa->array->Ptr) 1677f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org + elt * aa->array->StrideB; 1678f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org CALL_by_offset( disp, (array_func), aa->offset, 1679f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org ((const void *) src) ); 1680f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1681f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1682f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (do_map) 1683f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _ae_unmap_vbos(ctx); 1684f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1685f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1686f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1687f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid _ae_invalidate_state( struct gl_context *ctx, GLuint new_state ) 1688f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1689f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org AEcontext *actx = AE_CONTEXT(ctx); 1690f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1691f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1692f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /* Only interested in this subset of mesa state. Need to prune 1693f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * this down as both tnl/ and the drivers can raise statechanges 1694f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * for arcane reasons in the middle of seemingly atomic operations 1695f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * like DrawElements, over which we'd like to keep a known set of 1696f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * arrays and vbo's mapped. 1697f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 1698f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Luckily, neither the drivers nor tnl muck with the state that 1699f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * concerns us here: 1700f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 1701f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org new_state &= _NEW_ARRAY | _NEW_PROGRAM; 1702f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (new_state) { 1703f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org assert(!actx->mapped_vbos); 1704f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org actx->NewState |= new_state; 1705f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 1706f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1707f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1708f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1709f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid _mesa_install_arrayelt_vtxfmt(struct _glapi_table *disp, 1710f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const GLvertexformat *vfmt) 1711f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 1712f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org SET_ArrayElement(disp, vfmt->ArrayElement); 1713f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 1714f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1715f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 1716f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* FEATURE_arrayelt */ 1717