On 23/04/17 04:24 AM, Ilia Mirkin wrote: > > fbdev also creates fb's that expect cpu endianness, as disabling the > byteswap logic caused a green fbcon terminal to show up. (So at least > something somewhere in the fbcon -> nouveau's fbdev emulation pipeline > is expecting cpu endianness. This happens both with nouveau's fbdev > accel logic and without.) In theory, there's FB_FOREIGN_ENDIAN for that. But in practice it's probably useless because little if any userspace even checks for it, let alone handles it correctly. > So I think the current situation, at least wrt pre-nv50 nouveau, is > that XRGB/ARGB8888 are "special", since they are the only things > exposed by drm_crtc_init. I believe those definitions should be > updated to note that they're cpu-endian-specific (or another way of > phrasing it more diplomatically is that they're array formats rather > than packed formats). That would be incorrect. :) The memory layout of 8-bit-per-component array formats doesn't depend on endianness, that of packed formats does. (DRM_FORMAT_*8 as currently defined are thus effectively array formats) -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer