[Mesa-dev] [PATCH v4 5/5] panfrost: Add support for KHR_partial_update()

Alyssa Rosenzweig alyssa.rosenzweig at collabora.com
Wed Jun 26 19:19:28 UTC 2019


> > > +        /* We set the damage extent to the full resource size but keep the
> > > +         * damage box empty so that the FB content is reloaded by default.
> > > +         */  
> > 
> > ....English, please? Francais, s'il te plait? I'm not too familiar with
> > winsys or the extension -- what's the difference between damage extent
> > and damage box?
> 
> Yeah, reading the comment again I realize it's not clear at all. The
> damage extent is the quad covering all damage rects (even if they don't
> intersect or only partially intersect). The damage box is actually the
> biggest damage rect (rect1 in the following example):
> 
>               _______________________
>               |            |         |
>               |__________  |  rect 2 |
>               |         |  |_________|
>               | rect 1  |______      |
>               |         |rect3 |     |
>               |_________|______|_____|
> 
>                     damage extent

Hmm, ok.

> > If aligning to 32x32 but not 16x16 works, that's probably masking over a
> > bug somewhere else in the code.
> 
> I wish I could come with a better explanation, but I couldn't find
> anything explaining why this alignment is requirement or spot any
> obvious bugs in the code :-/.

Hmmmm. what was the symptom? Also, maybe try with the commit I pushed to
the `tile-aligned` branch on gitlab.fd.o/alyssa/mesa

> Oops, I fear intersection of non-32x32-aligned regions is not safe, it's
> just that I didn't test this case :-). Note that union would not be
> a problem here, because the intersection is applied last (just before
> drawing the wallpaper). That's only true if we assume the intersection
> func aligns things on 32x32 pixels of course (which is not the case
> right now).

I'm not sure I follow why the intersection of, say, 16x16 aligned
regions (that are not also 32x32 aligned) shouldn't work? 16x16 *is* the
tile size for all intents and purposes here; 32x32 only comes up in
hierarchical tiling which is irrelevant to this code (and in fact, we
can disable hierarchical tiling entirely if I need to make my point even
clearer ;P Just poking fun)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190626/27edebee/attachment.sig>


More information about the mesa-dev mailing list