[Intel-gfx] [PATCH v4 0/4] Blobifiers (FKA GET_PLANE2)
Ben Widawsky
ben at bwidawsk.net
Fri Jun 23 16:45:40 UTC 2017
These patches create the blob property for modifiers, and the implementation for
i915 modifiers. This [generally] has been tested in Weston by Daniel Stone as
well as an earlier version of kmscube. This patch series was formerly known as
"GET_PLANE2" because the interface for obtaining the modifiers was extended
throug GET_PLANE instead of a blob property.
The modifier blob (blobifier) presents a list of modifiers per plane, and a
related bitmask [1] back to userspace, via KMS, so that a client such as a
compositor may utilize those modifiers for buffer creation via GBM, or buffer
import via dmabuf/EGL.
All vendors may optimize via their supported modifiers. For Intel, this is one
of the pieces required to support end to end lossless compression (a memory
bandwidth saving technique semi-common across GPUs).
I do apologize if I missed some previous review comments. A ton of things came
up and it took a while to spin this rev. Nothing was missing intentionally.
[1] The bitmask is used to show the connection between which modifiers are
supported by which formats.
Ben Widawsky (4):
drm: Plumb modifiers through plane init
drm: Create a format/modifier blob
drm/i915: Add format modifiers for Intel
drm/i915: Add support for CCS modifiers
drivers/gpu/drm/arc/arcpgu_crtc.c | 1 +
drivers/gpu/drm/arm/hdlcd_crtc.c | 1 +
drivers/gpu/drm/arm/malidp_planes.c | 2 +-
drivers/gpu/drm/armada/armada_crtc.c | 1 +
drivers/gpu/drm/armada/armada_overlay.c | 1 +
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 3 +-
drivers/gpu/drm/drm_mode_config.c | 7 ++
drivers/gpu/drm/drm_modeset_helper.c | 1 +
drivers/gpu/drm/drm_plane.c | 119 +++++++++++++++++-
drivers/gpu/drm/drm_simple_kms_helper.c | 3 +
drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +-
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 2 +-
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 +
drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 +-
drivers/gpu/drm/i915/intel_display.c | 155 +++++++++++++++++++++++-
drivers/gpu/drm/i915/intel_sprite.c | 117 +++++++++++++++++-
drivers/gpu/drm/imx/ipuv3-plane.c | 4 +-
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 +-
drivers/gpu/drm/meson/meson_plane.c | 1 +
drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 2 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 4 +-
drivers/gpu/drm/mxsfb/mxsfb_drv.c | 2 +-
drivers/gpu/drm/nouveau/nv50_display.c | 5 +-
drivers/gpu/drm/omapdrm/omap_plane.c | 2 +-
drivers/gpu/drm/pl111/pl111_display.c | 2 +-
drivers/gpu/drm/qxl/qxl_display.c | 2 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 4 +-
drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 4 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +-
drivers/gpu/drm/sti/sti_cursor.c | 2 +-
drivers/gpu/drm/sti/sti_gdp.c | 2 +-
drivers/gpu/drm/sti/sti_hqvdp.c | 2 +-
drivers/gpu/drm/stm/ltdc.c | 2 +-
drivers/gpu/drm/sun4i/sun4i_layer.c | 2 +-
drivers/gpu/drm/tegra/dc.c | 12 +-
drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 2 +-
drivers/gpu/drm/vc4/vc4_plane.c | 2 +-
drivers/gpu/drm/virtio/virtgpu_plane.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 +-
drivers/gpu/drm/zte/zx_plane.c | 2 +-
include/drm/drm_mode_config.h | 6 +
include/drm/drm_plane.h | 22 +++-
include/drm/drm_simple_kms_helper.h | 1 +
include/uapi/drm/drm_fourcc.h | 11 ++
include/uapi/drm/drm_mode.h | 50 ++++++++
47 files changed, 539 insertions(+), 49 deletions(-)
--
2.13.1
More information about the Intel-gfx
mailing list