diff options
author | Chris Michael <cp.michael@samsung.com> | 2016-11-15 09:11:06 -0500 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2016-11-15 09:12:53 -0500 |
commit | 491c059620148403a154b609f1fa54ddd13e9991 (patch) | |
tree | d9e279d1e0fc2a5adfb907504f75a03117b1b461 | |
parent | c58de1ce1dce70d036fd74b30bb346b1e2ff13b1 (diff) | |
download | efl-491c059620148403a154b609f1fa54ddd13e9991.tar.gz |
ecore-drm2: Add copyright information from included headers
Small patch to reorganize defines & structures from included files,
and to add copyright information related to each file where defines &
structures were borrowed from.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r-- | src/lib/ecore_drm2/ecore_drm2_private.h | 550 |
1 files changed, 339 insertions, 211 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h index 3a26237212..9d5fb60633 100644 --- a/src/lib/ecore_drm2/ecore_drm2_private.h +++ b/src/lib/ecore_drm2/ecore_drm2_private.h @@ -53,9 +53,90 @@ extern Eina_Bool _ecore_drm2_use_atomic; # endif # define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_drm2_log_dom, __VA_ARGS__) -# define DRM_MODE_FEATURE_DIRTYFB 1 // drm.h +/* The following defines and structures were borrowed from drm.h */ + +/** + * \file drm.h + * Header for the Direct Rendering Manager + * + * \author Rickard E. (Rik) Faith <faith@valinux.com> + * + * \par Acknowledgments: + * Dec 1999, Richard Henderson <rth@twiddle.net>, move to generic \c cmpxchg. + */ + +/* + * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. + * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +# define DRM_MODE_FEATURE_DIRTYFB 1 + +# define DRM_IOCTL_BASE 'd' +# define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE,nr,type) +# define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, drm_mode_fb_cmd2) + +# define DRM_CLIENT_CAP_STEREO_3D 1 +# define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 +# define DRM_CLIENT_CAP_ATOMIC 3 +# define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 + +# define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, drm_mode_create_dumb) +# define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, drm_mode_map_dumb) +# define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, drm_mode_destroy_dumb) + +/* end drm.h */ + +/* The following defines and structures were borrowed from drm_mode.h */ + +/* + * Copyright (c) 2007 Dave Airlie <airlied@linux.ie> + * Copyright (c) 2007 Jakob Bornecrantz <wallbraker@gmail.com> + * Copyright (c) 2008 Red Hat Inc. + * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA + * Copyright (c) 2007-2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +# define DRM_DISPLAY_MODE_LEN 32 -// drm_mode.h # define DRM_MODE_TYPE_BUILTIN (1<<0) # define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN) # define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN) @@ -70,9 +151,201 @@ extern Eina_Bool _ecore_drm2_use_atomic; # define DRM_MODE_DPMS_STANDBY 1 # define DRM_MODE_DPMS_SUSPEND 2 # define DRM_MODE_DPMS_OFF 3 -// end drm_mode.h -// xf86drm.h +# 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) +# define DRM_MODE_FLAG_PIXMUX (1<<11) +# 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_PROP_NAME_LEN 32 +# define DRM_CONNECTOR_NAME_LEN 32 + +# 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_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_ANY 0 + +# define DRM_MODE_PAGE_FLIP_EVENT 0x01 +# define DRM_MODE_PAGE_FLIP_ASYNC 0x02 +# define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT|DRM_MODE_PAGE_FLIP_ASYNC) + +# 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 \ + (DRM_MODE_PAGE_FLIP_EVENT |\ + DRM_MODE_PAGE_FLIP_ASYNC |\ + DRM_MODE_ATOMIC_TEST_ONLY |\ + DRM_MODE_ATOMIC_NONBLOCK |\ + DRM_MODE_ATOMIC_ALLOW_MODESET) + +typedef struct _drm_mode_property_enum +{ + uint64_t value; + char name[DRM_PROP_NAME_LEN]; +} drm_mode_property_enum; + +typedef struct _drmModeProperty +{ + uint32_t prop_id; + uint32_t flags; + char name[DRM_PROP_NAME_LEN]; + int count_values; + uint64_t *values; /* store the blob lengths */ + int count_enums; + drm_mode_property_enum *enums; + int count_blobs; + uint32_t *blob_ids; /* store the blob IDs */ +} drmModePropertyRes, *drmModePropertyPtr; + +typedef struct _drm_mode_fb_cmd2 +{ + uint32_t fb_id; + uint32_t width; + uint32_t height; + uint32_t pixel_format; /* fourcc code from drm_fourcc.h */ + uint32_t flags; /* see above flags */ + + /* + * In case of planar formats, this ioctl allows up to 4 + * buffer objects with offsets and pitches per plane. + * The pitch and offset order is dictated by the fourcc, + * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as: + * + * YUV 4:2:0 image with a plane of 8 bit Y samples + * followed by an interleaved U/V plane containing + * 8 bit 2x2 subsampled colour difference samples. + * + * So it would consist of Y as offsets[0] and UV as + * offsets[1]. Note that offsets[0] will generally + * be 0 (but this is not required). + * + * To accommodate tiled, compressed, etc formats, a per-plane + * modifier can be specified. The default value of zero + * indicates "native" format as specified by the fourcc. + * Vendor specific modifier token. This allows, for example, + * different tiling/swizzling pattern on different planes. + * See discussion above of DRM_FORMAT_MOD_xxx. + */ + uint32_t handles[4]; + uint32_t pitches[4]; /* pitch for each plane */ + uint32_t offsets[4]; /* offset of each plane */ + uint64_t modifier[4]; /* ie, tiling, compressed (per plane) */ +} drm_mode_fb_cmd2; + +typedef struct _drm_mode_create_dumb +{ + uint32_t height; + uint32_t width; + uint32_t bpp; + uint32_t flags; + /* handle, pitch, size will be returned */ + uint32_t handle; + uint32_t pitch; + uint64_t size; +} drm_mode_create_dumb; + +typedef struct _drm_mode_map_dumb +{ + /** Handle for the object being mapped. */ + uint32_t handle; + uint32_t pad; + /** + * Fake offset to use for subsequent mmap call + * + * This is a fixed-size type for 32/64 compatibility. + */ + uint64_t offset; +} drm_mode_map_dumb; + +typedef struct _drm_mode_destroy_dumb +{ + uint32_t handle; +} drm_mode_destroy_dumb; + +/* end drm_mode.h */ + +/* The following defines and structures were borrowed from xf86drm.h */ + +/** + * \file xf86drm.h + * OS-independent header for DRM user-level library interface. + * + * \author Rickard E. (Rik) Faith <faith@valinux.com> + */ + +/* + * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. + * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +# define DRM_EVENT_CONTEXT_VERSION 2 + typedef enum { DRM_VBLANK_ABSOLUTE = 0x00000000, @@ -84,24 +357,6 @@ typedef enum DRM_VBLANK_SIGNAL = 0x40000000 } drmVBlankSeqType; -typedef enum -{ - DRM_MODE_CONNECTED = 1, - DRM_MODE_DISCONNECTED = 2, - DRM_MODE_UNKNOWNCONNECTION = 3 -} drmModeConnection; - -typedef enum -{ - DRM_MODE_SUBPIXEL_UNKNOWN = 1, - DRM_MODE_SUBPIXEL_HORIZONTAL_RGB = 2, - DRM_MODE_SUBPIXEL_HORIZONTAL_BGR = 3, - DRM_MODE_SUBPIXEL_VERTICAL_RGB = 4, - DRM_MODE_SUBPIXEL_VERTICAL_BGR = 5, - DRM_MODE_SUBPIXEL_NONE = 6 -} drmModeSubPixel; - -// xf86drm.h typedef struct _drmVBlankReq { drmVBlankSeqType type; @@ -109,7 +364,6 @@ typedef struct _drmVBlankReq unsigned long signal; } drmVBlankReq; -// xf86drm.h typedef struct _drmVBlankReply { drmVBlankSeqType type; @@ -118,17 +372,12 @@ typedef struct _drmVBlankReply long tval_usec; } drmVBlankReply; -// xf86drm.h typedef union _drmVBlank { drmVBlankReq request; drmVBlankReply reply; } drmVBlank; -// xf86drm.h -# define DRM_EVENT_CONTEXT_VERSION 2 - -// xf86drm.h typedef struct _drmEventContext { int version; @@ -144,7 +393,6 @@ typedef struct _drmEventContext void *user_data); } drmEventContext; -// xf86drm.h typedef struct _drmVersionBroken { int version_major; @@ -161,7 +409,6 @@ typedef struct _drmVersionBroken char *desc; } drmVersionBroken; -// xf86drm.h typedef struct _drmVersion { int version_major; @@ -178,33 +425,67 @@ typedef struct _drmVersion char *desc; } drmVersion, *drmVersionPtr; -// drm_mode.h -# define DRM_DISPLAY_MODE_LEN 32 +/* end xf86drm.h */ + +/* The following defines and structures were borrowed from xf86drmMode.h */ + +/* + * \file xf86drmMode.h + * Header for DRM modesetting interface. + * + * \author Jakob Bornecrantz <wallbraker@gmail.com> + * + * \par Acknowledgements: + * Feb 2007, Dave Airlie <airlied@linux.ie> + */ + +/* + * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, Texas. + * Copyright (c) 2007-2008 Dave Airlie <airlied@linux.ie> + * Copyright (c) 2007-2008 Jakob Bornecrantz <wallbraker@gmail.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ -# 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) -# define DRM_MODE_FLAG_PIXMUX (1<<11) -# 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_PLANE_TYPE_OVERLAY 0 +# define DRM_PLANE_TYPE_PRIMARY 1 +# define DRM_PLANE_TYPE_CURSOR 2 + +# define DRM_MODE_PROP_NAME_LEN 32 + +typedef enum +{ + DRM_MODE_CONNECTED = 1, + DRM_MODE_DISCONNECTED = 2, + DRM_MODE_UNKNOWNCONNECTION = 3 +} drmModeConnection; + +typedef enum +{ + DRM_MODE_SUBPIXEL_UNKNOWN = 1, + DRM_MODE_SUBPIXEL_HORIZONTAL_RGB = 2, + DRM_MODE_SUBPIXEL_HORIZONTAL_BGR = 3, + DRM_MODE_SUBPIXEL_VERTICAL_RGB = 4, + DRM_MODE_SUBPIXEL_VERTICAL_BGR = 5, + DRM_MODE_SUBPIXEL_NONE = 6 +} drmModeSubPixel; typedef struct _drmModePropertyBlob { @@ -239,29 +520,6 @@ typedef struct _drmModeCrtc int gamma_size; /**< Number of gamma stops */ } drmModeCrtc, *drmModeCrtcPtr; -// drm_mode.h -# define DRM_PROP_NAME_LEN 32 - -typedef struct _drm_mode_property_enum -{ - uint64_t value; - char name[DRM_PROP_NAME_LEN]; -} drm_mode_property_enum; - -// drm_mode.h -typedef struct _drmModeProperty -{ - uint32_t prop_id; - uint32_t flags; - char name[DRM_PROP_NAME_LEN]; - int count_values; - uint64_t *values; /* store the blob lengths */ - int count_enums; - drm_mode_property_enum *enums; - int count_blobs; - uint32_t *blob_ids; /* store the blob IDs */ -} drmModePropertyRes, *drmModePropertyPtr; - typedef struct _drmModeEncoder { uint32_t encoder_id; @@ -271,28 +529,6 @@ typedef struct _drmModeEncoder uint32_t possible_clones; } drmModeEncoder, *drmModeEncoderPtr; -// drm_mode.h -# define DRM_CONNECTOR_NAME_LEN 32 - -// drm_mode.h -# 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 - typedef struct _drmModeConnector { uint32_t connector_id; @@ -332,105 +568,6 @@ typedef struct _drmModeRes uint32_t min_height, max_height; } drmModeRes, *drmModeResPtr; -// drm_mode.h -typedef struct _drm_mode_fb_cmd2 -{ - uint32_t fb_id; - uint32_t width; - uint32_t height; - uint32_t pixel_format; /* fourcc code from drm_fourcc.h */ - uint32_t flags; /* see above flags */ - - /* - * In case of planar formats, this ioctl allows up to 4 - * buffer objects with offsets and pitches per plane. - * The pitch and offset order is dictated by the fourcc, - * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as: - * - * YUV 4:2:0 image with a plane of 8 bit Y samples - * followed by an interleaved U/V plane containing - * 8 bit 2x2 subsampled colour difference samples. - * - * So it would consist of Y as offsets[0] and UV as - * offsets[1]. Note that offsets[0] will generally - * be 0 (but this is not required). - * - * To accommodate tiled, compressed, etc formats, a per-plane - * modifier can be specified. The default value of zero - * indicates "native" format as specified by the fourcc. - * Vendor specific modifier token. This allows, for example, - * different tiling/swizzling pattern on different planes. - * See discussion above of DRM_FORMAT_MOD_xxx. - */ - uint32_t handles[4]; - uint32_t pitches[4]; /* pitch for each plane */ - uint32_t offsets[4]; /* offset of each plane */ - uint64_t modifier[4]; /* ie, tiling, compressed (per plane) */ -} drm_mode_fb_cmd2; - -# define DRM_IOCTL_BASE 'd' -# define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE,nr,type) -# define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, drm_mode_fb_cmd2) - -# define DRM_CLIENT_CAP_STEREO_3D 1 -# define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 -# define DRM_CLIENT_CAP_ATOMIC 3 -# define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 - -# 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_ANY 0 - -# define DRM_PLANE_TYPE_OVERLAY 0 -# define DRM_PLANE_TYPE_PRIMARY 1 -# define DRM_PLANE_TYPE_CURSOR 2 - -# define DRM_MODE_PAGE_FLIP_EVENT 0x01 -# define DRM_MODE_PAGE_FLIP_ASYNC 0x02 -# define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT|DRM_MODE_PAGE_FLIP_ASYNC) - -typedef struct _drm_mode_create_dumb -{ - uint32_t height; - uint32_t width; - uint32_t bpp; - uint32_t flags; - /* handle, pitch, size will be returned */ - uint32_t handle; - uint32_t pitch; - uint64_t size; -} drm_mode_create_dumb; - -typedef struct _drm_mode_map_dumb -{ - /** Handle for the object being mapped. */ - uint32_t handle; - uint32_t pad; - /** - * Fake offset to use for subsequent mmap call - * - * This is a fixed-size type for 32/64 compatibility. - */ - uint64_t offset; -} drm_mode_map_dumb; - -typedef struct _drm_mode_destroy_dumb -{ - uint32_t handle; -} drm_mode_destroy_dumb; - -# define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, drm_mode_create_dumb) -# define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, drm_mode_map_dumb) -# define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, drm_mode_destroy_dumb) - -# define DRM_MODE_PROP_NAME_LEN 32 - typedef struct _drmModeObjectProperties { uint32_t count_props; @@ -468,17 +605,6 @@ typedef struct _drmModeClip # ifdef HAVE_ATOMIC_DRM -# 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 \ - (DRM_MODE_PAGE_FLIP_EVENT |\ - DRM_MODE_PAGE_FLIP_ASYNC |\ - DRM_MODE_ATOMIC_TEST_ONLY |\ - DRM_MODE_ATOMIC_NONBLOCK |\ - DRM_MODE_ATOMIC_ALLOW_MODESET) - typedef struct _drmModeAtomicReqItem { uint32_t object_id; @@ -493,6 +619,8 @@ typedef struct _drmModeAtomicReq drmModeAtomicReqItemPtr items; } drmModeAtomicReq, *drmModeAtomicReqPtr; +/* end xf86drmMode.h */ + typedef struct _Ecore_Drm2_Atomic_State Ecore_Drm2_Atomic_State; typedef struct _Ecore_Drm2_Atomic_Blob |