i965: add intel_renderbuffer_att_set_needs_depth_resolve

This function is needed to support layered rendering. With
layered rendering, the attachment stores the state of whether
layered rendering is being used.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
Jordan Justen 2013-07-29 13:51:31 -07:00
parent 814a040504
commit d44be9ed2f
2 changed files with 18 additions and 0 deletions

View File

@ -854,6 +854,21 @@ intel_renderbuffer_resolve_hiz(struct brw_context *brw,
return false;
}
void
intel_renderbuffer_att_set_needs_depth_resolve(struct gl_renderbuffer_attachment *att)
{
struct intel_renderbuffer *irb = intel_renderbuffer(att->Renderbuffer);
if (irb->mt) {
if (att->Layered) {
intel_miptree_set_all_slices_need_depth_resolve(irb->mt, irb->mt_level);
} else {
intel_miptree_slice_set_needs_depth_resolve(irb->mt,
irb->mt_level,
irb->mt_layer);
}
}
}
bool
intel_renderbuffer_resolve_depth(struct brw_context *brw,
struct intel_renderbuffer *irb)

View File

@ -164,6 +164,9 @@ intel_renderbuffer_set_needs_hiz_resolve(struct intel_renderbuffer *irb);
void
intel_renderbuffer_set_needs_depth_resolve(struct intel_renderbuffer *irb);
void
intel_renderbuffer_att_set_needs_depth_resolve(struct gl_renderbuffer_attachment *att);
/**
* \brief Perform a HiZ resolve on the renderbuffer.