From 53568e8e49559094ce5b24b8709669f1f76fe2bf Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 30 Apr 2012 09:24:06 +0100 Subject: [PATCH] sna/gen7: Fix debug printing of primitives Signed-off-by: Chris Wilson --- src/sna/gen7_render.c | 4 ++-- src/sna/kgem_debug_gen7.c | 38 +++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 327714f7..6c9a8333 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -898,7 +898,7 @@ gen7_emit_vertex_elements(struct sna *sna, if (op->is_affine) { src_format = GEN7_SURFACEFORMAT_R32G32_FLOAT; - w_component = GEN7_VFCOMPONENT_STORE_1_FLT; + w_component = GEN7_VFCOMPONENT_STORE_0; } else { src_format = GEN7_SURFACEFORMAT_R32G32B32_FLOAT; w_component = GEN7_VFCOMPONENT_STORE_SRC; @@ -930,7 +930,7 @@ gen7_emit_vertex_elements(struct sna *sna, 0 << GEN7_VE0_OFFSET_SHIFT); /* offsets vb in bytes */ OUT_BATCH(GEN7_VFCOMPONENT_STORE_SRC << GEN7_VE1_VFCOMPONENT_0_SHIFT | GEN7_VFCOMPONENT_STORE_SRC << GEN7_VE1_VFCOMPONENT_1_SHIFT | - GEN7_VFCOMPONENT_STORE_1_FLT << GEN7_VE1_VFCOMPONENT_2_SHIFT | + GEN7_VFCOMPONENT_STORE_0 << GEN7_VE1_VFCOMPONENT_2_SHIFT | GEN7_VFCOMPONENT_STORE_1_FLT << GEN7_VE1_VFCOMPONENT_3_SHIFT); /* u0, v0, w0 */ diff --git a/src/sna/kgem_debug_gen7.c b/src/sna/kgem_debug_gen7.c index a7dbbf21..78eae016 100644 --- a/src/sna/kgem_debug_gen7.c +++ b/src/sna/kgem_debug_gen7.c @@ -287,8 +287,8 @@ static void primitive_out(struct kgem *kgem, uint32_t *data) assert((data[0] & (1<<15)) == 0); /* XXX index buffers */ - for (n = 0; n < data[1]; n++) { - int v = data[2] + n; + for (n = 0; n < data[2]; n++) { + int v = data[3] + n; ErrorF(" [%d:%d] = ", n, v); indirect_vertex_out(kgem, v); ErrorF("\n"); @@ -358,7 +358,7 @@ get_965_depthformat(unsigned int depthformat) } static const char * -get_965_element_component(uint32_t data, int component) +get_element_component(uint32_t data, int component) { uint32_t component_control = (data >> (16 + (3 - component) * 4)) & 0x7; @@ -387,9 +387,9 @@ get_965_element_component(uint32_t data, int component) } static const char * -get_965_prim_type(uint32_t data) +get_prim_type(uint32_t data) { - uint32_t primtype = (data >> 10) & 0x1f; + uint32_t primtype = data & 0x1f; switch (primtype) { case 0x01: return "point list"; @@ -656,10 +656,10 @@ int kgem_gen7_decode_3d(struct kgem *kgem, uint32_t offset) i++; kgem_debug_print(data, offset, i, "(%s, %s, %s, %s), " "dst offset 0x%02x bytes\n", - get_965_element_component(data[i], 0), - get_965_element_component(data[i], 1), - get_965_element_component(data[i], 2), - get_965_element_component(data[i], 3), + get_element_component(data[i], 0), + get_element_component(data[i], 1), + get_element_component(data[i], 2), + get_element_component(data[i], 3), (data[i] & 0xff) * 4); i++; } @@ -673,16 +673,16 @@ int kgem_gen7_decode_3d(struct kgem *kgem, uint32_t offset) return len; case 0x7b00: - assert(len == 6); - kgem_debug_print(data, offset, 0, - "3DPRIMITIVE: %s %s\n", - get_965_prim_type(data[0]), - (data[0] & (1 << 15)) ? "random" : "sequential"); - kgem_debug_print(data, offset, 1, "vertex count\n"); - kgem_debug_print(data, offset, 2, "start vertex\n"); - kgem_debug_print(data, offset, 3, "instance count\n"); - kgem_debug_print(data, offset, 4, "start instance\n"); - kgem_debug_print(data, offset, 5, "index bias\n"); + assert(len == 7); + kgem_debug_print(data, offset, 0, "3DPRIMITIVE\n"); + kgem_debug_print(data, offset, 1, "type %s, %s\n", + get_prim_type(data[1]), + (data[1] & (1 << 15)) ? "random" : "sequential"); + kgem_debug_print(data, offset, 2, "vertex count\n"); + kgem_debug_print(data, offset, 3, "start vertex\n"); + kgem_debug_print(data, offset, 4, "instance count\n"); + kgem_debug_print(data, offset, 5, "start instance\n"); + kgem_debug_print(data, offset, 6, "index bias\n"); primitive_out(kgem, data); return len; }