Skip to content
Snippets Groups Projects
  • Lowry Li's avatar
    a5ec8332
    drm: Add per-plane pixel blend mode property · a5ec8332
    Lowry Li authored
    
    Pixel blend modes represent the alpha blending equation
    selection, describing how the pixels from the current
    plane are composited with the background.
    
    Adds a pixel_blend_mode to drm_plane_state and a
    blend_mode_property to drm_plane, and related support
    functions.
    
    Defines three blend modes in drm_blend.h.
    
    Changes since v1:
     - Moves the blending equation into the DOC comment
     - Refines the comments of drm_plane_create_blend_mode_property to not
       enumerate the #defines, but instead the string values
     - Uses fg.* instead of pixel.* and plane_alpha instead of plane.alpha
    Changes since v2:
     - Refines the comments of drm_plane_create_blend_mode_property:
          1) Puts the descriptions (after the ":") on a new line
          2) Adds explaining why @supported_modes need PREMUL as default
    Changes since v3:
     - Refines drm_plane_create_blend_mode_property(). drm_property_add_enum()
       can calculate the index itself just fine, so no point in having the
       caller pass it in.
     - Since the current DRM assumption is that alpha is premultiplied
       as default, define DRM_MODE_BLEND_PREMULTI as 0 will be better.
     - Refines some comments.
    Changes since v4:
     - Adds comments in drm_blend.h.
     - Removes setting default value in drm_plane_create_blend_mode_property()
       as it is already in __drm_atomic_helper_plane_reset().
     - Fixes to use state->pixel_blend_mode instead of using
       plane->state->pixel_blend_mode in reset function.
     - Rebases on drm-misc-next.
    
    Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
    Signed-off-by: default avatarLowry Li <lowry.li@arm.com>
    Signed-off-by: default avatarAyan Kumar Halder <ayan.halder@arm.com>
    Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/245734/
    a5ec8332
    History
    drm: Add per-plane pixel blend mode property
    Lowry Li authored
    
    Pixel blend modes represent the alpha blending equation
    selection, describing how the pixels from the current
    plane are composited with the background.
    
    Adds a pixel_blend_mode to drm_plane_state and a
    blend_mode_property to drm_plane, and related support
    functions.
    
    Defines three blend modes in drm_blend.h.
    
    Changes since v1:
     - Moves the blending equation into the DOC comment
     - Refines the comments of drm_plane_create_blend_mode_property to not
       enumerate the #defines, but instead the string values
     - Uses fg.* instead of pixel.* and plane_alpha instead of plane.alpha
    Changes since v2:
     - Refines the comments of drm_plane_create_blend_mode_property:
          1) Puts the descriptions (after the ":") on a new line
          2) Adds explaining why @supported_modes need PREMUL as default
    Changes since v3:
     - Refines drm_plane_create_blend_mode_property(). drm_property_add_enum()
       can calculate the index itself just fine, so no point in having the
       caller pass it in.
     - Since the current DRM assumption is that alpha is premultiplied
       as default, define DRM_MODE_BLEND_PREMULTI as 0 will be better.
     - Refines some comments.
    Changes since v4:
     - Adds comments in drm_blend.h.
     - Removes setting default value in drm_plane_create_blend_mode_property()
       as it is already in __drm_atomic_helper_plane_reset().
     - Fixes to use state->pixel_blend_mode instead of using
       plane->state->pixel_blend_mode in reset function.
     - Rebases on drm-misc-next.
    
    Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
    Signed-off-by: default avatarLowry Li <lowry.li@arm.com>
    Signed-off-by: default avatarAyan Kumar Halder <ayan.halder@arm.com>
    Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/245734/
Code owners
Assign users and groups as approvers for specific file changes. Learn more.