On Mon, 17 Oct 2011 07:40:27 -0700, Chad Versace <c...@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 <c...@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 b7cfdb9..17397e1 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;
> +}

The region is supposed to be a fraction of the depth region's height,
right?

Attachment: pgpSCWstb55CU.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to