summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2012-01-30 15:13:32 -0800
committerEric Anholt <eric@anholt.net>2012-02-22 12:27:25 -0800
commitb395af0d2d617c29054f1b97973982bbffa33190 (patch)
tree132ce98216cf8bdbd741f236921ab751e381d2ad
parente6beaf8ee49dbf165ef2e005931fdf0ce323fcf6 (diff)
intel: Add decode for gen7 HIER_DEPTH_BUFFER.
Note that the regression test complains here: The batch that was captured included a bug in its packet output, which was later fixed in Mesa. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--intel/intel_decode.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/intel/intel_decode.c b/intel/intel_decode.c
index 064c12a6..2ea8f67e 100644
--- a/intel/intel_decode.c
+++ b/intel/intel_decode.c
@@ -2745,6 +2745,17 @@ gen7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS(struct drm_intel_decode *ctx)
}
static int
+gen7_3DSTATE_HIER_DEPTH_BUFFER(struct drm_intel_decode *ctx)
+{
+ instr_out(ctx, 0, "3DSTATE_HIER_DEPTH_BUFFER\n");
+ instr_out(ctx, 1, "pitch %db\n",
+ (ctx->data[1] & 0x1ffff) + 1);
+ instr_out(ctx, 2, "pointer to HiZ buffer\n");
+
+ return 3;
+}
+
+static int
gen6_3DSTATE_CC_STATE_POINTERS(struct drm_intel_decode *ctx)
{
instr_out(ctx, 0, "3DSTATE_CC_STATE_POINTERS\n");
@@ -3027,7 +3038,8 @@ decode_3d_965(struct drm_intel_decode *ctx)
{ 0x7805, 0x00ff, 3, 3, "3DSTATE_URB" },
{ 0x7804, 0x00ff, 3, 3, "3DSTATE_CLEAR_PARAMS" },
{ 0x7806, 0x00ff, 3, 3, "3DSTATE_STENCIL_BUFFER" },
- { 0x7807, 0x00ff, 4, 4, "3DSTATE_HIER_DEPTH_BUFFER" },
+ { 0x7807, 0x00ff, 4, 4, "3DSTATE_HIER_DEPTH_BUFFER", 6 },
+ { 0x7807, 0x00ff, 3, 3, "3DSTATE_HIER_DEPTH_BUFFER", 7, gen7_3DSTATE_HIER_DEPTH_BUFFER },
{ 0x7808, 0x00ff, 5, 257, "3DSTATE_VERTEX_BUFFERS" },
{ 0x7809, 0x00ff, 3, 256, "3DSTATE_VERTEX_ELEMENTS" },
{ 0x780a, 0x00ff, 3, 3, "3DSTATE_INDEX_BUFFER" },