Home | History | Annotate | Download | only in vbo

Lines Matching refs:vtx

47    GLuint count = exec->vtx.vert_count;
53 exec->vtx.prim_count,
54 exec->vtx.vertex_size);
56 for (i = 0 ; i < exec->vtx.prim_count ; i++) {
57 struct _mesa_prim *prim = &exec->vtx.prim[i];
77 GLuint nr = exec->vtx.prim[exec->vtx.prim_count-1].count;
79 GLuint sz = exec->vtx.vertex_size;
80 GLfloat *dst = exec->vtx.copied.buffer;
81 const GLfloat *src = (exec->vtx.buffer_map +
82 exec->vtx.prim[exec->vtx.prim_count-1].start *
83 exec->vtx.vertex_size);
130 exec->vtx.prim[exec->vtx.prim_count-1].count--;
165 struct gl_client_array *arrays = exec->vtx.arrays;
166 const GLuint count = exec->vtx.vert_count;
177 exec->vtx.inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
180 ASSERT(VERT_ATTRIB_GENERIC(attr) < Elements(exec->vtx.inputs));
181 exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] =
193 exec->vtx.inputs[attr] = &vbo->currval[VBO_ATTRIB_POS+attr];
196 ASSERT(VERT_ATTRIB_GENERIC(attr) < Elements(exec->vtx.inputs));
197 exec->vtx.inputs[VERT_ATTRIB_GENERIC(attr)] =
208 exec->vtx.inputs[VERT_ATTRIB_GENERIC0] = exec->vtx.inputs[0];
209 exec->vtx.attrsz[VERT_ATTRIB_GENERIC0] = exec->vtx.attrsz[0];
210 exec->vtx.attrptr[VERT_ATTRIB_GENERIC0] = exec->vtx.attrptr[0];
211 exec->vtx.attrsz[0] = 0;
221 if (exec->vtx.attrsz[src]) {
222 GLsizeiptr offset = (GLbyte *)exec->vtx.attrptr[src] -
223 (GLbyte *)exec->vtx.vertex;
226 ASSERT(attr < Elements(exec->vtx.inputs));
227 ASSERT(attr < Elements(exec->vtx.arrays)); /* arrays[] */
228 exec->vtx.inputs[attr] = &arrays[attr];
230 if (_mesa_is_bufferobj(exec->vtx.bufferobj)) {
232 assert(exec->vtx.bufferobj->Pointer); /* buf should be mapped */
234 arrays[attr].Ptr = (GLubyte *)exec->vtx.bufferobj->Offset + offset;
238 arrays[attr].Ptr = (GLubyte *)exec->vtx.buffer_map + offset;
240 arrays[attr].Size = exec->vtx.attrsz[src];
241 arrays[attr].StrideB = exec->vtx.vertex_size * sizeof(GLfloat);
242 arrays[attr].Stride = exec->vtx.vertex_size * sizeof(GLfloat);
243 arrays[attr].Type = exec->vtx.attrtype[src];
245 vbo_attrtype_to_integer_flag(exec->vtx.attrtype[src]);
251 exec->vtx.bufferobj);
269 if (_mesa_is_bufferobj(exec->vtx.bufferobj)) {
273 GLintptr offset = exec->vtx.buffer_used - exec->vtx.bufferobj->Offset;
274 GLsizeiptr length = (exec->vtx.buffer_ptr - exec->vtx.buffer_map) * sizeof(float);
278 exec->vtx.bufferobj);
281 exec->vtx.buffer_used += (exec->vtx.buffer_ptr -
282 exec->vtx.buffer_map) * sizeof(float);
284 assert(exec->vtx.buffer_used <= VBO_VERT_BUFFER_SIZE);
285 assert(exec->vtx.buffer_ptr != NULL);
287 ctx->Driver.UnmapBuffer(ctx, exec->vtx.bufferobj);
288 exec->vtx.buffer_map = NULL;
289 exec->vtx.buffer_ptr = NULL;
290 exec->vtx.max_vert = 0;
309 if (!_mesa_is_bufferobj(exec->vtx.bufferobj))
312 assert(!exec->vtx.buffer_map);
313 assert(!exec->vtx.buffer_ptr);
315 if (VBO_VERT_BUFFER_SIZE > exec->vtx.buffer_used + 1024) {
317 if (exec->vtx.bufferobj->Size > 0) {
318 exec->vtx.buffer_map =
320 exec->vtx.buffer_used,
322 exec->vtx.buffer_used),
324 exec->vtx.bufferobj);
325 exec->vtx.buffer_ptr = exec->vtx.buffer_map;
328 exec->vtx.buffer_ptr = exec->vtx.buffer_map = NULL;
332 if (!exec->vtx.buffer_map) {
334 exec->vtx.buffer_used = 0;
338 NULL, usage, exec->vtx.bufferobj)) {
340 exec->vtx.buffer_map =
344 exec->vtx.bufferobj);
348 exec->vtx.buffer_map = NULL;
352 exec->vtx.buffer_ptr = exec->vtx.buffer_map;
354 if (!exec->vtx.buffer_map) {
369 printf("map %d..\n", exec->vtx.buffer_used);
384 if (exec->vtx.prim_count &&
385 exec->vtx.vert_count) {
387 exec->vtx.copied.nr = vbo_copy_vertices( exec );
389 if (exec->vtx.copied.nr != exec->vtx.vert_count) {
400 if (_mesa_is_bufferobj(exec->vtx.bufferobj)) {
405 printf("%s %d %d\n", __FUNCTION__, exec->vtx.prim_count,
406 exec->vtx.vert_count);
409 exec->vtx.prim,
410 exec->vtx.prim_count,
414 exec->vtx.vert_count - 1,
419 if (_mesa_is_bufferobj(exec->vtx.bufferobj) && !keepUnmapped) {
428 _mesa_is_bufferobj(exec->vtx.bufferobj) &&
429 exec->vtx.buffer_map) {
433 if (keepUnmapped || exec->vtx.vertex_size == 0)
434 exec->vtx.max_vert = 0;
436 exec->vtx.max_vert = ((VBO_VERT_BUFFER_SIZE - exec->vtx.buffer_used) /
437 (exec->vtx.vertex_size * sizeof(GLfloat)));
439 exec->vtx.buffer_ptr = exec->vtx.buffer_map;
440 exec->vtx.prim_count = 0;
441 exec->vtx.vert_count = 0;