summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_state_dump.c46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c b/src/mesa/drivers/dri/i965/brw_state_dump.c
index 2736ad5aa42..6dd13149638 100644
--- a/src/mesa/drivers/dri/i965/brw_state_dump.c
+++ b/src/mesa/drivers/dri/i965/brw_state_dump.c
@@ -371,7 +371,7 @@ static void dump_sf_clip_viewport_state(struct brw_context *brw,
}
-static void dump_cc_viewport_state(struct brw_context *brw)
+static void dump_cc_viewport_state(struct brw_context *brw, uint32_t offset)
{
struct intel_context *intel = &brw->intel;
const char *name = "CC VP";
@@ -380,15 +380,15 @@ static void dump_cc_viewport_state(struct brw_context *brw)
drm_intel_bo_map(intel->batch.bo, GL_FALSE);
- vp = intel->batch.bo->virtual + brw->cc.vp_offset;
- vp_off = intel->batch.bo->offset + brw->cc.vp_offset;
+ vp = intel->batch.bo->virtual + offset;
+ vp_off = intel->batch.bo->offset + offset;
state_out(name, vp, vp_off, 0, "min_depth = %f\n", vp->min_depth);
state_out(name, vp, vp_off, 1, "max_depth = %f\n", vp->max_depth);
drm_intel_bo_unmap(intel->batch.bo);
}
-static void dump_depth_stencil_state(struct brw_context *brw)
+static void dump_depth_stencil_state(struct brw_context *brw, uint32_t offset)
{
struct intel_context *intel = &brw->intel;
const char *name = "DEPTH STENCIL";
@@ -397,8 +397,8 @@ static void dump_depth_stencil_state(struct brw_context *brw)
drm_intel_bo_map(intel->batch.bo, GL_FALSE);
- ds = intel->batch.bo->virtual + brw->cc.depth_stencil_state_offset;
- ds_off = intel->batch.bo->offset + brw->cc.depth_stencil_state_offset;
+ ds = intel->batch.bo->virtual + offset;
+ ds_off = intel->batch.bo->offset + offset;
state_out(name, ds, ds_off, 0, "stencil %sable, func %d, write %sable\n",
ds->ds0.stencil_enable ? "en" : "dis",
@@ -413,19 +413,16 @@ static void dump_depth_stencil_state(struct brw_context *brw)
drm_intel_bo_unmap(intel->batch.bo);
}
-static void dump_cc_state(struct brw_context *brw)
+static void dump_cc_state(struct brw_context *brw, uint32_t offset)
{
const char *name = "CC";
struct gen6_color_calc_state *cc;
uint32_t cc_off;
dri_bo *bo = brw->intel.batch.bo;
- if (brw->cc.state_offset == 0)
- return;
-
drm_intel_bo_map(bo, GL_FALSE);
- cc = bo->virtual + brw->cc.state_offset;
- cc_off = bo->offset + brw->cc.state_offset;
+ cc = bo->virtual + offset;
+ cc_off = bo->offset + offset;
state_out(name, cc, cc_off, 0, "alpha test format %s, round disable %d, stencil ref %d,"
"bf stencil ref %d\n",
@@ -443,7 +440,7 @@ static void dump_cc_state(struct brw_context *brw)
}
-static void dump_blend_state(struct brw_context *brw)
+static void dump_blend_state(struct brw_context *brw, uint32_t offset)
{
struct intel_context *intel = &brw->intel;
const char *name = "BLEND";
@@ -452,8 +449,8 @@ static void dump_blend_state(struct brw_context *brw)
drm_intel_bo_map(intel->batch.bo, GL_FALSE);
- blend = intel->batch.bo->virtual + brw->cc.blend_state_offset;
- blend_off = intel->batch.bo->offset + brw->cc.blend_state_offset;
+ blend = intel->batch.bo->virtual + offset;
+ blend_off = intel->batch.bo->offset + offset;
state_out(name, blend, blend_off, 0, "\n");
state_out(name, blend, blend_off, 1, "\n");
@@ -509,6 +506,18 @@ dump_state_batch(struct brw_context *brw)
dump_sf_viewport_state(brw, offset);
}
break;
+ case AUB_TRACE_CC_VP_STATE:
+ dump_cc_viewport_state(brw, offset);
+ break;
+ case AUB_TRACE_DEPTH_STENCIL_STATE:
+ dump_depth_stencil_state(brw, offset);
+ break;
+ case AUB_TRACE_CC_STATE:
+ dump_cc_state(brw, offset);
+ break;
+ case AUB_TRACE_BLEND_STATE:
+ dump_blend_state(brw, offset);
+ break;
default:
break;
}
@@ -564,12 +573,5 @@ void brw_debug_batch(struct intel_context *intel)
sizeof(struct brw_wm_unit_state));
brw_debug_prog(brw, "WM prog", brw->wm.prog_offset);
- if (intel->gen >= 6) {
- dump_cc_viewport_state(brw);
- dump_depth_stencil_state(brw);
- dump_cc_state(brw);
- dump_blend_state(brw);
- }
-
dump_state_batch(brw);
}