[Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
Sharma, Deepak
Deepak.Sharma at amd.com
Wed Oct 3 16:43:07 UTC 2018
I understand the problem with vlVaGetImage not respecting parameter and that has to be fixed.
Christian, could you please provide some more input on addrlib alignment for fixing this.
Thanks,
Deepak
-----Original Message-----
From: Ilia Mirkin <imirkin at alum.mit.edu>
Sent: Wednesday, October 3, 2018 8:03 AM
To: Koenig, Christian <Christian.Koenig at amd.com>
Cc: Sharma, Deepak <Deepak.Sharma at amd.com>; ML Mesa-dev <mesa-dev at lists.freedesktop.org>; Guttula, Suresh <Suresh.Guttula at amd.com>
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
On Wed, Oct 3, 2018 at 10:59 AM Koenig, Christian <Christian.Koenig at amd.com> wrote:
>
> Am 03.10.2018 um 16:56 schrieb Ilia Mirkin:
> > On Wed, Oct 3, 2018 at 9:36 AM Christian König
> > <ckoenig.leichtzumerken at gmail.com> wrote:
> >> What the heck are you talking about? As far as I can see this patch
> >> is about adding hw specific alignment to vlVaCreateImage which is a
> >> state tracker function.
> >>
> >> Completely agree that vlVaGetImage should respect the parameters
> >> given instead of using the one from the surface, but that sounds
> >> like a different problem.
> >>
> >> Maybe mixing mail threads?
> > The stated reason (when I originally asked why this was being done)
> > was that vlVaGetImage would overwrite bits past the image created
> > with vlVaCreateImage (because it uses the full surface size, rather
> > than the x/y/width/height clipped to both the image and the
> > surface). My comment was that the fix needs to go into vlVaGetImage,
> > not into vlVaCreateImage.
>
> Ah! Yeah, as I said that is a problem on it's own.
>
> But what Deepak is trying to address here really sounds like a problem
> in a deeper layer. addrlib is really not aligning the resulting
> texture correctly when we see problems like that.
That was not my understanding. vlVaCreateImage creates a linear image, not a render surface. vlVaGetImage then writes data to it, and goes way over because the underlying surface's dimensions are larger than the image's (because the underlying surface *does* have the proper alignment).
But perhaps I misunderstood. Either way, I think we're in agreement that vlVaGetImage needs fixing :)
-ilia
More information about the mesa-dev
mailing list