Bläddra i källkod

gallium: debug code to print vertex array data (disabled)

tags/mesa_20090313
Brian Paul 17 år sedan
förälder
incheckning
6c3e7365d5
1 ändrade filer med 89 tillägg och 0 borttagningar
  1. 89
    0
      src/gallium/auxiliary/draw/draw_pt.c

+ 89
- 0
src/gallium/auxiliary/draw/draw_pt.c Visa fil

@@ -178,6 +178,92 @@ void draw_pt_destroy( struct draw_context *draw )
}


/**
* Debug- print the first 'count' vertices.
*/
static void
draw_print_arrays(struct draw_context *draw, uint prim, int start, uint count)
{
uint i;

debug_printf("Draw arrays(prim = %u, start = %u, count = %u)\n",
prim, start, count);

for (i = 0; i < count; i++) {
uint ii, j;

if (draw->pt.user.elts) {
/* indexed arrays */
switch (draw->pt.user.eltSize) {
case 1:
{
const ubyte *elem = (const ubyte *) draw->pt.user.elts;
ii = elem[start + i];
}
break;
case 2:
{
const ushort *elem = (const ushort *) draw->pt.user.elts;
ii = elem[start + i];
}
break;
case 4:
{
const uint *elem = (const uint *) draw->pt.user.elts;
ii = elem[start + i];
}
break;
default:
assert(0);
}
debug_printf("Element[%u + %u] -> Vertex %u:\n", start, i, ii);
}
else {
/* non-indexed arrays */
ii = start + i;
debug_printf("Vertex %u:\n", ii);
}

for (j = 0; j < draw->pt.nr_vertex_elements; j++) {
uint buf = draw->pt.vertex_element[j].vertex_buffer_index;
ubyte *ptr = (ubyte *) draw->pt.user.vbuffer[buf];
ptr += draw->pt.vertex_buffer[buf].pitch * ii;
ptr += draw->pt.vertex_element[j].src_offset;

debug_printf(" Attr %u: ", j);
switch (draw->pt.vertex_element[j].src_format) {
case PIPE_FORMAT_R32_FLOAT:
{
float *v = (float *) ptr;
debug_printf("%f @ %p\n", v[0], (void *) v);
}
break;
case PIPE_FORMAT_R32G32_FLOAT:
{
float *v = (float *) ptr;
debug_printf("%f %f @ %p\n", v[0], v[1], (void *) v);
}
break;
case PIPE_FORMAT_R32G32B32_FLOAT:
{
float *v = (float *) ptr;
debug_printf("%f %f %f @ %p\n", v[0], v[1], v[2], (void *) v);
}
break;
case PIPE_FORMAT_R32G32B32A32_FLOAT:
{
float *v = (float *) ptr;
debug_printf("%f %f %f %f @ %p\n", v[0], v[1], v[2], v[3],
(void *) v);
}
break;
default:
debug_printf("other format (fix me)\n");
;
}
}
}
}


/**
@@ -197,6 +283,9 @@ draw_arrays(struct draw_context *draw, unsigned prim,
draw->reduced_prim = reduced_prim;
}

if (0)
draw_print_arrays(draw, prim, start, MIN2(count, 20));

#if 0
{
int i;

Laddar…
Avbryt
Spara