• Ben Widawsky's avatar
    drm/i915: Add format modifiers for Intel · 714244e2
    Ben Widawsky authored
    This was based on a patch originally by Kristian. It has been modified
    pretty heavily to use the new callbacks from the previous patch.
    
    v2:
      - Add LINEAR and Yf modifiers to list (Ville)
      - Combine i8xx and i965 into one list of formats (Ville)
      - Allow 1010102 formats for Y/Yf tiled (Ville)
    
    v3:
      - Handle cursor formats (Ville)
      - Put handling for LINEAR in the mod_support functions (Ville)
    
    v4:
      - List each modifier explicitly in supported modifiers (Ville)
      - Handle the CURSOR plane (Ville)
    
    v5:
      - Split out cursor and sprite handling (Ville)
    
    v6:
      - Actually use the sprite funcs (Emil)
      - Use unreachable (Emil)
    
    v7:
      - Only allow Intel modifiers and LINEAR (Ben)
    
    v8
      - Fix spite assert introduced in v6 (Daniel)
    
    v9
      - Change vendor check logic to avoid magic 56 (Emil)
      - Reorder skl_mod_support (Ville)
      - make intel_plane_funcs static, could be done as of v5 (Ville)
      - rename local variable intel_format_modifiers to modifiers (Ville)
        - actually use sprite modifiers
      - split out modifier/formats by platform (Ville)
    
    v10:
      - Undo vendor check from v9
    
    v11:
      - Squash CCS advertisement into this patch (daniels)
      - Don't advertise CCS on higher sprite planes (daniels)
    
    v12:
      - Don't advertise Y-tiled or CCS on any sprite planes, since we don't
        allocate enough DDB space for it to work. (daniels)
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v8)
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarDaniel Stone <daniels@collabora.com>
    714244e2
intel_sprite.c 39.2 KB