Gurchetan, can you confirm that the stride returned at alloc() is only used
for CPU access and not for display programming?

Thanks,
Marek

On Wed, Apr 25, 2018 at 11:23 PM, Marek Olšák <mar...@gmail.com> wrote:

> Why would you want to modify it? It's exactly what you get when you map
> it, but that stride can't be used for modesetting.
>
> Marek
>
>
> On Wed, Apr 25, 2018 at 11:14 PM, Gurchetan Singh <
> gurchetansi...@chromium.org> wrote:
>
>> That sounds fine to me.  We can just modify the stride after
>> dri_bo_create(..).
>>
>> On Wed, Apr 25, 2018 at 7:30 PM, Marek Olšák <mar...@gmail.com> wrote:
>> > On Wed, Apr 25, 2018 at 6:56 PM, Gurchetan Singh
>> > <gurchetansi...@chromium.org> wrote:
>> >>
>> >> On Wed, Apr 25, 2018 at 2:16 PM, Marek Olšák <mar...@gmail.com> wrote:
>> >> > From: Nicolai Hähnle <nicolai.haeh...@amd.com>
>> >> >
>> >> > Allow the caller to specify the row stride (in bytes) with which an
>> >> > image
>> >> > should be mapped. Note that completely ignoring USER_STRIDE is a
>> valid
>> >> > implementation of mapImage.
>> >> >
>> >> > This is horrible API design. Unfortunately, cros_gralloc does indeed
>> >> > have
>> >> > a horrible API design -- in that arbitrary images should be allowed
>> to
>> >> > be
>> >> > mapped with the stride that a linear image of the same width would
>> have.
>> >>
>> >> Yes, unfortunately the gralloc API doesn't return the stride when
>> >> (*lock) is called.  However, the stride is returned during (*alloc).
>> >> Currently, for the dri backend, minigbm uses
>> >> __DRI_IMAGE_ATTRIB_STRIDE to compute the pixel stride given to
>> >> Android.
>> >>
>> >> Is AMD seeing problems with the current approach (I haven't seen any
>> >> bugs filed for this issue)?
>> >>
>> >> Another possible solution is to call mapImage()/unmapImage right after
>> >> allocating the image, and use the stride returned by mapImage() to
>> >> compute the pixel stride.  That could also fix whatever bugs AMD is
>> >> seeing.
>> >
>> >
>> > Thanks. You cleared it up to me. It looks like that everything we've
>> been
>> > told so far is BS. This series isn't needed.
>> >
>> > The solution is to do this in the amdgpu minigbm backend at alloc time:
>> >    stride = align(width * Bpp, 64);
>> >
>> > Later chips should change that to:
>> >    stride = align(width * Bpp, 256);
>> >
>> > No querying needed. What do you think?
>> >
>> > Marek
>>
>
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to