From 53b53a141ee4da9bf03b42d6381823520cd2e980 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 23 May 2011 14:40:51 -0700 Subject: [PATCH] i965/gen7: Add a prepare_depthbuffer function. We need to call add_validated_bo to do proper aperture space accounting. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/gen7_misc_state.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c index 0364b61..0240211 100644 --- a/src/mesa/drivers/dri/i965/gen7_misc_state.c +++ b/src/mesa/drivers/dri/i965/gen7_misc_state.c @@ -56,6 +56,20 @@ gen7_depth_format(struct brw_context *brw) return 0; } +static void prepare_depthbuffer(struct brw_context *brw) +{ + struct intel_context *intel = &brw->intel; + struct gl_context *ctx = &intel->ctx; + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct intel_renderbuffer *drb = intel_get_renderbuffer(fb, BUFFER_DEPTH); + struct intel_renderbuffer *srb = intel_get_renderbuffer(fb, BUFFER_STENCIL); + + if (drb) + brw_add_validated_bo(brw, drb->region->buffer); + if (srb) + brw_add_validated_bo(brw, srb->region->buffer); +} + static void emit_depthbuffer(struct brw_context *brw) { struct intel_context *intel = &brw->intel; @@ -138,5 +152,6 @@ const struct brw_tracked_state gen7_depthbuffer = { .brw = BRW_NEW_BATCH, .cache = 0, }, + .prepare = prepare_depthbuffer, .emit = emit_depthbuffer, }; -- 2.7.4