Hi all, So this is the very quickly spun together version for my take on fb modifiers. Aim is to reduce the churn a bit with: - Only validate fb modifiers and old tiling_mode behaviour in framebuffer_init to ensure they are consistent. Don't convert over all the code for old platforms. - Guarantee that X-tiling always implies that the underlying bo is fenced with X-tiling mode, too. Otherwise the implications into existing code (e.g. adjusting fbc) are a bit too much. - One draft patch to show how I think we should us fb modifiers: Directly switch on them like we do with obj->tiling_mode, no need to have remap/masking functions around. At least for now.
This isn't complete since some of the shared code, specifically the fb_align stuff used by framebuffer_init and the fbdev emulation code still uses obj->tiling_mode. That needs to be converted into a function which takes u64 fb modifers (for shared code) and the old code retained in an i9xx_ variant (for the plane_config readout code for old platforms). Then we can add the skl+ stuff in another version, together with a if/else. And then framebuffer_init obvsiouly needs to be extended. Commments highly welcome. Cheers, Daniel Daniel Vetter (3): drm/i915: Add fb format modifier support drm/i915: Use fb format modifiers in skylake_update_primary_plane drm: Also check unused fields for addfb2 Tvrtko Ursulin (2): drm/i915: Add tiled framebuffer modifiers drm/i915: Announce support for framebuffer modifiers drivers/gpu/drm/drm_crtc.c | 17 +++++++++++++++++ drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/intel_display.c | 32 ++++++++++++++++++++++++-------- include/uapi/drm/drm_fourcc.h | 31 +++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 8 deletions(-) -- 2.1.4