Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1631912
| From | Michel Dänzer <michel@daenzer.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format |
| Date | 2017-04-27 09:10 +0200 |
| Message-ID | <tALIR-5Aa-1@gated-at.bofh.it> (permalink) |
| References | (3 earlier) <tAo9A-6v2-9@gated-at.bofh.it> <tArAu-oA-13@gated-at.bofh.it> <tAu5j-2ac-5@gated-at.bofh.it> <tAFWO-1s3-9@gated-at.bofh.it> <tALpw-5dO-21@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 27/04/17 03:45 PM, Gerd Hoffmann wrote:
> Hi,
>
>>> That is done using the RADEON_TILING_SWAP_{16,32}BIT flag mentioned in
>>> another thread?
>>
>> Right.
>>
>>
>>> What about dumb bos? You've mentioned the swap flag isn't used for
>>> those. Which implies they are in little endian byte order (both gpu and
>>> cpu view).
>>
>> Right, AFAICT from looking at the code.
>
> Ok.
>
> And I also don't see an easy way to make them big endian (cpu view)
> using swapping with the existing drm interfaces, given we apply a format
> when we put the bo into use as framebuffer, not when creating it. So
> userspace can: (1) create dumb bo, (2) map bo, (3) write something bo,
> (4) create fb + attach to crtc. And at (3) we don't know the format
> yet, so we can't configure swapping accordingly.
>
> So just not using the swapping indeed looks like the only sensible
> option. Which in turn implies there is no BGRA8888 support for dumb
> bos. Hmm, I can see the problem. Userspace expectation appears to be
> that ADDFB configures a native endian framebuffer, which the driver
> simply can't do on bigendian.
... with pre-R600 GPUs.
> So, what can/should the driver do here? Throw errors for ADDFB and
> force userspace to use ADDFB2? From a design point of view the best
> option, but in the other hand I suspect that could break the xorg radeon
> driver ...
Yes, it would.
One thing we could do is provide a way for userspace to query the
effective format(s) as seen by the GPU and/or CPU.
It might also make sense for the radeon driver to set the
RADEON_TILING_SWAP_{16,32}BIT flags for dumb BOs. I wonder about the
status of apps using dumb BOs directly wrt this discussion.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Michel Dänzer <michel@daenzer.net> - 2017-04-25 05:20 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Ville Syrjälä <ville.syrjala@linux.intel.com> - 2017-04-25 12:00 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Michel Dänzer <michel@daenzer.net> - 2017-04-26 04:10 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Ville Syrjälä <ville.syrjala@linux.intel.com> - 2017-04-26 16:40 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann <kraxel@redhat.com> - 2017-04-26 08:00 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Michel Dänzer <michel@daenzer.net> - 2017-04-26 11:40 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann <kraxel@redhat.com> - 2017-04-26 14:20 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Michel Dänzer <michel@daenzer.net> - 2017-04-27 03:00 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann <kraxel@redhat.com> - 2017-04-27 08:50 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Michel Dänzer <michel@daenzer.net> - 2017-04-27 09:10 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann <kraxel@redhat.com> - 2017-04-28 12:10 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Eric Engestrom <eric.engestrom@imgtec.com> - 2017-04-26 15:30 +0200
Re: [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann <kraxel@redhat.com> - 2017-04-26 16:00 +0200
csiph-web