[Mesa-dev] [PATCH 1/2] i965: Extract region use from hiz depth buffer
Ben Widawsky
ben at bwidawsk.net
Thu Sep 26 11:34:42 PDT 2013
On Thu, Sep 26, 2013 at 11:16:52AM -0700, Chad Versace wrote:
> On 09/26/2013 10:37 AM, Chad Versace wrote:
> >On 09/22/2013 10:37 AM, Ben Widawsky wrote:
> >>Starting with Ivybridge, the hierarchical had relaxed requirements for
> > ^^^^^^^^^^^^^^^
> >"the hierarchical" doesn't make sense. Just call it "the HiZ buffer" or
> >"the hiz buffer".
> >
> >>its allocation. Following a "simple" formula in the bspec was all you
> >>needed to satisfy the requirement.
> >>
> >>To prepare the code for this, extract all places where the miptree was
> >>used, when we really only needed the region. This allows an upcoming
> >>patch to simply allocate the region, and not the whole miptree.
> > >
> >>CC: Chad Versace <chad.versace at linux.intel.com>
> >>Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> >>---
> >> src/mesa/drivers/dri/i965/brw_misc_state.c | 8 +++---
> >> src/mesa/drivers/dri/i965/gen6_blorp.cpp | 2 +-
> >> src/mesa/drivers/dri/i965/gen7_blorp.cpp | 2 +-
> >> src/mesa/drivers/dri/i965/gen7_misc_state.c | 6 ++---
> >> src/mesa/drivers/dri/i965/intel_fbo.c | 4 +--
> >> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 35 +++++++++++++++------------
> >> src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 5 +++-
> >> 7 files changed, 34 insertions(+), 28 deletions(-)
>
>
>
> >>diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> >>index d718125..7473570 100644
> >>--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> >>+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> >>@@ -414,7 +414,10 @@ struct intel_mipmap_tree
> >> * To determine if hiz is enabled, do not check this pointer. Instead, use
> >> * intel_miptree_slice_has_hiz().
> >> */
> >>- struct intel_mipmap_tree *hiz_mt;
> >>+ struct {
> >>+ struct intel_mipmap_tree *mt;
> >>+ struct intel_region *region;
> >>+ } hiz_depth_buffer;
> >
> >The name 'hiz_depth_buffer' has a redundancy, because the hiz buffer
> >can accompany only a depth buffer. Let's shorten the name to
> >'hiz_buffer'.
> >
> >Also, you need to update the comment above this hunk to reflect the
> >new data structure.
>
> Ken reminded me of some ongoing plans we have in Mesa. We plan to kill intel_region
> and replace it with... nothing. Instead of embedding an intel_region into
> intel_mipmap_tree::hiz_buffer, we should embed a raw drm_intel_bo and its pitch.
> That is,
>
> struct {
> struct intel_mipmap_tree *mt;
> drm_intel_bo *bo;
> uint32_t pitch;
> } hiz_buffer;
>
>
My first patch did indeed have this. I was too afraid to rock the boat.
I'll happily rewrite it when you get done with the first patch.
--
Ben Widawsky, Intel Open Source Technology Center
More information about the mesa-dev
mailing list