diff options
Diffstat (limited to 'include/drm/drm_mode.h')
-rw-r--r-- | include/drm/drm_mode.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index 09ca6adf4dd5..43009bc2e757 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h | |||
@@ -75,6 +75,11 @@ | |||
75 | #define DRM_MODE_DITHERING_OFF 0 | 75 | #define DRM_MODE_DITHERING_OFF 0 |
76 | #define DRM_MODE_DITHERING_ON 1 | 76 | #define DRM_MODE_DITHERING_ON 1 |
77 | 77 | ||
78 | /* Dirty info options */ | ||
79 | #define DRM_MODE_DIRTY_OFF 0 | ||
80 | #define DRM_MODE_DIRTY_ON 1 | ||
81 | #define DRM_MODE_DIRTY_ANNOTATE 2 | ||
82 | |||
78 | struct drm_mode_modeinfo { | 83 | struct drm_mode_modeinfo { |
79 | __u32 clock; | 84 | __u32 clock; |
80 | __u16 hdisplay, hsync_start, hsync_end, htotal, hskew; | 85 | __u16 hdisplay, hsync_start, hsync_end, htotal, hskew; |
@@ -222,6 +227,45 @@ struct drm_mode_fb_cmd { | |||
222 | __u32 handle; | 227 | __u32 handle; |
223 | }; | 228 | }; |
224 | 229 | ||
230 | #define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01 | ||
231 | #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02 | ||
232 | #define DRM_MODE_FB_DIRTY_FLAGS 0x03 | ||
233 | |||
234 | /* | ||
235 | * Mark a region of a framebuffer as dirty. | ||
236 | * | ||
237 | * Some hardware does not automatically update display contents | ||
238 | * as a hardware or software draw to a framebuffer. This ioctl | ||
239 | * allows userspace to tell the kernel and the hardware what | ||
240 | * regions of the framebuffer have changed. | ||
241 | * | ||
242 | * The kernel or hardware is free to update more then just the | ||
243 | * region specified by the clip rects. The kernel or hardware | ||
244 | * may also delay and/or coalesce several calls to dirty into a | ||
245 | * single update. | ||
246 | * | ||
247 | * Userspace may annotate the updates, the annotates are a | ||
248 | * promise made by the caller that the change is either a copy | ||
249 | * of pixels or a fill of a single color in the region specified. | ||
250 | * | ||
251 | * If the DRM_MODE_FB_DIRTY_ANNOTATE_COPY flag is given then | ||
252 | * the number of updated regions are half of num_clips given, | ||
253 | * where the clip rects are paired in src and dst. The width and | ||
254 | * height of each one of the pairs must match. | ||
255 | * | ||
256 | * If the DRM_MODE_FB_DIRTY_ANNOTATE_FILL flag is given the caller | ||
257 | * promises that the region specified of the clip rects is filled | ||
258 | * completely with a single color as given in the color argument. | ||
259 | */ | ||
260 | |||
261 | struct drm_mode_fb_dirty_cmd { | ||
262 | __u32 fb_id; | ||
263 | __u32 flags; | ||
264 | __u32 color; | ||
265 | __u32 num_clips; | ||
266 | __u64 clips_ptr; | ||
267 | }; | ||
268 | |||
225 | struct drm_mode_mode_cmd { | 269 | struct drm_mode_mode_cmd { |
226 | __u32 connector_id; | 270 | __u32 connector_id; |
227 | struct drm_mode_modeinfo mode; | 271 | struct drm_mode_modeinfo mode; |