• Home
  • Raw
  • Download

Lines Matching refs:arrays

78                                   const struct array_state_vector *arrays,
81 const struct array_state_vector *arrays,
84 *arrays, GLenum key,
86 static void fill_array_info_cache(struct array_state_vector *arrays);
115 struct array_state_vector *arrays = state->array_state; in __glXFreeVertexArrayState() local
117 if (arrays) { in __glXFreeVertexArrayState()
118 free(arrays->stack); in __glXFreeVertexArrayState()
119 arrays->stack = NULL; in __glXFreeVertexArrayState()
120 free(arrays->arrays); in __glXFreeVertexArrayState()
121 arrays->arrays = NULL; in __glXFreeVertexArrayState()
122 free(arrays); in __glXFreeVertexArrayState()
143 struct array_state_vector *arrays; in __glXInitVertexArrayState() local
153 arrays = calloc(1, sizeof(struct array_state_vector)); in __glXInitVertexArrayState()
154 state->array_state = arrays; in __glXInitVertexArrayState()
156 if (arrays == NULL) { in __glXInitVertexArrayState()
161 arrays->old_DrawArrays_possible = !state->NoDrawArraysProtocol; in __glXInitVertexArrayState()
162 arrays->new_DrawArrays_possible = GL_FALSE; in __glXInitVertexArrayState()
163 arrays->DrawArrays = NULL; in __glXInitVertexArrayState()
165 arrays->active_texture_unit = 0; in __glXInitVertexArrayState()
203 arrays->num_texture_units = texture_units; in __glXInitVertexArrayState()
204 arrays->num_vertex_program_attribs = vertex_program_attribs; in __glXInitVertexArrayState()
206 arrays->num_arrays = array_count; in __glXInitVertexArrayState()
207 arrays->arrays = calloc(array_count, sizeof(struct array_state)); in __glXInitVertexArrayState()
209 if (arrays->arrays == NULL) { in __glXInitVertexArrayState()
211 free(arrays); in __glXInitVertexArrayState()
216 arrays->arrays[0].data_type = GL_FLOAT; in __glXInitVertexArrayState()
217 arrays->arrays[0].count = 3; in __glXInitVertexArrayState()
218 arrays->arrays[0].key = GL_NORMAL_ARRAY; in __glXInitVertexArrayState()
219 arrays->arrays[0].normalized = GL_TRUE; in __glXInitVertexArrayState()
220 arrays->arrays[0].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
222 arrays->arrays[1].data_type = GL_FLOAT; in __glXInitVertexArrayState()
223 arrays->arrays[1].count = 4; in __glXInitVertexArrayState()
224 arrays->arrays[1].key = GL_COLOR_ARRAY; in __glXInitVertexArrayState()
225 arrays->arrays[1].normalized = GL_TRUE; in __glXInitVertexArrayState()
226 arrays->arrays[1].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
228 arrays->arrays[2].data_type = GL_FLOAT; in __glXInitVertexArrayState()
229 arrays->arrays[2].count = 1; in __glXInitVertexArrayState()
230 arrays->arrays[2].key = GL_INDEX_ARRAY; in __glXInitVertexArrayState()
231 arrays->arrays[2].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
233 arrays->arrays[3].data_type = GL_UNSIGNED_BYTE; in __glXInitVertexArrayState()
234 arrays->arrays[3].count = 1; in __glXInitVertexArrayState()
235 arrays->arrays[3].key = GL_EDGE_FLAG_ARRAY; in __glXInitVertexArrayState()
236 arrays->arrays[3].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
239 arrays->arrays[4 + i].data_type = GL_FLOAT; in __glXInitVertexArrayState()
240 arrays->arrays[4 + i].count = 4; in __glXInitVertexArrayState()
241 arrays->arrays[4 + i].key = GL_TEXTURE_COORD_ARRAY; in __glXInitVertexArrayState()
243 arrays->arrays[4 + i].old_DrawArrays_possible = (i == 0); in __glXInitVertexArrayState()
244 arrays->arrays[4 + i].index = i; in __glXInitVertexArrayState()
250 arrays->arrays[i].data_type = GL_FLOAT; in __glXInitVertexArrayState()
251 arrays->arrays[i].count = 1; in __glXInitVertexArrayState()
252 arrays->arrays[i].key = GL_FOG_COORDINATE_ARRAY; in __glXInitVertexArrayState()
253 arrays->arrays[i].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
258 arrays->arrays[i].data_type = GL_FLOAT; in __glXInitVertexArrayState()
259 arrays->arrays[i].count = 3; in __glXInitVertexArrayState()
260 arrays->arrays[i].key = GL_SECONDARY_COLOR_ARRAY; in __glXInitVertexArrayState()
261 arrays->arrays[i].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
262 arrays->arrays[i].normalized = GL_TRUE; in __glXInitVertexArrayState()
271 arrays->arrays[idx + i].data_type = GL_FLOAT; in __glXInitVertexArrayState()
272 arrays->arrays[idx + i].count = 4; in __glXInitVertexArrayState()
273 arrays->arrays[idx + i].key = GL_VERTEX_ATTRIB_ARRAY_POINTER; in __glXInitVertexArrayState()
275 arrays->arrays[idx + i].old_DrawArrays_possible = 0; in __glXInitVertexArrayState()
276 arrays->arrays[idx + i].index = idx; in __glXInitVertexArrayState()
286 arrays->arrays[i].data_type = GL_FLOAT; in __glXInitVertexArrayState()
287 arrays->arrays[i].count = 4; in __glXInitVertexArrayState()
288 arrays->arrays[i].key = GL_VERTEX_ARRAY; in __glXInitVertexArrayState()
289 arrays->arrays[i].old_DrawArrays_possible = GL_TRUE; in __glXInitVertexArrayState()
291 assert((i + 1) == arrays->num_arrays); in __glXInitVertexArrayState()
293 arrays->stack_index = 0; in __glXInitVertexArrayState()
294 arrays->stack = malloc(sizeof(struct array_stack_state) in __glXInitVertexArrayState()
295 * arrays->num_arrays in __glXInitVertexArrayState()
298 if (arrays->stack == NULL) { in __glXInitVertexArrayState()
300 free(arrays->arrays); in __glXInitVertexArrayState()
301 free(arrays); in __glXInitVertexArrayState()
314 calculate_single_vertex_size_none(const struct array_state_vector *arrays) in calculate_single_vertex_size_none() argument
320 for (i = 0; i < arrays->num_arrays; i++) { in calculate_single_vertex_size_none()
321 if (arrays->arrays[i].enabled) { in calculate_single_vertex_size_none()
322 single_vertex_size += arrays->arrays[i].header[0]; in calculate_single_vertex_size_none()
335 const struct array_state_vector * arrays, unsigned index) in emit_element_none() argument
340 for (i = 0; i < arrays->num_arrays; i++) { in emit_element_none()
341 if (arrays->arrays[i].enabled) { in emit_element_none()
342 const size_t offset = index * arrays->arrays[i].true_stride; in emit_element_none()
350 (void) memset(dst, 0, arrays->arrays[i].header[0]); in emit_element_none()
352 (void) memcpy(dst, arrays->arrays[i].header, 4); in emit_element_none()
356 if (arrays->arrays[i].key == GL_TEXTURE_COORD_ARRAY && in emit_element_none()
357 arrays->arrays[i].index > 0) { in emit_element_none()
362 GLenum texture = arrays->arrays[i].index + GL_TEXTURE0; in emit_element_none()
363 if (arrays->arrays[i].data_type == GL_DOUBLE) { in emit_element_none()
364 (void) memcpy(dst, ((GLubyte *) arrays->arrays[i].data) + offset, in emit_element_none()
365 arrays->arrays[i].element_size); in emit_element_none()
366 dst += arrays->arrays[i].element_size; in emit_element_none()
372 (void) memcpy(dst, ((GLubyte *) arrays->arrays[i].data) + offset, in emit_element_none()
373 arrays->arrays[i].element_size); in emit_element_none()
374 dst += __GLX_PAD(arrays->arrays[i].element_size); in emit_element_none()
376 } else if (arrays->arrays[i].key == GL_VERTEX_ATTRIB_ARRAY_POINTER) { in emit_element_none()
379 (void) memcpy(dst, &arrays->arrays[i].index, 4); in emit_element_none()
381 (void) memcpy(dst, ((GLubyte *) arrays->arrays[i].data) + offset, in emit_element_none()
382 arrays->arrays[i].element_size); in emit_element_none()
383 dst += __GLX_PAD(arrays->arrays[i].element_size); in emit_element_none()
385 (void) memcpy(dst, ((GLubyte *) arrays->arrays[i].data) + offset, in emit_element_none()
386 arrays->arrays[i].element_size); in emit_element_none()
387 dst += __GLX_PAD(arrays->arrays[i].element_size); in emit_element_none()
402 const struct array_state_vector * arrays, unsigned index) in emit_element_old() argument
407 for (i = 0; i < arrays->num_arrays; i++) { in emit_element_old()
408 if (arrays->arrays[i].enabled) { in emit_element_old()
409 const size_t offset = index * arrays->arrays[i].true_stride; in emit_element_old()
411 (void) memcpy(dst, ((GLubyte *) arrays->arrays[i].data) + offset, in emit_element_old()
412 arrays->arrays[i].element_size); in emit_element_old()
414 dst += __GLX_PAD(arrays->arrays[i].element_size); in emit_element_old()
423 get_array_entry(const struct array_state_vector *arrays, in get_array_entry() argument
428 for (i = 0; i < arrays->num_arrays; i++) { in get_array_entry()
429 if ((arrays->arrays[i].key == key) in get_array_entry()
430 && (arrays->arrays[i].index == index)) { in get_array_entry()
431 return &arrays->arrays[i]; in get_array_entry()
440 allocate_array_info_cache(struct array_state_vector *arrays, in allocate_array_info_cache() argument
444 if (arrays->array_info_cache_buffer_size < required_size) { in allocate_array_info_cache()
445 GLubyte *temp = realloc(arrays->array_info_cache_base, in allocate_array_info_cache()
452 arrays->array_info_cache_base = temp; in allocate_array_info_cache()
453 arrays->array_info_cache = temp + MAX_HEADER_SIZE; in allocate_array_info_cache()
454 arrays->array_info_cache_buffer_size = required_size; in allocate_array_info_cache()
457 arrays->array_info_cache_size = required_size; in allocate_array_info_cache()
465 fill_array_info_cache(struct array_state_vector *arrays) in fill_array_info_cache() argument
474 arrays->enabled_client_array_count = 0; in fill_array_info_cache()
475 old_DrawArrays_possible = arrays->old_DrawArrays_possible; in fill_array_info_cache()
476 for (i = 0; i < arrays->num_arrays; i++) { in fill_array_info_cache()
477 if (arrays->arrays[i].enabled) { in fill_array_info_cache()
478 arrays->enabled_client_array_count++; in fill_array_info_cache()
479 old_DrawArrays_possible &= arrays->arrays[i].old_DrawArrays_possible; in fill_array_info_cache()
483 if (arrays->new_DrawArrays_possible) { in fill_array_info_cache()
484 assert(!arrays->new_DrawArrays_possible); in fill_array_info_cache()
487 const size_t required_size = arrays->enabled_client_array_count * 12; in fill_array_info_cache()
491 if (!allocate_array_info_cache(arrays, required_size)) { in fill_array_info_cache()
496 info = (uint32_t *) arrays->array_info_cache; in fill_array_info_cache()
497 for (i = 0; i < arrays->num_arrays; i++) { in fill_array_info_cache()
498 if (arrays->arrays[i].enabled) { in fill_array_info_cache()
499 *(info++) = arrays->arrays[i].data_type; in fill_array_info_cache()
500 *(info++) = arrays->arrays[i].count; in fill_array_info_cache()
501 *(info++) = arrays->arrays[i].key; in fill_array_info_cache()
505 arrays->DrawArrays = emit_DrawArrays_old; in fill_array_info_cache()
506 arrays->DrawElements = emit_DrawElements_old; in fill_array_info_cache()
509 arrays->DrawArrays = emit_DrawArrays_none; in fill_array_info_cache()
510 arrays->DrawElements = emit_DrawElements_none; in fill_array_info_cache()
513 arrays->array_info_cache_valid = GL_TRUE; in fill_array_info_cache()
530 struct array_state_vector *arrays = state->array_state; in emit_DrawArrays_none() local
539 single_vertex_size = calculate_single_vertex_size_none(arrays); in emit_DrawArrays_none()
553 pc = emit_element_none(pc, arrays, first + i); in emit_DrawArrays_none()
590 struct array_state_vector *arrays, in emit_DrawArrays_header_old() argument
608 for (i = 0; i < arrays->num_arrays; i++) { in emit_DrawArrays_header_old()
609 if (arrays->arrays[i].enabled) { in emit_DrawArrays_header_old()
610 single_vertex_size += __GLX_PAD(arrays->arrays[i].element_size); in emit_DrawArrays_header_old()
614 command_size = arrays->array_info_cache_size + header_size in emit_DrawArrays_header_old()
654 pc = ((GLubyte *) arrays->array_info_cache) - (header_size + 4); in emit_DrawArrays_header_old()
658 *(uint32_t *) (pc + 12) = arrays->enabled_client_array_count; in emit_DrawArrays_header_old()
662 header_size + 4 + arrays->array_info_cache_size); in emit_DrawArrays_header_old()
675 *(uint32_t *) (pc + 8) = arrays->enabled_client_array_count; in emit_DrawArrays_header_old()
680 (void) memcpy(pc, arrays->array_info_cache, in emit_DrawArrays_header_old()
681 arrays->array_info_cache_size); in emit_DrawArrays_header_old()
682 pc += arrays->array_info_cache_size; in emit_DrawArrays_header_old()
701 struct array_state_vector *arrays = state->array_state; in emit_DrawArrays_old() local
710 pc = emit_DrawArrays_header_old(gc, arrays, &elements_per_request, in emit_DrawArrays_old()
721 pc = emit_element_old(pc, arrays, i + first); in emit_DrawArrays_old()
742 pc = emit_element_old(pc, arrays, i + first); in emit_DrawArrays_old()
763 struct array_state_vector *arrays = state->array_state; in emit_DrawElements_none() local
772 single_vertex_size = calculate_single_vertex_size_none(arrays); in emit_DrawElements_none()
804 pc = emit_element_none(pc, arrays, index); in emit_DrawElements_none()
830 struct array_state_vector *arrays = state->array_state; in emit_DrawElements_old() local
840 pc = emit_DrawArrays_header_old(gc, arrays, &elements_per_request, in emit_DrawElements_old()
859 pc = emit_element_old(pc, arrays, index); in emit_DrawElements_old()
868 pc = emit_element_old(pc, arrays, index); in emit_DrawElements_old()
877 pc = emit_element_old(pc, arrays, index); in emit_DrawElements_old()
987 struct array_state_vector *arrays = state->array_state; in __indirect_glDrawArrays() local
991 if (!arrays->array_info_cache_valid) { in __indirect_glDrawArrays()
992 fill_array_info_cache(arrays); in __indirect_glDrawArrays()
995 arrays->DrawArrays(mode, first, count); in __indirect_glDrawArrays()
1006 struct array_state_vector *arrays = state->array_state; in __indirect_glArrayElement() local
1011 single_vertex_size = calculate_single_vertex_size_none(arrays); in __indirect_glArrayElement()
1017 gc->pc = emit_element_none(gc->pc, arrays, index); in __indirect_glArrayElement()
1032 struct array_state_vector *arrays = state->array_state; in __indirect_glDrawElements() local
1037 if (!arrays->array_info_cache_valid) { in __indirect_glDrawElements()
1038 fill_array_info_cache(arrays); in __indirect_glDrawElements()
1041 arrays->DrawElements(mode, count, type, indices); in __indirect_glDrawElements()
1054 struct array_state_vector *arrays = state->array_state; in __indirect_glDrawRangeElements() local
1064 if (!arrays->array_info_cache_valid) { in __indirect_glDrawRangeElements()
1065 fill_array_info_cache(arrays); in __indirect_glDrawRangeElements()
1068 arrays->DrawElements(mode, count, type, indices); in __indirect_glDrawRangeElements()
1080 struct array_state_vector *arrays = state->array_state; in __indirect_glMultiDrawArrays() local
1085 if (!arrays->array_info_cache_valid) { in __indirect_glMultiDrawArrays()
1086 fill_array_info_cache(arrays); in __indirect_glMultiDrawArrays()
1091 arrays->DrawArrays(mode, first[i], count[i]); in __indirect_glMultiDrawArrays()
1106 struct array_state_vector *arrays = state->array_state; in __indirect_glMultiDrawElementsEXT() local
1111 if (!arrays->array_info_cache_valid) { in __indirect_glMultiDrawElementsEXT()
1112 fill_array_info_cache(arrays); in __indirect_glMultiDrawElementsEXT()
1117 arrays->DrawElements(mode, count[i], type, indices[i]); in __indirect_glMultiDrawElementsEXT()
1164 struct array_state_vector *arrays = state->array_state; in __indirect_glVertexPointer() local
1191 a = get_array_entry(arrays, GL_VERTEX_ARRAY, 0); in __indirect_glVertexPointer()
1197 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glVertexPointer()
1209 struct array_state_vector *arrays = state->array_state; in __indirect_glNormalPointer() local
1239 a = get_array_entry(arrays, GL_NORMAL_ARRAY, 0); in __indirect_glNormalPointer()
1244 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glNormalPointer()
1280 struct array_state_vector *arrays = state->array_state; in __indirect_glColorPointer() local
1319 a = get_array_entry(arrays, GL_COLOR_ARRAY, 0); in __indirect_glColorPointer()
1324 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glColorPointer()
1335 struct array_state_vector *arrays = state->array_state; in __indirect_glIndexPointer() local
1365 a = get_array_entry(arrays, GL_INDEX_ARRAY, 0); in __indirect_glIndexPointer()
1370 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glIndexPointer()
1380 struct array_state_vector *arrays = state->array_state; in __indirect_glEdgeFlagPointer() local
1390 a = get_array_entry(arrays, GL_EDGE_FLAG_ARRAY, 0); in __indirect_glEdgeFlagPointer()
1396 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glEdgeFlagPointer()
1442 struct array_state_vector *arrays = state->array_state; in __indirect_glTexCoordPointer() local
1453 index = arrays->active_texture_unit; in __indirect_glTexCoordPointer()
1497 a = get_array_entry(arrays, GL_TEXTURE_COORD_ARRAY, index); in __indirect_glTexCoordPointer()
1503 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glTexCoordPointer()
1515 struct array_state_vector *arrays = state->array_state; in __indirect_glSecondaryColorPointer() local
1554 a = get_array_entry(arrays, GL_SECONDARY_COLOR_ARRAY, 0); in __indirect_glSecondaryColorPointer()
1563 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glSecondaryColorPointer()
1575 struct array_state_vector *arrays = state->array_state; in __indirect_glFogCoordPointer() local
1596 a = get_array_entry(arrays, GL_FOG_COORD_ARRAY, 0); in __indirect_glFogCoordPointer()
1605 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glFogCoordPointer()
1631 struct array_state_vector *arrays = state->array_state; in __indirect_glVertexAttribPointer() local
1638 || (index > arrays->num_vertex_program_attribs)) { in __indirect_glVertexAttribPointer()
1709 a = get_array_entry(arrays, GL_VERTEX_ATTRIB_ARRAY_POINTER, index); in __indirect_glVertexAttribPointer()
1722 arrays->array_info_cache_valid = GL_FALSE; in __indirect_glVertexAttribPointer()
1772 struct array_state_vector *const arrays = state->array_state; in __indirect_glClientActiveTexture() local
1776 if ((unit < 0) || (unit >= arrays->num_texture_units)) { in __indirect_glClientActiveTexture()
1781 arrays->active_texture_unit = unit; in __indirect_glClientActiveTexture()
1792 struct array_state_vector *arrays = state->array_state; in __glXSetArrayEnable() local
1800 index = arrays->active_texture_unit; in __glXSetArrayEnable()
1803 a = get_array_entry(arrays, key, index); in __glXSetArrayEnable()
1807 arrays->array_info_cache_valid = GL_FALSE; in __glXSetArrayEnable()
1817 struct array_state_vector *arrays = state->array_state; in __glXArrayDisableAll() local
1821 for (i = 0; i < arrays->num_arrays; i++) { in __glXArrayDisableAll()
1822 arrays->arrays[i].enabled = GL_FALSE; in __glXArrayDisableAll()
1825 arrays->array_info_cache_valid = GL_FALSE; in __glXArrayDisableAll()
1835 const struct array_state_vector *arrays = state->array_state; in __glXGetArrayEnable() local
1837 get_array_entry((struct array_state_vector *) arrays, in __glXGetArrayEnable()
1854 const struct array_state_vector *arrays = state->array_state; in __glXGetArrayType() local
1856 get_array_entry((struct array_state_vector *) arrays, in __glXGetArrayType()
1873 const struct array_state_vector *arrays = state->array_state; in __glXGetArraySize() local
1875 get_array_entry((struct array_state_vector *) arrays, in __glXGetArraySize()
1892 const struct array_state_vector *arrays = state->array_state; in __glXGetArrayStride() local
1894 get_array_entry((struct array_state_vector *) arrays, in __glXGetArrayStride()
1911 const struct array_state_vector *arrays = state->array_state; in __glXGetArrayPointer() local
1913 get_array_entry((struct array_state_vector *) arrays, in __glXGetArrayPointer()
1931 const struct array_state_vector *arrays = state->array_state; in __glXGetArrayNormalized() local
1933 get_array_entry((struct array_state_vector *) arrays, in __glXGetArrayNormalized()
1957 struct array_state_vector *arrays = state->array_state; in __glXPushArrayState() local
1959 &arrays->stack[(arrays->stack_index * arrays->num_arrays)]; in __glXPushArrayState()
1963 for (i = 0; i < arrays->num_arrays; i++) { in __glXPushArrayState()
1964 stack[i].data = arrays->arrays[i].data; in __glXPushArrayState()
1965 stack[i].data_type = arrays->arrays[i].data_type; in __glXPushArrayState()
1966 stack[i].user_stride = arrays->arrays[i].user_stride; in __glXPushArrayState()
1967 stack[i].count = arrays->arrays[i].count; in __glXPushArrayState()
1968 stack[i].key = arrays->arrays[i].key; in __glXPushArrayState()
1969 stack[i].index = arrays->arrays[i].index; in __glXPushArrayState()
1970 stack[i].enabled = arrays->arrays[i].enabled; in __glXPushArrayState()
1973 arrays->active_texture_unit_stack[arrays->stack_index] = in __glXPushArrayState()
1974 arrays->active_texture_unit; in __glXPushArrayState()
1976 arrays->stack_index++; in __glXPushArrayState()
1983 struct array_state_vector *arrays = state->array_state; in __glXPopArrayState() local
1988 arrays->stack_index--; in __glXPopArrayState()
1989 stack = &arrays->stack[(arrays->stack_index * arrays->num_arrays)]; in __glXPopArrayState()
1991 for (i = 0; i < arrays->num_arrays; i++) { in __glXPopArrayState()
2010 arrays->active_texture_unit = stack[i].index; in __glXPopArrayState()
2032 arrays->active_texture_unit = in __glXPopArrayState()
2033 arrays->active_texture_unit_stack[arrays->stack_index]; in __glXPopArrayState()