lkml.org 
[lkml]   [2017]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality.
    On Fri 2017-04-21 14:08:04, Ville Syrjälä wrote:
    > On Fri, Apr 21, 2017 at 11:50:18AM +0200, Gerd Hoffmann wrote:
    > > On Fr, 2017-04-21 at 12:25 +0300, Ville Syrjälä wrote:
    > > > On Fri, Apr 21, 2017 at 09:58:24AM +0200, Gerd Hoffmann wrote:
    > > > > While working on graphics support for virtual machines on ppc64 (which
    > > > > exists in both little and big endian variants) I've figured the comments
    > > > > for various drm fourcc formats in the header file don't match reality.
    > > > >
    > > > > Comments says the RGB formats are little endian, but in practice they
    > > > > are native endian. Look at the drm_mode_legacy_fb_format() helper. It
    > > > > maps -- for example -- bpp/depth 32/24 to DRM_FORMAT_XRGB8888, no matter
    > > > > whenever the machine is little endian or big endian. The users of this
    > > > > function (fbdev emulation, DRM_IOCTL_MODE_ADDFB) expect the framebuffer
    > > > > is native endian, not little endian. Most userspace also operates on
    > > > > native endian only.
    > > >
    > > > I'm not a fan of "native". Native to what? "CPU" or "host" is what I'd
    > > > call it.
    > >
    > > native == whatever the cpu is using.
    > >
    > > I personally find "native" more intuitive, but at the end of the day I
    > > don't mind much. If people prefer "host" over "native" I'll change it.
    >
    > "native" to me feels more like "native to the GPU" since these things
    > really are tied to the GPU not the CPU. That's also why I went with the
    > explicit endianness originally so that the driver could properly declare
    > what the GPU supports.

    You can easily have more than one GPU in the system. Plus these are
    used by cameras / frame grabbers, too. So anything else than CPU
    endianness is badly defined.

    (And I agree with the rest of the thread -- we should really be
    explicit; fourcc should specify what format the image data are in, and
    it should be possible to write fourcc + raw data into file and
    transfer it between machines.)


    Pavel

    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2017-05-11 23:24    [W:2.279 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site