This was all kicked off by me figuring out how the PPC byteswap thing worked.
In the end, we're keeping the implicit byteswap based on architecture, but also
expose the correctly supported formats, and fix some overlay details.
Overlay framebuffers have various funky requirements that should be enforced at
framebuffer creation time (these are set apart by their YUV formats). Further,
I simplify some error-checking details for both nv4 and nv10+ framebuffers as
well as using the pitch properly instead of making wild assumptions (how did
every work... not sure).
This has seen some modest modetest testing on NV5, NV17, NV34, and NV4A. I
some odd issues on NV5 with certain scaling factors, but I'm somewhat sure that
those issues were there before - either the hw can't keep up or we're not
Ilia Mirkin (4):
drm/nouveau/display: prevent undisplayable framebuffers from creation
drm/nouveau/overlay: improve error detection, fix pitch setting
drm/nouveau/overlay: add NV21 support
drm/nouveau/dispnv04: fix exposed format list
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 36 ++++++++++++++-
drivers/gpu/drm/nouveau/dispnv04/overlay.c | 71 +++++++++++++++++-------------
drivers/gpu/drm/nouveau/nouveau_display.c | 21 +++++++++
3 files changed, 96 insertions(+), 32 deletions(-)
dri-devel mailing list