Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-03 Thread Sharma, Deepak
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  
Sent: Wednesday, October 3, 2018 8:03 AM
To: Koenig, Christian 
Cc: Sharma, Deepak ; ML Mesa-dev 
; Guttula, Suresh 
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  
wrote:
>
> Am 03.10.2018 um 16:56 schrieb Ilia Mirkin:
> > On Wed, Oct 3, 2018 at 9:36 AM Christian König 
> >  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
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-03 Thread Ilia Mirkin
On Wed, Oct 3, 2018 at 10:59 AM Koenig, Christian
 wrote:
>
> Am 03.10.2018 um 16:56 schrieb Ilia Mirkin:
> > On Wed, Oct 3, 2018 at 9:36 AM Christian König
> >  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
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-03 Thread Koenig, Christian
Am 03.10.2018 um 16:56 schrieb Ilia Mirkin:
> On Wed, Oct 3, 2018 at 9:36 AM Christian König
>  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.

Christian.

>
> Cheers,
>
>-ilia

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-03 Thread Ilia Mirkin
On Wed, Oct 3, 2018 at 9:36 AM Christian König
 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.

Cheers,

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-03 Thread Christian König
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?

Regards,
Christian.

Am 02.10.2018 um 21:34 schrieb Ilia Mirkin:

vlVaGetImage should respect the x/y/width/height. The surface size
need not have any correlation to the image size. Someone should
double-check the docs for how that function should work, but the
current logic seems completely bogus.
On Tue, Oct 2, 2018 at 3:09 PM Koenig, Christian
 wrote:

Well that's the complete wrong place for that.

The stride of the surface is determined by addrlib. That one should handle 
aligning the parameters.

Christian.

Am 02.10.2018 20:38 schrieb "Sharma, Deepak" :
Christian, the issue which trying to address here is vlvaGetImage doesn’t use 
width/height
passed to function. box.width is calculated from surface and that will end up 
in wrong stride for dst buffer
for said resolution. So was thinking to use aligned width/height for 
vaCreateImage as well as surface.
But as you said that depends on codec , So I think either we can use 
width/height aligned based on codec
or use passed width/height in vlvaGetImage to fix this issue.

Thanks,
Deepak

-Original Message-
From: Christian König 
Sent: Tuesday, October 2, 2018 3:42 AM
To: Sharma, Deepak ; mesa-dev@lists.freedesktop.org
Cc: Guttula, Suresh 
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:

From: suresh guttula 

In case of decoding of resolution like 40x24, while allocating surface
video buffer is always aligned with macroblock width/height which is 16.
But when application tries to get data after decoding through
vaCreateImage /vaGetImage, image width/height aligned with 2 and
result a smaller image buffer which causes the memory stomping issue.

Well NAK. It depends on the codec if the picture needs to be aligned to
16 or not.

For example VC-1 would created decoding errors with that.

Regards,
Christian.


Signed-off-by: suresh guttula 
---
   src/gallium/state_trackers/va/image.c | 4 ++--
   1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/va/image.c
b/src/gallium/state_trackers/va/image.c
index 3f892c9..2fc47b7 100644
--- a/src/gallium/state_trackers/va/image.c
+++ b/src/gallium/state_trackers/va/image.c
@@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat 
*format, int width, int heig
  img->format = *format;
  img->width = width;
  img->height = height;
-   w = align(width, 2);
-   h = align(height, 2);
+   w = align(width, 16);
+   h = align(height, 16);

  switch (format->fourcc) {
  case VA_FOURCC('N','V','1','2'):

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-02 Thread Ilia Mirkin
vlVaGetImage should respect the x/y/width/height. The surface size
need not have any correlation to the image size. Someone should
double-check the docs for how that function should work, but the
current logic seems completely bogus.
On Tue, Oct 2, 2018 at 3:09 PM Koenig, Christian
 wrote:
>
> Well that's the complete wrong place for that.
>
> The stride of the surface is determined by addrlib. That one should handle 
> aligning the parameters.
>
> Christian.
>
> Am 02.10.2018 20:38 schrieb "Sharma, Deepak" :
> Christian, the issue which trying to address here is vlvaGetImage doesn’t use 
> width/height
> passed to function. box.width is calculated from surface and that will end up 
> in wrong stride for dst buffer
> for said resolution. So was thinking to use aligned width/height for 
> vaCreateImage as well as surface.
> But as you said that depends on codec , So I think either we can use 
> width/height aligned based on codec
> or use passed width/height in vlvaGetImage to fix this issue.
>
> Thanks,
> Deepak
>
> -Original Message-
> From: Christian König 
> Sent: Tuesday, October 2, 2018 3:42 AM
> To: Sharma, Deepak ; mesa-dev@lists.freedesktop.org
> Cc: Guttula, Suresh 
> Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
>
> Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:
> > From: suresh guttula 
> >
> > In case of decoding of resolution like 40x24, while allocating surface
> > video buffer is always aligned with macroblock width/height which is 16.
> > But when application tries to get data after decoding through
> > vaCreateImage /vaGetImage, image width/height aligned with 2 and
> > result a smaller image buffer which causes the memory stomping issue.
>
> Well NAK. It depends on the codec if the picture needs to be aligned to
> 16 or not.
>
> For example VC-1 would created decoding errors with that.
>
> Regards,
> Christian.
>
> >
> > Signed-off-by: suresh guttula 
> > ---
> >   src/gallium/state_trackers/va/image.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/gallium/state_trackers/va/image.c
> > b/src/gallium/state_trackers/va/image.c
> > index 3f892c9..2fc47b7 100644
> > --- a/src/gallium/state_trackers/va/image.c
> > +++ b/src/gallium/state_trackers/va/image.c
> > @@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat 
> > *format, int width, int heig
> >  img->format = *format;
> >  img->width = width;
> >  img->height = height;
> > -   w = align(width, 2);
> > -   h = align(height, 2);
> > +   w = align(width, 16);
> > +   h = align(height, 16);
> >
> >  switch (format->fourcc) {
> >  case VA_FOURCC('N','V','1','2'):
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-02 Thread Koenig, Christian
Well that's the complete wrong place for that.

The stride of the surface is determined by addrlib. That one should handle 
aligning the parameters.

Christian.

Am 02.10.2018 20:38 schrieb "Sharma, Deepak" :
Christian, the issue which trying to address here is vlvaGetImage doesn’t use 
width/height
passed to function. box.width is calculated from surface and that will end up 
in wrong stride for dst buffer
for said resolution. So was thinking to use aligned width/height for 
vaCreateImage as well as surface.
But as you said that depends on codec , So I think either we can use 
width/height aligned based on codec
or use passed width/height in vlvaGetImage to fix this issue.

Thanks,
Deepak

-Original Message-
From: Christian König 
Sent: Tuesday, October 2, 2018 3:42 AM
To: Sharma, Deepak ; mesa-dev@lists.freedesktop.org
Cc: Guttula, Suresh 
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:
> From: suresh guttula 
>
> In case of decoding of resolution like 40x24, while allocating surface
> video buffer is always aligned with macroblock width/height which is 16.
> But when application tries to get data after decoding through
> vaCreateImage /vaGetImage, image width/height aligned with 2 and
> result a smaller image buffer which causes the memory stomping issue.

Well NAK. It depends on the codec if the picture needs to be aligned to
16 or not.

For example VC-1 would created decoding errors with that.

Regards,
Christian.

>
> Signed-off-by: suresh guttula 
> ---
>   src/gallium/state_trackers/va/image.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/va/image.c
> b/src/gallium/state_trackers/va/image.c
> index 3f892c9..2fc47b7 100644
> --- a/src/gallium/state_trackers/va/image.c
> +++ b/src/gallium/state_trackers/va/image.c
> @@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat 
> *format, int width, int heig
>  img->format = *format;
>  img->width = width;
>  img->height = height;
> -   w = align(width, 2);
> -   h = align(height, 2);
> +   w = align(width, 16);
> +   h = align(height, 16);
>
>  switch (format->fourcc) {
>  case VA_FOURCC('N','V','1','2'):

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-02 Thread Sharma, Deepak
Christian, the issue which trying to address here is vlvaGetImage doesn’t use 
width/height 
passed to function. box.width is calculated from surface and that will end up 
in wrong stride for dst buffer
for said resolution. So was thinking to use aligned width/height for 
vaCreateImage as well as surface. 
But as you said that depends on codec , So I think either we can use 
width/height aligned based on codec 
or use passed width/height in vlvaGetImage to fix this issue. 

Thanks,
Deepak

-Original Message-
From: Christian König  
Sent: Tuesday, October 2, 2018 3:42 AM
To: Sharma, Deepak ; mesa-dev@lists.freedesktop.org
Cc: Guttula, Suresh 
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:
> From: suresh guttula 
>
> In case of decoding of resolution like 40x24, while allocating surface 
> video buffer is always aligned with macroblock width/height which is 16.
> But when application tries to get data after decoding through 
> vaCreateImage /vaGetImage, image width/height aligned with 2 and 
> result a smaller image buffer which causes the memory stomping issue.

Well NAK. It depends on the codec if the picture needs to be aligned to
16 or not.

For example VC-1 would created decoding errors with that.

Regards,
Christian.

>
> Signed-off-by: suresh guttula 
> ---
>   src/gallium/state_trackers/va/image.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/va/image.c 
> b/src/gallium/state_trackers/va/image.c
> index 3f892c9..2fc47b7 100644
> --- a/src/gallium/state_trackers/va/image.c
> +++ b/src/gallium/state_trackers/va/image.c
> @@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat 
> *format, int width, int heig
>  img->format = *format;
>  img->width = width;
>  img->height = height;
> -   w = align(width, 2);
> -   h = align(height, 2);
> +   w = align(width, 16);
> +   h = align(height, 16);
>   
>  switch (format->fourcc) {
>  case VA_FOURCC('N','V','1','2'):

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-02 Thread Christian König

Am 02.10.2018 um 03:47 schrieb Sharma, Deepak:

From: suresh guttula 

In case of decoding of resolution like 40x24, while allocating surface
video buffer is always aligned with macroblock width/height which is 16.
But when application tries to get data after decoding through vaCreateImage
/vaGetImage, image width/height aligned with 2 and result a smaller image
buffer which causes the memory stomping issue.


Well NAK. It depends on the codec if the picture needs to be aligned to 
16 or not.


For example VC-1 would created decoding errors with that.

Regards,
Christian.



Signed-off-by: suresh guttula 
---
  src/gallium/state_trackers/va/image.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/va/image.c 
b/src/gallium/state_trackers/va/image.c
index 3f892c9..2fc47b7 100644
--- a/src/gallium/state_trackers/va/image.c
+++ b/src/gallium/state_trackers/va/image.c
@@ -123,8 +123,8 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat 
*format, int width, int heig
 img->format = *format;
 img->width = width;
 img->height = height;
-   w = align(width, 2);
-   h = align(height, 2);
+   w = align(width, 16);
+   h = align(height, 16);
  
 switch (format->fourcc) {

 case VA_FOURCC('N','V','1','2'):


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-02 Thread Guttula, Suresh
While calling ucopy* functions to copy data to image ,it passes box.width which 
is calculated from surface . If the image buffer created for image dimensions 
width=40 and u copy use surface width=48. Which is giving a wrong stride for 
dst buffer.

Thanks,
Suresh G

Get Outlook for Android<https://aka.ms/ghei36>


From: Ilia Mirkin 
Sent: Tuesday, October 2, 2018 7:53:09 AM
To: Sharma, Deepak
Cc: ML Mesa-dev; Guttula, Suresh
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

Looking at vlVaGetImage, it looks like it just copies data into the
texture -- I don't see how UVD is implicated in this. Perhaps the
transfer's stride is being set wrong? Or maybe either
u_copy_nv12_to_yv12 or util_copy_rect (or one of the functions they
call) is having trouble?
On Mon, Oct 1, 2018 at 10:17 PM Sharma, Deepak  wrote:
>
> 16 was considering UVD.
>
> in vlVagetImage, the width,height passed to function is not used but rather 
> the surface width/height and that causes issue in this case,not sure how 
> driver will handle that ?
>
> 
> From: Ilia Mirkin 
> Sent: Monday, October 1, 2018 6:49 PM
> To: Sharma, Deepak
> Cc: ML Mesa-dev; Guttula, Suresh
> Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
>
> On Mon, Oct 1, 2018 at 9:47 PM Sharma, Deepak  wrote:
> >
> > From: suresh guttula 
> >
> > In case of decoding of resolution like 40x24, while allocating surface
> > video buffer is always aligned with macroblock width/height which is 16.
> > But when application tries to get data after decoding through vaCreateImage
> > /vaGetImage, image width/height aligned with 2 and result a smaller image
> > buffer which causes the memory stomping issue.
>
> Shouldn't the driver be allocating a larger backing texture instead?
> Why 16 and not 8 or 32 or 4096?
>
>   -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-01 Thread Ilia Mirkin
I haven't checked in detail, but vlVaGetImage appears to ignore the
passed-in x/y/width/height parameters. What happens if e.g. you have a
1000x1000 surface, and I call
vlVaGetImage(x=10,y=10,width=1,height=1)? Shouldn't it just return me
one pixel? If this is legal, then these limits need to be taken
account in vlVaGetImage.

  -ilia
On Mon, Oct 1, 2018 at 10:57 PM Guttula, Suresh  wrote:
>
> While calling ucopy* functions to copy data to image ,it passes box.width 
> which is calculated from surface . If the image buffer created for image 
> dimensions width=40 and u copy use surface width=48. Which is giving a wrong 
> stride for dst buffer.
>
> Thanks,
> Suresh G
>
> Get Outlook for Android
>
> 
> From: Ilia Mirkin 
> Sent: Tuesday, October 2, 2018 7:53:09 AM
> To: Sharma, Deepak
> Cc: ML Mesa-dev; Guttula, Suresh
> Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
>
> Looking at vlVaGetImage, it looks like it just copies data into the
> texture -- I don't see how UVD is implicated in this. Perhaps the
> transfer's stride is being set wrong? Or maybe either
> u_copy_nv12_to_yv12 or util_copy_rect (or one of the functions they
> call) is having trouble?
> On Mon, Oct 1, 2018 at 10:17 PM Sharma, Deepak  wrote:
> >
> > 16 was considering UVD.
> >
> > in vlVagetImage, the width,height passed to function is not used but rather 
> > the surface width/height and that causes issue in this case,not sure how 
> > driver will handle that ?
> >
> > 
> > From: Ilia Mirkin 
> > Sent: Monday, October 1, 2018 6:49 PM
> > To: Sharma, Deepak
> > Cc: ML Mesa-dev; Guttula, Suresh
> > Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
> >
> > On Mon, Oct 1, 2018 at 9:47 PM Sharma, Deepak  wrote:
> > >
> > > From: suresh guttula 
> > >
> > > In case of decoding of resolution like 40x24, while allocating surface
> > > video buffer is always aligned with macroblock width/height which is 16.
> > > But when application tries to get data after decoding through 
> > > vaCreateImage
> > > /vaGetImage, image width/height aligned with 2 and result a smaller image
> > > buffer which causes the memory stomping issue.
> >
> > Shouldn't the driver be allocating a larger backing texture instead?
> > Why 16 and not 8 or 32 or 4096?
> >
> >   -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-01 Thread Ilia Mirkin
Looking at vlVaGetImage, it looks like it just copies data into the
texture -- I don't see how UVD is implicated in this. Perhaps the
transfer's stride is being set wrong? Or maybe either
u_copy_nv12_to_yv12 or util_copy_rect (or one of the functions they
call) is having trouble?
On Mon, Oct 1, 2018 at 10:17 PM Sharma, Deepak  wrote:
>
> 16 was considering UVD.
>
> in vlVagetImage, the width,height passed to function is not used but rather 
> the surface width/height and that causes issue in this case,not sure how 
> driver will handle that ?
>
> 
> From: Ilia Mirkin 
> Sent: Monday, October 1, 2018 6:49 PM
> To: Sharma, Deepak
> Cc: ML Mesa-dev; Guttula, Suresh
> Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.
>
> On Mon, Oct 1, 2018 at 9:47 PM Sharma, Deepak  wrote:
> >
> > From: suresh guttula 
> >
> > In case of decoding of resolution like 40x24, while allocating surface
> > video buffer is always aligned with macroblock width/height which is 16.
> > But when application tries to get data after decoding through vaCreateImage
> > /vaGetImage, image width/height aligned with 2 and result a smaller image
> > buffer which causes the memory stomping issue.
>
> Shouldn't the driver be allocating a larger backing texture instead?
> Why 16 and not 8 or 32 or 4096?
>
>   -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-01 Thread Sharma, Deepak
16 was considering UVD.

in vlVagetImage, the width,height passed to function is not used but rather the 
surface width/height and that causes issue in this case,not sure how driver 
will handle that ?


From: Ilia Mirkin 
Sent: Monday, October 1, 2018 6:49 PM
To: Sharma, Deepak
Cc: ML Mesa-dev; Guttula, Suresh
Subject: Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

On Mon, Oct 1, 2018 at 9:47 PM Sharma, Deepak  wrote:
>
> From: suresh guttula 
>
> In case of decoding of resolution like 40x24, while allocating surface
> video buffer is always aligned with macroblock width/height which is 16.
> But when application tries to get data after decoding through vaCreateImage
> /vaGetImage, image width/height aligned with 2 and result a smaller image
> buffer which causes the memory stomping issue.

Shouldn't the driver be allocating a larger backing texture instead?
Why 16 and not 8 or 32 or 4096?

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/va:Aligned image width and height to 16.

2018-10-01 Thread Ilia Mirkin
On Mon, Oct 1, 2018 at 9:47 PM Sharma, Deepak  wrote:
>
> From: suresh guttula 
>
> In case of decoding of resolution like 40x24, while allocating surface
> video buffer is always aligned with macroblock width/height which is 16.
> But when application tries to get data after decoding through vaCreateImage
> /vaGetImage, image width/height aligned with 2 and result a smaller image
> buffer which causes the memory stomping issue.

Shouldn't the driver be allocating a larger backing texture instead?
Why 16 and not 8 or 32 or 4096?

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev