XenevaOS
Loading...
Searching...
No Matches
Classes | Macros
drm_mode.h File Reference
#include <linux/bits.h>
#include <linux/const.h>
#include "drm.h"
Include dependency graph for drm_mode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_mode_modeinfo
 
struct  drm_mode_card_res
 
struct  drm_mode_crtc
 
struct  drm_mode_set_plane
 
struct  drm_mode_get_plane
 
struct  drm_mode_get_plane_res
 
struct  drm_mode_get_encoder
 
struct  drm_mode_get_connector
 
struct  drm_mode_property_enum
 
struct  drm_mode_get_property
 
struct  drm_mode_connector_set_property
 
struct  drm_mode_obj_get_properties
 
struct  drm_mode_obj_set_property
 
struct  drm_mode_get_blob
 
struct  drm_mode_fb_cmd
 
struct  drm_mode_fb_cmd2
 
struct  drm_mode_fb_dirty_cmd
 
struct  drm_mode_mode_cmd
 
struct  drm_mode_cursor
 
struct  drm_mode_cursor2
 
struct  drm_mode_crtc_lut
 
struct  drm_color_ctm
 
struct  drm_color_ctm_3x4
 
struct  drm_color_lut
 
struct  drm_color_lut32
 
struct  drm_plane_size_hint
 
struct  hdr_metadata_infoframe
 
struct  hdr_output_metadata
 
struct  drm_mode_crtc_page_flip
 
struct  drm_mode_crtc_page_flip_target
 
struct  drm_mode_create_dumb
 
struct  drm_mode_map_dumb
 
struct  drm_mode_destroy_dumb
 
struct  drm_mode_atomic
 
struct  drm_format_modifier_blob
 
struct  drm_format_modifier
 
struct  drm_mode_create_blob
 
struct  drm_mode_destroy_blob
 
struct  drm_mode_create_lease
 
struct  drm_mode_list_lessees
 
struct  drm_mode_get_lease
 
struct  drm_mode_revoke_lease
 
struct  drm_mode_rect
 
struct  drm_mode_closefb
 

Macros

#define DRM_CONNECTOR_NAME_LEN   32
 
#define DRM_DISPLAY_MODE_LEN   32
 
#define DRM_PROP_NAME_LEN   32
 
#define DRM_MODE_TYPE_BUILTIN   (1<<0) /* deprecated */
 
#define DRM_MODE_TYPE_CLOCK_C   ((1<<1) | DRM_MODE_TYPE_BUILTIN) /* deprecated */
 
#define DRM_MODE_TYPE_CRTC_C   ((1<<2) | DRM_MODE_TYPE_BUILTIN) /* deprecated */
 
#define DRM_MODE_TYPE_PREFERRED   (1<<3)
 
#define DRM_MODE_TYPE_DEFAULT   (1<<4) /* deprecated */
 
#define DRM_MODE_TYPE_USERDEF   (1<<5)
 
#define DRM_MODE_TYPE_DRIVER   (1<<6)
 
#define DRM_MODE_TYPE_ALL
 
#define DRM_MODE_FLAG_PHSYNC   (1<<0)
 
#define DRM_MODE_FLAG_NHSYNC   (1<<1)
 
#define DRM_MODE_FLAG_PVSYNC   (1<<2)
 
#define DRM_MODE_FLAG_NVSYNC   (1<<3)
 
#define DRM_MODE_FLAG_INTERLACE   (1<<4)
 
#define DRM_MODE_FLAG_DBLSCAN   (1<<5)
 
#define DRM_MODE_FLAG_CSYNC   (1<<6)
 
#define DRM_MODE_FLAG_PCSYNC   (1<<7)
 
#define DRM_MODE_FLAG_NCSYNC   (1<<8)
 
#define DRM_MODE_FLAG_HSKEW   (1<<9) /* hskew provided */
 
#define DRM_MODE_FLAG_BCAST   (1<<10) /* deprecated */
 
#define DRM_MODE_FLAG_PIXMUX   (1<<11) /* deprecated */
 
#define DRM_MODE_FLAG_DBLCLK   (1<<12)
 
#define DRM_MODE_FLAG_CLKDIV2   (1<<13)
 
#define DRM_MODE_FLAG_3D_MASK   (0x1f<<14)
 
#define DRM_MODE_FLAG_3D_NONE   (0<<14)
 
#define DRM_MODE_FLAG_3D_FRAME_PACKING   (1<<14)
 
#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE   (2<<14)
 
#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE   (3<<14)
 
#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL   (4<<14)
 
#define DRM_MODE_FLAG_3D_L_DEPTH   (5<<14)
 
#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH   (6<<14)
 
#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM   (7<<14)
 
#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF   (8<<14)
 
#define DRM_MODE_PICTURE_ASPECT_NONE   0
 
#define DRM_MODE_PICTURE_ASPECT_4_3   1
 
#define DRM_MODE_PICTURE_ASPECT_16_9   2
 
#define DRM_MODE_PICTURE_ASPECT_64_27   3
 
#define DRM_MODE_PICTURE_ASPECT_256_135   4
 
#define DRM_MODE_CONTENT_TYPE_NO_DATA   0
 
#define DRM_MODE_CONTENT_TYPE_GRAPHICS   1
 
#define DRM_MODE_CONTENT_TYPE_PHOTO   2
 
#define DRM_MODE_CONTENT_TYPE_CINEMA   3
 
#define DRM_MODE_CONTENT_TYPE_GAME   4
 
#define DRM_MODE_FLAG_PIC_AR_MASK   (0x0F<<19)
 
#define DRM_MODE_FLAG_PIC_AR_NONE    (DRM_MODE_PICTURE_ASPECT_NONE<<19)
 
#define DRM_MODE_FLAG_PIC_AR_4_3    (DRM_MODE_PICTURE_ASPECT_4_3<<19)
 
#define DRM_MODE_FLAG_PIC_AR_16_9    (DRM_MODE_PICTURE_ASPECT_16_9<<19)
 
#define DRM_MODE_FLAG_PIC_AR_64_27    (DRM_MODE_PICTURE_ASPECT_64_27<<19)
 
#define DRM_MODE_FLAG_PIC_AR_256_135    (DRM_MODE_PICTURE_ASPECT_256_135<<19)
 
#define DRM_MODE_FLAG_ALL
 
#define DRM_MODE_DPMS_ON   0
 
#define DRM_MODE_DPMS_STANDBY   1
 
#define DRM_MODE_DPMS_SUSPEND   2
 
#define DRM_MODE_DPMS_OFF   3
 
#define DRM_MODE_SCALE_NONE
 
#define DRM_MODE_SCALE_FULLSCREEN   1 /* Full screen, ignore aspect */
 
#define DRM_MODE_SCALE_CENTER   2 /* Centered, no scaling */
 
#define DRM_MODE_SCALE_ASPECT   3 /* Full screen, preserve aspect */
 
#define DRM_MODE_DITHERING_OFF   0
 
#define DRM_MODE_DITHERING_ON   1
 
#define DRM_MODE_DITHERING_AUTO   2
 
#define DRM_MODE_DIRTY_OFF   0
 
#define DRM_MODE_DIRTY_ON   1
 
#define DRM_MODE_DIRTY_ANNOTATE   2
 
#define DRM_MODE_LINK_STATUS_GOOD   0
 
#define DRM_MODE_LINK_STATUS_BAD   1
 
#define DRM_MODE_PANEL_TYPE_UNKNOWN   0
 
#define DRM_MODE_PANEL_TYPE_OLED   1
 
#define DRM_MODE_ROTATE_0   (1<<0)
 
#define DRM_MODE_ROTATE_90   (1<<1)
 
#define DRM_MODE_ROTATE_180   (1<<2)
 
#define DRM_MODE_ROTATE_270   (1<<3)
 
#define DRM_MODE_ROTATE_MASK
 
#define DRM_MODE_REFLECT_X   (1<<4)
 
#define DRM_MODE_REFLECT_Y   (1<<5)
 
#define DRM_MODE_REFLECT_MASK
 
#define DRM_MODE_CONTENT_PROTECTION_UNDESIRED   0
 
#define DRM_MODE_CONTENT_PROTECTION_DESIRED   1
 
#define DRM_MODE_CONTENT_PROTECTION_ENABLED   2
 
#define FORMAT_BLOB_CURRENT   1
 

: string describing the mode resolution

struct drm_mode_modeinfo - Display mode information. @clock: pixel clock in kHz @hdisplay: horizontal display size @hsync_start: horizontal sync start @hsync_end: horizontal sync end @htotal: horizontal total size @hskew: horizontal skew @vdisplay: vertical display size @vsync_start: vertical sync start @vsync_end: vertical sync end @vtotal: vertical total size @vscan: vertical scan @vrefresh: approximate vertical refresh rate in Hz @flags: bitmask of misc. flags, see DRM_MODE_FLAG_* defines @type: bitmask of type flags, see DRM_MODE_TYPE_* defines

This is the user-space API display mode information structure. For the kernel version see struct drm_display_mode.

#define DRM_MODE_PRESENT_TOP_FIELD   (1<<0)
 
#define DRM_MODE_PRESENT_BOTTOM_FIELD   (1<<1)
 
#define DRM_MODE_ENCODER_NONE   0
 
#define DRM_MODE_ENCODER_DAC   1
 
#define DRM_MODE_ENCODER_TMDS   2
 
#define DRM_MODE_ENCODER_LVDS   3
 
#define DRM_MODE_ENCODER_TVDAC   4
 
#define DRM_MODE_ENCODER_VIRTUAL   5
 
#define DRM_MODE_ENCODER_DSI   6
 
#define DRM_MODE_ENCODER_DPMST   7
 
#define DRM_MODE_ENCODER_DPI   8
 
#define DRM_MODE_CONNECTOR_Unknown   0
 
#define DRM_MODE_CONNECTOR_VGA   1
 
#define DRM_MODE_CONNECTOR_DVII   2
 
#define DRM_MODE_CONNECTOR_DVID   3
 
#define DRM_MODE_CONNECTOR_DVIA   4
 
#define DRM_MODE_CONNECTOR_Composite   5
 
#define DRM_MODE_CONNECTOR_SVIDEO   6
 
#define DRM_MODE_CONNECTOR_LVDS   7
 
#define DRM_MODE_CONNECTOR_Component   8
 
#define DRM_MODE_CONNECTOR_9PinDIN   9
 
#define DRM_MODE_CONNECTOR_DisplayPort   10
 
#define DRM_MODE_CONNECTOR_HDMIA   11
 
#define DRM_MODE_CONNECTOR_HDMIB   12
 
#define DRM_MODE_CONNECTOR_TV   13
 
#define DRM_MODE_CONNECTOR_eDP   14
 
#define DRM_MODE_CONNECTOR_VIRTUAL   15
 
#define DRM_MODE_CONNECTOR_DSI   16
 
#define DRM_MODE_CONNECTOR_DPI   17
 
#define DRM_MODE_CONNECTOR_WRITEBACK   18
 
#define DRM_MODE_CONNECTOR_SPI   19
 
#define DRM_MODE_CONNECTOR_USB   20
 
#define DRM_MODE_PROP_PENDING   (1<<0) /* deprecated, do not use */
 
#define DRM_MODE_PROP_RANGE   (1<<1)
 
#define DRM_MODE_PROP_IMMUTABLE   (1<<2)
 
#define DRM_MODE_PROP_ENUM   (1<<3) /* enumerated type with text strings */
 
#define DRM_MODE_PROP_BLOB   (1<<4)
 
#define DRM_MODE_PROP_BITMASK   (1<<5) /* bitmask of enumerated types */
 
#define DRM_MODE_PROP_LEGACY_TYPE
 
#define DRM_MODE_PROP_EXTENDED_TYPE   0x0000ffc0
 
#define DRM_MODE_PROP_TYPE(n)   ((n) << 6)
 
#define DRM_MODE_PROP_OBJECT   DRM_MODE_PROP_TYPE(1)
 
#define DRM_MODE_PROP_SIGNED_RANGE   DRM_MODE_PROP_TYPE(2)
 
#define DRM_MODE_PROP_ATOMIC   0x80000000
 
enum  drm_mode_subconnector {
  DRM_MODE_SUBCONNECTOR_Automatic = 0 , DRM_MODE_SUBCONNECTOR_Unknown = 0 , DRM_MODE_SUBCONNECTOR_VGA = 1 , DRM_MODE_SUBCONNECTOR_DVID = 3 ,
  DRM_MODE_SUBCONNECTOR_DVIA = 4 , DRM_MODE_SUBCONNECTOR_Composite = 5 , DRM_MODE_SUBCONNECTOR_SVIDEO = 6 , DRM_MODE_SUBCONNECTOR_Component = 8 ,
  DRM_MODE_SUBCONNECTOR_SCART = 9 , DRM_MODE_SUBCONNECTOR_DisplayPort = 10 , DRM_MODE_SUBCONNECTOR_HDMIA = 11 , DRM_MODE_SUBCONNECTOR_Native = 15 ,
  DRM_MODE_SUBCONNECTOR_Wireless = 18
}
 

: symbolic name for this enum entry.

struct drm_mode_property_enum - Description for an enum/bitfield entry. @value: numeric value for this enum entry.

See struct drm_property_enum for details.

#define DRM_MODE_OBJECT_CRTC   0xcccccccc
 
#define DRM_MODE_OBJECT_CONNECTOR   0xc0c0c0c0
 
#define DRM_MODE_OBJECT_ENCODER   0xe0e0e0e0
 
#define DRM_MODE_OBJECT_MODE   0xdededede
 
#define DRM_MODE_OBJECT_PROPERTY   0xb0b0b0b0
 
#define DRM_MODE_OBJECT_FB   0xfbfbfbfb
 
#define DRM_MODE_OBJECT_BLOB   0xbbbbbbbb
 
#define DRM_MODE_OBJECT_PLANE   0xeeeeeeee
 
#define DRM_MODE_OBJECT_COLOROP   0xfafafafa
 
#define DRM_MODE_OBJECT_ANY   0
 
#define DRM_MODE_FB_INTERLACED   (1<<0) /* for interlaced framebuffers */
 
#define DRM_MODE_FB_MODIFIERS   (1<<1) /* enables ->modifier[] */
 
#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY   0x01
 
#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL   0x02
 
#define DRM_MODE_FB_DIRTY_FLAGS   0x03
 
#define DRM_MODE_FB_DIRTY_MAX_CLIPS   256
 
#define DRM_MODE_CURSOR_BO   0x01
 
#define DRM_MODE_CURSOR_MOVE   0x02
 
#define DRM_MODE_CURSOR_FLAGS   0x03
 
#define DRM_MODE_PAGE_FLIP_EVENT   0x01
 
#define DRM_MODE_PAGE_FLIP_ASYNC   0x02
 
#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE   0x4
 
#define DRM_MODE_PAGE_FLIP_TARGET_RELATIVE   0x8
 
#define DRM_MODE_PAGE_FLIP_TARGET
 
#define DRM_MODE_PAGE_FLIP_FLAGS
 
#define DRM_MODE_ATOMIC_TEST_ONLY   0x0100
 
#define DRM_MODE_ATOMIC_NONBLOCK   0x0200
 
#define DRM_MODE_ATOMIC_ALLOW_MODESET   0x0400
 
#define DRM_MODE_ATOMIC_FLAGS
 
#define __DRM_ARGB64_PREP(c, shift)    (((__u64)(c) & __GENMASK(15, 0)) << (shift))
 
#define __DRM_ARGB64_PREP_BPC(c, shift, bpc)
 
#define DRM_ARGB64_PREP(alpha, red, green, blue)
 
#define DRM_ARGB64_PREP_BPC(alpha, red, green, blue, bpc)
 
#define __DRM_ARGB64_GET(c, shift)    ((__u16)(((__u64)(c) >> (shift)) & __GENMASK(15, 0)))
 
#define __DRM_ARGB64_GET_BPC(c, shift, bpc)
 
#define __DRM_ARGB64_GET_BPCS(c, shift, bpc)    (__DRM_ARGB64_GET(c, shift) >> (16 - (bpc)))
 
#define DRM_ARGB64_GETA(c)   __DRM_ARGB64_GET(c, 48)
 
#define DRM_ARGB64_GETR(c)   __DRM_ARGB64_GET(c, 32)
 
#define DRM_ARGB64_GETG(c)   __DRM_ARGB64_GET(c, 16)
 
#define DRM_ARGB64_GETB(c)   __DRM_ARGB64_GET(c, 0)
 
#define DRM_ARGB64_GETA_BPC(c, bpc)   __DRM_ARGB64_GET_BPC(c, 48, bpc)
 
#define DRM_ARGB64_GETR_BPC(c, bpc)   __DRM_ARGB64_GET_BPC(c, 32, bpc)
 
#define DRM_ARGB64_GETG_BPC(c, bpc)   __DRM_ARGB64_GET_BPC(c, 16, bpc)
 
#define DRM_ARGB64_GETB_BPC(c, bpc)   __DRM_ARGB64_GET_BPC(c, 0, bpc)
 
#define DRM_ARGB64_GETA_BPCS(c, bpc)   __DRM_ARGB64_GET_BPCS(c, 48, bpc)
 
#define DRM_ARGB64_GETR_BPCS(c, bpc)   __DRM_ARGB64_GET_BPCS(c, 32, bpc)
 
#define DRM_ARGB64_GETG_BPCS(c, bpc)   __DRM_ARGB64_GET_BPCS(c, 16, bpc)
 
#define DRM_ARGB64_GETB_BPCS(c, bpc)   __DRM_ARGB64_GET_BPCS(c, 0, bpc)
 
enum  drm_colorop_type {
  DRM_COLOROP_1D_CURVE , DRM_COLOROP_1D_LUT , DRM_COLOROP_CTM_3X4 , DRM_COLOROP_MULTIPLIER ,
  DRM_COLOROP_3D_LUT
}
 
enum  drm_colorop_lut3d_interpolation_type { DRM_COLOROP_LUT3D_INTERPOLATION_TETRAHEDRAL }
 
enum  drm_colorop_lut1d_interpolation_type { DRM_COLOROP_LUT1D_INTERPOLATION_LINEAR }
 

Macro Definition Documentation

◆ __DRM_ARGB64_GET

#define __DRM_ARGB64_GET (   c,
  shift 
)     ((__u16)(((__u64)(c) >> (shift)) & __GENMASK(15, 0)))

◆ __DRM_ARGB64_GET_BPC

#define __DRM_ARGB64_GET_BPC (   c,
  shift,
  bpc 
)
Value:
({ \
__u16 comp = __DRM_ARGB64_GET(c, shift); \
__KERNEL_DIV_ROUND_CLOSEST(comp * __GENMASK((bpc) - 1, 0), \
__GENMASK(15, 0)); \
})
#define __GENMASK(h, l)
Definition bits.h:41
uint16_t __u16
Definition drm.h:40
#define __DRM_ARGB64_GET(c, shift)
Definition drm_mode.h:1586

◆ __DRM_ARGB64_GET_BPCS

#define __DRM_ARGB64_GET_BPCS (   c,
  shift,
  bpc 
)     (__DRM_ARGB64_GET(c, shift) >> (16 - (bpc)))

◆ __DRM_ARGB64_PREP

#define __DRM_ARGB64_PREP (   c,
  shift 
)     (((__u64)(c) & __GENMASK(15, 0)) << (shift))

◆ __DRM_ARGB64_PREP_BPC

#define __DRM_ARGB64_PREP_BPC (   c,
  shift,
  bpc 
)
Value:
({ \
__u16 mask = __GENMASK((bpc) - 1, 0); \
__u16 conv = __KERNEL_DIV_ROUND_CLOSEST((mask & (c)) * \
__GENMASK(15, 0), mask);\
__DRM_ARGB64_PREP(conv, shift); \
})
#define __KERNEL_DIV_ROUND_CLOSEST(x, divisor)
Definition const.h:63

◆ DRM_ARGB64_GETA

#define DRM_ARGB64_GETA (   c)    __DRM_ARGB64_GET(c, 48)

◆ DRM_ARGB64_GETA_BPC

#define DRM_ARGB64_GETA_BPC (   c,
  bpc 
)    __DRM_ARGB64_GET_BPC(c, 48, bpc)

◆ DRM_ARGB64_GETA_BPCS

#define DRM_ARGB64_GETA_BPCS (   c,
  bpc 
)    __DRM_ARGB64_GET_BPCS(c, 48, bpc)

◆ DRM_ARGB64_GETB

#define DRM_ARGB64_GETB (   c)    __DRM_ARGB64_GET(c, 0)

◆ DRM_ARGB64_GETB_BPC

#define DRM_ARGB64_GETB_BPC (   c,
  bpc 
)    __DRM_ARGB64_GET_BPC(c, 0, bpc)

◆ DRM_ARGB64_GETB_BPCS

#define DRM_ARGB64_GETB_BPCS (   c,
  bpc 
)    __DRM_ARGB64_GET_BPCS(c, 0, bpc)

◆ DRM_ARGB64_GETG

#define DRM_ARGB64_GETG (   c)    __DRM_ARGB64_GET(c, 16)

◆ DRM_ARGB64_GETG_BPC

#define DRM_ARGB64_GETG_BPC (   c,
  bpc 
)    __DRM_ARGB64_GET_BPC(c, 16, bpc)

◆ DRM_ARGB64_GETG_BPCS

#define DRM_ARGB64_GETG_BPCS (   c,
  bpc 
)    __DRM_ARGB64_GET_BPCS(c, 16, bpc)

◆ DRM_ARGB64_GETR

#define DRM_ARGB64_GETR (   c)    __DRM_ARGB64_GET(c, 32)

◆ DRM_ARGB64_GETR_BPC

#define DRM_ARGB64_GETR_BPC (   c,
  bpc 
)    __DRM_ARGB64_GET_BPC(c, 32, bpc)

◆ DRM_ARGB64_GETR_BPCS

#define DRM_ARGB64_GETR_BPCS (   c,
  bpc 
)    __DRM_ARGB64_GET_BPCS(c, 32, bpc)

◆ DRM_ARGB64_PREP

#define DRM_ARGB64_PREP (   alpha,
  red,
  green,
  blue 
)
Value:
( \
__DRM_ARGB64_PREP(alpha, 48) | \
__DRM_ARGB64_PREP(red, 32) | \
__DRM_ARGB64_PREP(green, 16) | \
__DRM_ARGB64_PREP(blue, 0) \
)

◆ DRM_ARGB64_PREP_BPC

#define DRM_ARGB64_PREP_BPC (   alpha,
  red,
  green,
  blue,
  bpc 
)
Value:
({ \
__typeof__(bpc) __bpc = bpc; \
__DRM_ARGB64_PREP_BPC(alpha, 48, __bpc) | \
__DRM_ARGB64_PREP_BPC(red, 32, __bpc) | \
__DRM_ARGB64_PREP_BPC(green, 16, __bpc) | \
__DRM_ARGB64_PREP_BPC(blue, 0, __bpc); \
})

◆ DRM_CONNECTOR_NAME_LEN

#define DRM_CONNECTOR_NAME_LEN   32

DOC: overview

DRM exposes many UAPI and structure definitions to have a consistent and standardized interface with users. Userspace can refer to these structure definitions and UAPI formats to communicate to drivers.

◆ DRM_DISPLAY_MODE_LEN

#define DRM_DISPLAY_MODE_LEN   32

◆ DRM_MODE_ATOMIC_ALLOW_MODESET

#define DRM_MODE_ATOMIC_ALLOW_MODESET   0x0400

DRM_MODE_ATOMIC_ALLOW_MODESET

Allow the update to result in temporary or transient visible artifacts while the update is being applied. Applying the update may also take significantly more time than a page flip. All visual artifacts will disappear by the time the update is completed, as signalled through the vblank event's timestamp (see struct drm_event_vblank).

This flag must be set when the KMS update might cause visible artifacts. Without this flag such KMS update will return a EINVAL error. What kind of update may cause visible artifacts depends on the driver and the hardware. User-space that needs to know beforehand if an update might cause visible artifacts can use &DRM_MODE_ATOMIC_TEST_ONLY without &DRM_MODE_ATOMIC_ALLOW_MODESET to see if it fails.

To the best of the driver's knowledge, visual artifacts are guaranteed to not appear when this flag is not set. Some sinks might display visual artifacts outside of the driver's control.

◆ DRM_MODE_ATOMIC_FLAGS

#define DRM_MODE_ATOMIC_FLAGS
Value:
(\
#define DRM_MODE_ATOMIC_NONBLOCK
Definition drm_mode.h:1295
#define DRM_MODE_PAGE_FLIP_ASYNC
Definition drm_mode.h:1114
#define DRM_MODE_ATOMIC_TEST_ONLY
Definition drm_mode.h:1286
#define DRM_MODE_PAGE_FLIP_EVENT
Definition drm_mode.h:1097
#define DRM_MODE_ATOMIC_ALLOW_MODESET
Definition drm_mode.h:1316

DRM_MODE_ATOMIC_FLAGS

Bitfield of flags accepted by the &DRM_IOCTL_MODE_ATOMIC IOCTL in &drm_mode_atomic.flags.

◆ DRM_MODE_ATOMIC_NONBLOCK

#define DRM_MODE_ATOMIC_NONBLOCK   0x0200

DRM_MODE_ATOMIC_NONBLOCK

Do not block while applying the atomic commit. The &DRM_IOCTL_MODE_ATOMIC IOCTL returns immediately instead of waiting for the changes to be applied in hardware. Note, the driver will still check that the update can be applied before retuning.

◆ DRM_MODE_ATOMIC_TEST_ONLY

#define DRM_MODE_ATOMIC_TEST_ONLY   0x0100

DRM_MODE_ATOMIC_TEST_ONLY

Do not apply the atomic commit, instead check whether the hardware supports this configuration.

See &drm_mode_config_funcs.atomic_check for more details on test-only commits.

◆ DRM_MODE_CONNECTOR_9PinDIN

#define DRM_MODE_CONNECTOR_9PinDIN   9

◆ DRM_MODE_CONNECTOR_Component

#define DRM_MODE_CONNECTOR_Component   8

◆ DRM_MODE_CONNECTOR_Composite

#define DRM_MODE_CONNECTOR_Composite   5

◆ DRM_MODE_CONNECTOR_DisplayPort

#define DRM_MODE_CONNECTOR_DisplayPort   10

◆ DRM_MODE_CONNECTOR_DPI

#define DRM_MODE_CONNECTOR_DPI   17

◆ DRM_MODE_CONNECTOR_DSI

#define DRM_MODE_CONNECTOR_DSI   16

◆ DRM_MODE_CONNECTOR_DVIA

#define DRM_MODE_CONNECTOR_DVIA   4

◆ DRM_MODE_CONNECTOR_DVID

#define DRM_MODE_CONNECTOR_DVID   3

◆ DRM_MODE_CONNECTOR_DVII

#define DRM_MODE_CONNECTOR_DVII   2

◆ DRM_MODE_CONNECTOR_eDP

#define DRM_MODE_CONNECTOR_eDP   14

◆ DRM_MODE_CONNECTOR_HDMIA

#define DRM_MODE_CONNECTOR_HDMIA   11

◆ DRM_MODE_CONNECTOR_HDMIB

#define DRM_MODE_CONNECTOR_HDMIB   12

◆ DRM_MODE_CONNECTOR_LVDS

#define DRM_MODE_CONNECTOR_LVDS   7

◆ DRM_MODE_CONNECTOR_SPI

#define DRM_MODE_CONNECTOR_SPI   19

◆ DRM_MODE_CONNECTOR_SVIDEO

#define DRM_MODE_CONNECTOR_SVIDEO   6

◆ DRM_MODE_CONNECTOR_TV

#define DRM_MODE_CONNECTOR_TV   13

◆ DRM_MODE_CONNECTOR_Unknown

#define DRM_MODE_CONNECTOR_Unknown   0

◆ DRM_MODE_CONNECTOR_USB

#define DRM_MODE_CONNECTOR_USB   20

◆ DRM_MODE_CONNECTOR_VGA

#define DRM_MODE_CONNECTOR_VGA   1

◆ DRM_MODE_CONNECTOR_VIRTUAL

#define DRM_MODE_CONNECTOR_VIRTUAL   15

◆ DRM_MODE_CONNECTOR_WRITEBACK

#define DRM_MODE_CONNECTOR_WRITEBACK   18

◆ DRM_MODE_CONTENT_PROTECTION_DESIRED

#define DRM_MODE_CONTENT_PROTECTION_DESIRED   1

◆ DRM_MODE_CONTENT_PROTECTION_ENABLED

#define DRM_MODE_CONTENT_PROTECTION_ENABLED   2

◆ DRM_MODE_CONTENT_PROTECTION_UNDESIRED

#define DRM_MODE_CONTENT_PROTECTION_UNDESIRED   0

◆ DRM_MODE_CONTENT_TYPE_CINEMA

#define DRM_MODE_CONTENT_TYPE_CINEMA   3

◆ DRM_MODE_CONTENT_TYPE_GAME

#define DRM_MODE_CONTENT_TYPE_GAME   4

◆ DRM_MODE_CONTENT_TYPE_GRAPHICS

#define DRM_MODE_CONTENT_TYPE_GRAPHICS   1

◆ DRM_MODE_CONTENT_TYPE_NO_DATA

#define DRM_MODE_CONTENT_TYPE_NO_DATA   0

◆ DRM_MODE_CONTENT_TYPE_PHOTO

#define DRM_MODE_CONTENT_TYPE_PHOTO   2

◆ DRM_MODE_CURSOR_BO

#define DRM_MODE_CURSOR_BO   0x01

◆ DRM_MODE_CURSOR_FLAGS

#define DRM_MODE_CURSOR_FLAGS   0x03

◆ DRM_MODE_CURSOR_MOVE

#define DRM_MODE_CURSOR_MOVE   0x02

◆ DRM_MODE_DIRTY_ANNOTATE

#define DRM_MODE_DIRTY_ANNOTATE   2

◆ DRM_MODE_DIRTY_OFF

#define DRM_MODE_DIRTY_OFF   0

◆ DRM_MODE_DIRTY_ON

#define DRM_MODE_DIRTY_ON   1

◆ DRM_MODE_DITHERING_AUTO

#define DRM_MODE_DITHERING_AUTO   2

◆ DRM_MODE_DITHERING_OFF

#define DRM_MODE_DITHERING_OFF   0

◆ DRM_MODE_DITHERING_ON

#define DRM_MODE_DITHERING_ON   1

◆ DRM_MODE_DPMS_OFF

#define DRM_MODE_DPMS_OFF   3

◆ DRM_MODE_DPMS_ON

#define DRM_MODE_DPMS_ON   0

◆ DRM_MODE_DPMS_STANDBY

#define DRM_MODE_DPMS_STANDBY   1

◆ DRM_MODE_DPMS_SUSPEND

#define DRM_MODE_DPMS_SUSPEND   2

◆ DRM_MODE_ENCODER_DAC

#define DRM_MODE_ENCODER_DAC   1

◆ DRM_MODE_ENCODER_DPI

#define DRM_MODE_ENCODER_DPI   8

◆ DRM_MODE_ENCODER_DPMST

#define DRM_MODE_ENCODER_DPMST   7

◆ DRM_MODE_ENCODER_DSI

#define DRM_MODE_ENCODER_DSI   6

◆ DRM_MODE_ENCODER_LVDS

#define DRM_MODE_ENCODER_LVDS   3

◆ DRM_MODE_ENCODER_NONE

#define DRM_MODE_ENCODER_NONE   0

◆ DRM_MODE_ENCODER_TMDS

#define DRM_MODE_ENCODER_TMDS   2

◆ DRM_MODE_ENCODER_TVDAC

#define DRM_MODE_ENCODER_TVDAC   4

◆ DRM_MODE_ENCODER_VIRTUAL

#define DRM_MODE_ENCODER_VIRTUAL   5

◆ DRM_MODE_FB_DIRTY_ANNOTATE_COPY

#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY   0x01

◆ DRM_MODE_FB_DIRTY_ANNOTATE_FILL

#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL   0x02

◆ DRM_MODE_FB_DIRTY_FLAGS

#define DRM_MODE_FB_DIRTY_FLAGS   0x03

◆ DRM_MODE_FB_DIRTY_MAX_CLIPS

#define DRM_MODE_FB_DIRTY_MAX_CLIPS   256

◆ DRM_MODE_FB_INTERLACED

#define DRM_MODE_FB_INTERLACED   (1<<0) /* for interlaced framebuffers */

◆ DRM_MODE_FB_MODIFIERS

#define DRM_MODE_FB_MODIFIERS   (1<<1) /* enables ->modifier[] */

◆ DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE

#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE   (2<<14)

◆ DRM_MODE_FLAG_3D_FRAME_PACKING

#define DRM_MODE_FLAG_3D_FRAME_PACKING   (1<<14)

◆ DRM_MODE_FLAG_3D_L_DEPTH

#define DRM_MODE_FLAG_3D_L_DEPTH   (5<<14)

◆ DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH

#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH   (6<<14)

◆ DRM_MODE_FLAG_3D_LINE_ALTERNATIVE

#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE   (3<<14)

◆ DRM_MODE_FLAG_3D_MASK

#define DRM_MODE_FLAG_3D_MASK   (0x1f<<14)

◆ DRM_MODE_FLAG_3D_NONE

#define DRM_MODE_FLAG_3D_NONE   (0<<14)

◆ DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL

#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL   (4<<14)

◆ DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF

#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF   (8<<14)

◆ DRM_MODE_FLAG_3D_TOP_AND_BOTTOM

#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM   (7<<14)

◆ DRM_MODE_FLAG_ALL

#define DRM_MODE_FLAG_ALL
Value:
#define DRM_MODE_FLAG_PCSYNC
Definition drm_mode.h:64
#define DRM_MODE_FLAG_NCSYNC
Definition drm_mode.h:65
#define DRM_MODE_FLAG_CSYNC
Definition drm_mode.h:63
#define DRM_MODE_FLAG_NVSYNC
Definition drm_mode.h:60
#define DRM_MODE_FLAG_DBLSCAN
Definition drm_mode.h:62
#define DRM_MODE_FLAG_3D_MASK
Definition drm_mode.h:75
#define DRM_MODE_FLAG_NHSYNC
Definition drm_mode.h:58
#define DRM_MODE_FLAG_PVSYNC
Definition drm_mode.h:59
#define DRM_MODE_FLAG_HSKEW
Definition drm_mode.h:66
#define DRM_MODE_FLAG_DBLCLK
Definition drm_mode.h:69
#define DRM_MODE_FLAG_INTERLACE
Definition drm_mode.h:61
#define DRM_MODE_FLAG_CLKDIV2
Definition drm_mode.h:70
#define DRM_MODE_FLAG_PHSYNC
Definition drm_mode.h:57

◆ DRM_MODE_FLAG_BCAST

#define DRM_MODE_FLAG_BCAST   (1<<10) /* deprecated */

◆ DRM_MODE_FLAG_CLKDIV2

#define DRM_MODE_FLAG_CLKDIV2   (1<<13)

◆ DRM_MODE_FLAG_CSYNC

#define DRM_MODE_FLAG_CSYNC   (1<<6)

◆ DRM_MODE_FLAG_DBLCLK

#define DRM_MODE_FLAG_DBLCLK   (1<<12)

◆ DRM_MODE_FLAG_DBLSCAN

#define DRM_MODE_FLAG_DBLSCAN   (1<<5)

◆ DRM_MODE_FLAG_HSKEW

#define DRM_MODE_FLAG_HSKEW   (1<<9) /* hskew provided */

◆ DRM_MODE_FLAG_INTERLACE

#define DRM_MODE_FLAG_INTERLACE   (1<<4)

◆ DRM_MODE_FLAG_NCSYNC

#define DRM_MODE_FLAG_NCSYNC   (1<<8)

◆ DRM_MODE_FLAG_NHSYNC

#define DRM_MODE_FLAG_NHSYNC   (1<<1)

◆ DRM_MODE_FLAG_NVSYNC

#define DRM_MODE_FLAG_NVSYNC   (1<<3)

◆ DRM_MODE_FLAG_PCSYNC

#define DRM_MODE_FLAG_PCSYNC   (1<<7)

◆ DRM_MODE_FLAG_PHSYNC

#define DRM_MODE_FLAG_PHSYNC   (1<<0)

◆ DRM_MODE_FLAG_PIC_AR_16_9

#define DRM_MODE_FLAG_PIC_AR_16_9    (DRM_MODE_PICTURE_ASPECT_16_9<<19)

◆ DRM_MODE_FLAG_PIC_AR_256_135

#define DRM_MODE_FLAG_PIC_AR_256_135    (DRM_MODE_PICTURE_ASPECT_256_135<<19)

◆ DRM_MODE_FLAG_PIC_AR_4_3

#define DRM_MODE_FLAG_PIC_AR_4_3    (DRM_MODE_PICTURE_ASPECT_4_3<<19)

◆ DRM_MODE_FLAG_PIC_AR_64_27

#define DRM_MODE_FLAG_PIC_AR_64_27    (DRM_MODE_PICTURE_ASPECT_64_27<<19)

◆ DRM_MODE_FLAG_PIC_AR_MASK

#define DRM_MODE_FLAG_PIC_AR_MASK   (0x0F<<19)

◆ DRM_MODE_FLAG_PIC_AR_NONE

#define DRM_MODE_FLAG_PIC_AR_NONE    (DRM_MODE_PICTURE_ASPECT_NONE<<19)

◆ DRM_MODE_FLAG_PIXMUX

#define DRM_MODE_FLAG_PIXMUX   (1<<11) /* deprecated */

◆ DRM_MODE_FLAG_PVSYNC

#define DRM_MODE_FLAG_PVSYNC   (1<<2)

◆ DRM_MODE_LINK_STATUS_BAD

#define DRM_MODE_LINK_STATUS_BAD   1

◆ DRM_MODE_LINK_STATUS_GOOD

#define DRM_MODE_LINK_STATUS_GOOD   0

◆ DRM_MODE_OBJECT_ANY

#define DRM_MODE_OBJECT_ANY   0

◆ DRM_MODE_OBJECT_BLOB

#define DRM_MODE_OBJECT_BLOB   0xbbbbbbbb

◆ DRM_MODE_OBJECT_COLOROP

#define DRM_MODE_OBJECT_COLOROP   0xfafafafa

◆ DRM_MODE_OBJECT_CONNECTOR

#define DRM_MODE_OBJECT_CONNECTOR   0xc0c0c0c0

◆ DRM_MODE_OBJECT_CRTC

#define DRM_MODE_OBJECT_CRTC   0xcccccccc

◆ DRM_MODE_OBJECT_ENCODER

#define DRM_MODE_OBJECT_ENCODER   0xe0e0e0e0

◆ DRM_MODE_OBJECT_FB

#define DRM_MODE_OBJECT_FB   0xfbfbfbfb

◆ DRM_MODE_OBJECT_MODE

#define DRM_MODE_OBJECT_MODE   0xdededede

◆ DRM_MODE_OBJECT_PLANE

#define DRM_MODE_OBJECT_PLANE   0xeeeeeeee

◆ DRM_MODE_OBJECT_PROPERTY

#define DRM_MODE_OBJECT_PROPERTY   0xb0b0b0b0

◆ DRM_MODE_PAGE_FLIP_ASYNC

#define DRM_MODE_PAGE_FLIP_ASYNC   0x02

DRM_MODE_PAGE_FLIP_ASYNC

Request that the page-flip is performed as soon as possible, ie. with no delay due to waiting for vblank. This may cause tearing to be visible on the screen.

When used with atomic uAPI, the driver will return an error if the hardware doesn't support performing an asynchronous page-flip for this update. User-space should handle this, e.g. by falling back to a regular page-flip.

Note, some hardware might need to perform one last synchronous page-flip before being able to switch to asynchronous page-flips. As an exception, the driver will return success even though that first page-flip is not asynchronous.

◆ DRM_MODE_PAGE_FLIP_EVENT

#define DRM_MODE_PAGE_FLIP_EVENT   0x01

DRM_MODE_PAGE_FLIP_EVENT

Request that the kernel sends back a vblank event (see struct drm_event_vblank) with the &DRM_EVENT_FLIP_COMPLETE type when the page-flip is done.

When used with atomic uAPI, one event will be delivered per CRTC included in the atomic commit. A CRTC is included in an atomic commit if one of its properties is set, or if a property is set on a connector or plane linked via the CRTC_ID property to the CRTC. At least one CRTC must be included, and all pulled in CRTCs must be either previously or newly powered on (in other words, a powered off CRTC which stays off cannot be included in the atomic commit).

◆ DRM_MODE_PAGE_FLIP_FLAGS

#define DRM_MODE_PAGE_FLIP_FLAGS
Value:
#define DRM_MODE_PAGE_FLIP_TARGET
Definition drm_mode.h:1117

DRM_MODE_PAGE_FLIP_FLAGS

Bitmask of flags suitable for &drm_mode_crtc_page_flip_target.flags.

◆ DRM_MODE_PAGE_FLIP_TARGET

#define DRM_MODE_PAGE_FLIP_TARGET
Value:
#define DRM_MODE_PAGE_FLIP_TARGET_RELATIVE
Definition drm_mode.h:1116
#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE
Definition drm_mode.h:1115

◆ DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE

#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE   0x4

◆ DRM_MODE_PAGE_FLIP_TARGET_RELATIVE

#define DRM_MODE_PAGE_FLIP_TARGET_RELATIVE   0x8

◆ DRM_MODE_PANEL_TYPE_OLED

#define DRM_MODE_PANEL_TYPE_OLED   1

◆ DRM_MODE_PANEL_TYPE_UNKNOWN

#define DRM_MODE_PANEL_TYPE_UNKNOWN   0

◆ DRM_MODE_PICTURE_ASPECT_16_9

#define DRM_MODE_PICTURE_ASPECT_16_9   2

◆ DRM_MODE_PICTURE_ASPECT_256_135

#define DRM_MODE_PICTURE_ASPECT_256_135   4

◆ DRM_MODE_PICTURE_ASPECT_4_3

#define DRM_MODE_PICTURE_ASPECT_4_3   1

◆ DRM_MODE_PICTURE_ASPECT_64_27

#define DRM_MODE_PICTURE_ASPECT_64_27   3

◆ DRM_MODE_PICTURE_ASPECT_NONE

#define DRM_MODE_PICTURE_ASPECT_NONE   0

◆ DRM_MODE_PRESENT_BOTTOM_FIELD

#define DRM_MODE_PRESENT_BOTTOM_FIELD   (1<<1)

◆ DRM_MODE_PRESENT_TOP_FIELD

#define DRM_MODE_PRESENT_TOP_FIELD   (1<<0)

◆ DRM_MODE_PROP_ATOMIC

#define DRM_MODE_PROP_ATOMIC   0x80000000

◆ DRM_MODE_PROP_BITMASK

#define DRM_MODE_PROP_BITMASK   (1<<5) /* bitmask of enumerated types */

◆ DRM_MODE_PROP_BLOB

#define DRM_MODE_PROP_BLOB   (1<<4)

◆ DRM_MODE_PROP_ENUM

#define DRM_MODE_PROP_ENUM   (1<<3) /* enumerated type with text strings */

◆ DRM_MODE_PROP_EXTENDED_TYPE

#define DRM_MODE_PROP_EXTENDED_TYPE   0x0000ffc0

◆ DRM_MODE_PROP_IMMUTABLE

#define DRM_MODE_PROP_IMMUTABLE   (1<<2)

◆ DRM_MODE_PROP_LEGACY_TYPE

#define DRM_MODE_PROP_LEGACY_TYPE
Value:
( \
#define DRM_MODE_PROP_BLOB
Definition drm_mode.h:511
#define DRM_MODE_PROP_BITMASK
Definition drm_mode.h:512
#define DRM_MODE_PROP_RANGE
Definition drm_mode.h:508
#define DRM_MODE_PROP_ENUM
Definition drm_mode.h:510

◆ DRM_MODE_PROP_OBJECT

#define DRM_MODE_PROP_OBJECT   DRM_MODE_PROP_TYPE(1)

◆ DRM_MODE_PROP_PENDING

#define DRM_MODE_PROP_PENDING   (1<<0) /* deprecated, do not use */

◆ DRM_MODE_PROP_RANGE

#define DRM_MODE_PROP_RANGE   (1<<1)

◆ DRM_MODE_PROP_SIGNED_RANGE

#define DRM_MODE_PROP_SIGNED_RANGE   DRM_MODE_PROP_TYPE(2)

◆ DRM_MODE_PROP_TYPE

#define DRM_MODE_PROP_TYPE (   n)    ((n) << 6)

◆ DRM_MODE_REFLECT_MASK

#define DRM_MODE_REFLECT_MASK
Value:
(\
#define DRM_MODE_REFLECT_X
Definition drm_mode.h:193
#define DRM_MODE_REFLECT_Y
Definition drm_mode.h:194

◆ DRM_MODE_REFLECT_X

#define DRM_MODE_REFLECT_X   (1<<4)

◆ DRM_MODE_REFLECT_Y

#define DRM_MODE_REFLECT_Y   (1<<5)

◆ DRM_MODE_ROTATE_0

#define DRM_MODE_ROTATE_0   (1<<0)

◆ DRM_MODE_ROTATE_180

#define DRM_MODE_ROTATE_180   (1<<2)

◆ DRM_MODE_ROTATE_270

#define DRM_MODE_ROTATE_270   (1<<3)

◆ DRM_MODE_ROTATE_90

#define DRM_MODE_ROTATE_90   (1<<1)

◆ DRM_MODE_ROTATE_MASK

#define DRM_MODE_ROTATE_MASK
Value:
(\
#define DRM_MODE_ROTATE_180
Definition drm_mode.h:169
#define DRM_MODE_ROTATE_90
Definition drm_mode.h:168
#define DRM_MODE_ROTATE_270
Definition drm_mode.h:170
#define DRM_MODE_ROTATE_0
Definition drm_mode.h:167

◆ DRM_MODE_SCALE_ASPECT

#define DRM_MODE_SCALE_ASPECT   3 /* Full screen, preserve aspect */

◆ DRM_MODE_SCALE_CENTER

#define DRM_MODE_SCALE_CENTER   2 /* Centered, no scaling */

◆ DRM_MODE_SCALE_FULLSCREEN

#define DRM_MODE_SCALE_FULLSCREEN   1 /* Full screen, ignore aspect */

◆ DRM_MODE_SCALE_NONE

#define DRM_MODE_SCALE_NONE
Value:
0 /* Unmodified timing (display or
software can still scale) */

◆ DRM_MODE_TYPE_ALL

#define DRM_MODE_TYPE_ALL
Value:
#define DRM_MODE_TYPE_PREFERRED
Definition drm_mode.h:38
#define DRM_MODE_TYPE_USERDEF
Definition drm_mode.h:40
#define DRM_MODE_TYPE_DRIVER
Definition drm_mode.h:41

◆ DRM_MODE_TYPE_BUILTIN

#define DRM_MODE_TYPE_BUILTIN   (1<<0) /* deprecated */

◆ DRM_MODE_TYPE_CLOCK_C

#define DRM_MODE_TYPE_CLOCK_C   ((1<<1) | DRM_MODE_TYPE_BUILTIN) /* deprecated */

◆ DRM_MODE_TYPE_CRTC_C

#define DRM_MODE_TYPE_CRTC_C   ((1<<2) | DRM_MODE_TYPE_BUILTIN) /* deprecated */

◆ DRM_MODE_TYPE_DEFAULT

#define DRM_MODE_TYPE_DEFAULT   (1<<4) /* deprecated */

◆ DRM_MODE_TYPE_DRIVER

#define DRM_MODE_TYPE_DRIVER   (1<<6)

◆ DRM_MODE_TYPE_PREFERRED

#define DRM_MODE_TYPE_PREFERRED   (1<<3)

◆ DRM_MODE_TYPE_USERDEF

#define DRM_MODE_TYPE_USERDEF   (1<<5)

◆ DRM_PROP_NAME_LEN

#define DRM_PROP_NAME_LEN   32

◆ FORMAT_BLOB_CURRENT

#define FORMAT_BLOB_CURRENT   1

Enumeration Type Documentation

◆ drm_colorop_lut1d_interpolation_type

enum drm_colorop_lut1d_interpolation_type - type of interpolation for 1D LUTs

Enumerator
DRM_COLOROP_LUT1D_INTERPOLATION_LINEAR 

@DRM_COLOROP_LUT1D_INTERPOLATION_LINEAR:

Linear interpolation. Values between points of the LUT will be linearly interpolated.

◆ drm_colorop_lut3d_interpolation_type

enum drm_colorop_lut3d_interpolation_type - type of 3DLUT interpolation

Enumerator
DRM_COLOROP_LUT3D_INTERPOLATION_TETRAHEDRAL 

@DRM_COLOROP_LUT3D_INTERPOLATION_TETRAHEDRAL:

Tetrahedral 3DLUT interpolation

◆ drm_colorop_type

enum drm_colorop_type - Type of color operation

drm_colorops can be of many different types. Each type behaves differently and defines a different set of properties. This enum defines all types and gives a high-level description.

Enumerator
DRM_COLOROP_1D_CURVE 

@DRM_COLOROP_1D_CURVE:

enum string "1D Curve"

A 1D curve that is being applied to all color channels. The curve is specified via the CURVE_1D_TYPE colorop property.

DRM_COLOROP_1D_LUT 

@DRM_COLOROP_1D_LUT:

enum string "1D LUT"

A simple 1D LUT of uniformly spaced &drm_color_lut32 entries, packed into a blob via the DATA property. The driver's expected LUT size is advertised via the SIZE property.

The DATA blob is an array of struct drm_color_lut32 with size of "size".

DRM_COLOROP_CTM_3X4 

@DRM_COLOROP_CTM_3X4:

enum string "3x4 Matrix"

A 3x4 matrix. Its values are specified via the &drm_color_ctm_3x4 struct provided via the DATA property.

The DATA blob is a float[12]: out matrix in | R | | 0 1 2 3 | | R | | G | = | 4 5 6 7 | x | G | | B | | 8 9 10 12 | | B |

DRM_COLOROP_MULTIPLIER 

@DRM_COLOROP_MULTIPLIER:

enum string "Multiplier"

A simple multiplier, applied to all color values. The multiplier is specified as a S31.32 via the MULTIPLIER property.

DRM_COLOROP_3D_LUT 

@DRM_COLOROP_3D_LUT:

enum string "3D LUT"

A 3D LUT of &drm_color_lut32 entries, packed into a blob via the DATA property. The driver's expected LUT size is advertised via the SIZE property, i.e., a 3D LUT with 17x17x17 entries will have SIZE set to 17.

The DATA blob is a 3D array of struct drm_color_lut32 with dimension length of "size". The LUT elements are traversed like so:

for B in range 0..n for G in range 0..n for R in range 0..n index = R + n * (G + n * B) color = lut3d[index]

◆ drm_mode_subconnector

Enumerator
DRM_MODE_SUBCONNECTOR_Automatic 
DRM_MODE_SUBCONNECTOR_Unknown 
DRM_MODE_SUBCONNECTOR_VGA 
DRM_MODE_SUBCONNECTOR_DVID 
DRM_MODE_SUBCONNECTOR_DVIA 
DRM_MODE_SUBCONNECTOR_Composite 
DRM_MODE_SUBCONNECTOR_SVIDEO 
DRM_MODE_SUBCONNECTOR_Component 
DRM_MODE_SUBCONNECTOR_SCART 
DRM_MODE_SUBCONNECTOR_DisplayPort 
DRM_MODE_SUBCONNECTOR_HDMIA 
DRM_MODE_SUBCONNECTOR_Native 
DRM_MODE_SUBCONNECTOR_Wireless