From: "Ville Syrjälä" <ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: "Michel Dänzer" <michel-otUistvHUpPR7s880joybQ@public.gmane.org>
Cc: Daniel Vetter
<daniel.vetter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Gerd Hoffmann <kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH 0/6] drm: tackle byteorder issues, take two
Date: Tue, 25 Apr 2017 12:50:12 +0300 [thread overview]
Message-ID: <20170425095012.GJ30290@intel.com> (raw)
In-Reply-To: <65ba8ab7-d647-4b9e-1e8c-aa6e9b1ff996-otUistvHUpPR7s880joybQ@public.gmane.org>
On Tue, Apr 25, 2017 at 09:49:38AM +0900, Michel Dänzer wrote:
> On 24/04/17 11:26 PM, Ville Syrjälä wrote:
> > On Mon, Apr 24, 2017 at 04:54:25PM +0900, Michel Dänzer wrote:
> >> On 24/04/17 04:36 PM, Gerd Hoffmann wrote:
> >>>
> >>>>> drm: fourcc byteorder: add DRM_FORMAT_CPU_*
> >>>>> drm: fourcc byteorder: add bigendian support to
> >>>>> drm_mode_legacy_fb_format
> >>>>
> >>>> As I explained in my last followup in the "[PATCH] drm: fourcc
> >>>> byteorder: brings header file comments in line with reality." thread,
> >>>> the mapping between GPU and CPU formats has to be provided by the
> >>>> driver, it cannot be done statically.
> >>>
> >>> Well, the drm fourcc codes represent the cpu view (i.e. what userspace
> >>> will fill the ADDFB2-created framebuffers with).
> >>
> >> Ville is adamant that they represent the GPU view. This needs to be
> >> resolved one way or the other.
> >
> > Since the byte swapping can happen either for CPU or display access
> > I guess we can't just consider the GPU and display as a single entity.
> >
> > We may need to consider several agents:
> > 1. display
> > 2. GPU
> > 3. CPU
> > 4. other DMA
> >
> > Not sure what we can say about 4. I presume it's going to be like the
> > GPU or the CPU in the sense that it might go through the CPU byte
> > swapping logic or not. I'm just going to ignore it.
> >
> > Let's say we have the following bytes in memory
> > (in order of increasing address): A,B,C,D
> > We'll assume GPU and display are LE natively. Each component will see
> > the resulting 32bpp 8888 pixel as follows (msb left->lsb right):
> >
> > LE CPU w/ no byte swapping:
> > display: DCBA
> > GPU: DCBA
> > CPU: DCBA
> > = everyone agrees
> >
> > BE CPU w/ no byte swapping:
> > display: DCBA
> > GPU: DCBA
> > CPU: ABCD
> > = GPU and display agree
> >
> > BE CPU w/ display byte swapping:
> > display: ABCD
> > GPU: DCBA
> > CPU: ABCD
> > = CPU and display agree
> >
> > BE CPU w/ CPU access byte swapping:
> > display: DCBA
> > GPU: DCBA
> > CPU: DCBA
> > = everyone agrees
>
> Beware that for this list, you're using a format definition
Actually I'm not using any format definitions here.
> which is
> based on a packed 32-bit value. This does *not* match the current
> DRM_FORMAT_*8888 definitions. E.g. in the last case, display and GPU use
> the same DRM_FORMAT, but the CPU uses the "inverse" one.
I wasn't concerned about the specific drm format, just what kind
of a 32bpp value everyone will see given the same memory contents.
--
Ville Syrjälä
Intel OTC
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
prev parent reply other threads:[~2017-04-25 9:50 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-24 6:25 [PATCH 0/6] drm: tackle byteorder issues, take two Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 3/6] drm: fourcc byteorder: add bigendian support to drm_mode_legacy_fb_format Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
[not found] ` <20170424062532.26722-4-kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-25 3:18 ` Michel Dänzer
2017-04-25 3:18 ` Michel Dänzer
2017-04-25 9:52 ` Ville Syrjälä
[not found] ` <20170425095259.GK30290-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-26 2:00 ` Michel Dänzer
2017-04-26 2:00 ` Michel Dänzer
[not found] ` <b306654e-ae14-99f5-d129-8fc1fb8cc05d-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-26 14:30 ` Ville Syrjälä
2017-04-26 14:30 ` Ville Syrjälä
[not found] ` <3b872a56-80b5-0c44-712f-a9517489eb24-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-26 5:53 ` Gerd Hoffmann
2017-04-26 5:53 ` Gerd Hoffmann
2017-04-26 9:21 ` Michel Dänzer
2017-04-26 9:21 ` Michel Dänzer
[not found] ` <8f91cc58-16dc-5899-66b6-06d430a18801-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-26 12:11 ` Gerd Hoffmann
2017-04-26 12:11 ` Gerd Hoffmann
2017-04-27 0:52 ` Michel Dänzer
2017-04-27 0:52 ` Michel Dänzer
[not found] ` <6bd62182-0de5-a8a7-78c3-029fc73ecc91-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-27 6:45 ` Gerd Hoffmann
2017-04-27 6:45 ` Gerd Hoffmann
2017-04-27 7:02 ` Michel Dänzer
[not found] ` <668bc373-1614-a095-6085-15c040f322b8-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-28 10:02 ` Gerd Hoffmann
2017-04-28 10:02 ` Gerd Hoffmann
[not found] ` <1493185990.23739.7.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-26 13:28 ` Eric Engestrom
2017-04-26 13:28 ` Eric Engestrom
[not found] ` <20170426132801.lldz7uwwlp3euozy-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2017-04-26 13:57 ` Gerd Hoffmann
2017-04-26 13:57 ` Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 4/6] drm: fourcc byteorder: adapt bochs-drm to drm_mode_legacy_fb_format update Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 5/6] drm: fourcc byteorder: adapt virtio " Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 6/6] drm: fourcc byteorder: virtio restrict to XRGB8888 Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
[not found] ` <20170424062532.26722-1-kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-24 6:25 ` [PATCH 1/6] drm: fourcc byteorder: drop DRM_FORMAT_BIG_ENDIAN Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 2/6] drm: fourcc byteorder: add DRM_FORMAT_CPU_* Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 4/6] drm: fourcc byteorder: adapt bochs-drm to drm_mode_legacy_fb_format update Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
2017-04-24 6:25 ` [PATCH 5/6] drm: fourcc byteorder: adapt virtio " Gerd Hoffmann
2017-04-24 6:25 ` Gerd Hoffmann
2017-04-24 7:03 ` [PATCH 0/6] drm: tackle byteorder issues, take two Michel Dänzer
[not found] ` <484f319e-c2b7-adc8-4ecf-537803cc2eee-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-24 7:36 ` Gerd Hoffmann
2017-04-24 7:54 ` Michel Dänzer
[not found] ` <f6555947-598f-0dfe-b15d-cda291778e8e-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-24 14:26 ` Ville Syrjälä
2017-04-24 17:06 ` Daniel Stone
[not found] ` <20170424142603.GX30290-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-24 17:28 ` Ville Syrjälä
2017-04-25 0:49 ` Michel Dänzer
[not found] ` <65ba8ab7-d647-4b9e-1e8c-aa6e9b1ff996-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-25 9:50 ` Ville Syrjälä [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170425095012.GJ30290@intel.com \
--to=ville.syrjala-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=daniel.vetter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=michel-otUistvHUpPR7s880joybQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.