[Mesa-dev] [PATCH 10/19] intel: Add function intel_renderbuffer_hiz_alloc

Eric Anholt eric at anholt.net
Mon Sep 26 14:19:20 PDT 2011


On Fri, 23 Sep 2011 17:37:40 -0700, Chad Versace <chad at chad-versace.us> wrote:
> This function allocates the HiZ region and initializes the HiZ control
> state for a depthbuffer.
> 
> It is wise to define the logic for HiZ region allocation in a single
> location, since when MSAA arrives that logic will become more complicated.
> 
> Signed-off-by: Chad Versace <chad at chad-versace.us>
> ---
>  src/mesa/drivers/dri/intel/intel_fbo.c |   21 +++++++++++++++++++++
>  src/mesa/drivers/dri/intel/intel_fbo.h |    8 ++++++++
>  2 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
> index 0828af4..bf57e30 100644
> --- a/src/mesa/drivers/dri/intel/intel_fbo.c
> +++ b/src/mesa/drivers/dri/intel/intel_fbo.c
> @@ -110,6 +110,27 @@ intel_framebuffer_get_hiz_region(struct gl_framebuffer *fb)
>        return NULL;
>  }
>  
> +bool
> +intel_renderbuffer_alloc_hiz(struct intel_context *intel,
> +                             struct intel_renderbuffer *depth_irb)
> +{
> +   struct intel_region *depth_region = depth_irb->region;
> +   struct intel_hiz_control *hiz = &depth_irb->region->hiz;
> +
> +   hiz->region = intel_region_alloc(intel->intelScreen,
> +				    I915_TILING_Y,
> +				    depth_region->cpp,
> +				    depth_region->width,
> +				    depth_region->height,
> +				    GL_TRUE);
> +   if (!hiz->region)
> +      return false;
> +
> +   hiz->need_resolve = INTEL_HIZ_NEED_NO_RESOLVE;
> +   hiz->depth_format = depth_irb->Base.Format;
> +   return true;
> +}

So, if I allocate a new renderbuffer and do a glClear-equivalent (so
Test enabled and Func == GL_ALWAYS) but not explicitly glClear, will the
depth behavior be correct?  Basically: I'm wondering if there's any
other state to be set up in hiz at alloc time.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110926/a17967c4/attachment.pgp>


More information about the mesa-dev mailing list