[Mesa-dev] [PATCH 08/18] i965: Drop the global GEM name from regions.
Chad Versace
chad.versace at linux.intel.com
Wed Apr 30 23:27:48 PDT 2014
On Wed, Apr 30, 2014 at 11:25:27PM -0700, Chad Versace wrote:
> On Tue, Apr 29, 2014 at 04:34:33PM -0700, Eric Anholt wrote:
> > Once a buffer has been named, drm_intel_bo_flink() is just a getter.
>
> Yep. Surprising but true. (Well, it surprised me).
>
> > diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> > index 28118b9..e35cc7e 100644
> > --- a/src/mesa/drivers/dri/i965/brw_context.c
> > +++ b/src/mesa/drivers/dri/i965/brw_context.c
> > @@ -1267,7 +1267,16 @@ intel_process_dri2_buffer(struct brw_context *brw,
> > else
> > last_mt = rb->singlesample_mt;
> >
> > - if (last_mt && last_mt->region->name == buffer->name)
> > + /* Get the name for our previous RB mt. We know it had a name already (and
> > + * thus the DRM call is just a getter), because it could only have been
> > + * allocated by a previous intel_process_dri2_buffer(), so
> > + * drm_intel_bo_flink() is just a getter.
> > + */
> > + uint32_t old_name = 0;
> > + if (last_mt)
> > + drm_intel_bo_flink(last_mt->region->bo, &old_name);
> > +
> > + if (old_name == buffer->name)
> > return;
>
> Without the context provided the commit message, I would not understand
> the above comment. It feels too circular and wordy. Also, it's making
> a claim that's only true *inside* the if-block, but the commit is
> outside. And it says "is just a getter" twice; another point of
> confusion.
>
> How about something like this?
>
> uint32_t old_name = 0;
> if (last_mt) {
> /* The bo already has a name because the miptree was created by
> * a previous call to intel_process_dri2_buffer(). If a bo already
> * has a name, then drm_intel_bo_flink() is a lowcost getter. It
> * does not create a new name.
> */
> drm_intel_bo_flink(last_mt->region->bo, &old_name);
> }
>
>
> > -bool
> > -intel_region_flink(struct intel_region *region, uint32_t *name)
> > -{
> > - if (region->name == 0) {
> > - if (drm_intel_bo_flink(region->bo, ®ion->name))
> > - return false;
> > - }
> > -
> > - *name = region->name;
> > -
> > - return true;
> > -}
> > -
>
> Functions like intel_region_flink() make me sad. Good to see it die.
>
> Patches up to here are
> Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
To be clear, I prefer that you clarify the comment.
Regardless, the patch has my r-b because I don't like blocking patches
on non-essential comments.
More information about the mesa-dev
mailing list