From: Kenneth Graunke Date: Mon, 23 May 2011 21:40:51 +0000 (-0700) Subject: i965/gen7: Add a prepare_depthbuffer function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53b53a141ee4da9bf03b42d6381823520cd2e980;p=mesa.git 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 --- diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c index 0364b61b75b..024021185ac 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, };