[Mesa-dev] [PATCH 4/5] intel: Add function intel_renderbuffer_hiz_alloc

Chad Versace chad at chad-versace.us
Wed Oct 19 10:40:11 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/18/2011 03:51 PM, Eric Anholt wrote:
> On Mon, 17 Oct 2011 07:40:27 -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 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?

Right. Width and height should be (rb->Width) and (ALIGN(rb->Height, 2) / 2).
I'll add a comment too referring to the equation in the spec.

Sometime soon I'll post a patch to fix this for DDX.

- -- 
Chad Versace
chad at chad-versace.us
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOnwt5AAoJEAIvNt057x8i9h0P/29UW59Gyi00ozND5oUi1/uK
wP3mzX+KwQOAduq8BAIV7xpemrElU6IpqUTn9jpzC0LJF8vpM/XBeE4QEQWDo+4E
cZlyuTzNMYerMR6xDOld8AQAxNaZVgattSJH5GleFxNIjBIFROzGDcKYIk3lV/pD
5yj1kMLROp0hyN2X/oZ/v/hNgzI0dqlgeGXGRcenN/U4aTQFUygt3iaT34wiVH/w
8T+5X3mFY3MBd4dBydLSVRk07DPu8zjqlXbU54KAeWjJykAka6D/ACphlF+epGBZ
LBlrFaJPQX+ZUMHNApsFr+dd1bqKqx/lk9bCoOrCAEaa89tKj0UPAE0Wh5oGa/q6
AJuJFHqS8kI5YSDM7+154yvCsKw1IedLobP5732WqyV7xlpkl1hZaizgMOBtQgwN
mXBj0/bVNHsYR22ZMglviZRjq4ed7wjUEHBJBh/bpRkxpElen9KeB7qp6ELsmlW7
Hidt/pKFMHaHCi4DdIsWkMXCN0X4UoBRirYaIPoPfqp60bhSMwCwh+Q/Im9emMiW
+his968f6EJUGHh05GQpxwoaAKU9DzSqPO0YPQzU8GhYi/EYMvMXvA0UGrtllBmN
T0ecU0r5fMxawhkRlg8JfWHw7vaYALzwSOwgxc/Rm4ZMVBY5D8tZrFyBZH3pL0py
7mCkxFETwhK6p3gO/KyB
=rbhJ
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list