Rev 6934 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6934 | Rev 6936 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | **************************************************************************/ |
26 | **************************************************************************/ |
Line 27... | Line 27... | ||
27 | 27 | ||
28 | #ifndef __VMWGFX_DRM_H__ |
28 | #ifndef __VMWGFX_DRM_H__ |
Line 29... | Line -... | ||
29 | #define __VMWGFX_DRM_H__ |
- | |
30 | 29 | #define __VMWGFX_DRM_H__ |
|
31 | #ifndef __KERNEL__ |
- | |
Line 32... | Line 30... | ||
32 | #include |
30 | |
33 | #endif |
31 | #include "drm.h" |
Line 109... | Line 107... | ||
109 | * |
107 | * |
110 | * Argument to the DRM_VMW_GET_PARAM Ioctl. |
108 | * Argument to the DRM_VMW_GET_PARAM Ioctl. |
111 | */ |
109 | */ |
Line 112... | Line 110... | ||
112 | 110 | ||
113 | struct drm_vmw_getparam_arg { |
111 | struct drm_vmw_getparam_arg { |
114 | uint64_t value; |
112 | __u64 value; |
115 | uint32_t param; |
113 | __u32 param; |
116 | uint32_t pad64; |
114 | __u32 pad64; |
Line 117... | Line 115... | ||
117 | }; |
115 | }; |
118 | 116 | ||
119 | /*************************************************************************/ |
117 | /*************************************************************************/ |
Line 132... | Line 130... | ||
132 | * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl. |
130 | * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl. |
133 | * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl. |
131 | * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl. |
134 | */ |
132 | */ |
Line 135... | Line 133... | ||
135 | 133 | ||
136 | struct drm_vmw_context_arg { |
134 | struct drm_vmw_context_arg { |
137 | int32_t cid; |
135 | __s32 cid; |
138 | uint32_t pad64; |
136 | __u32 pad64; |
Line 139... | Line 137... | ||
139 | }; |
137 | }; |
140 | 138 | ||
141 | /*************************************************************************/ |
139 | /*************************************************************************/ |
Line 163... | Line 161... | ||
163 | * @flags: Surface flags as understood by the host. |
161 | * @flags: Surface flags as understood by the host. |
164 | * @format: Surface format as understood by the host. |
162 | * @format: Surface format as understood by the host. |
165 | * @mip_levels: Number of mip levels for each face. |
163 | * @mip_levels: Number of mip levels for each face. |
166 | * An unused face should have 0 encoded. |
164 | * An unused face should have 0 encoded. |
167 | * @size_addr: Address of a user-space array of sruct drm_vmw_size |
165 | * @size_addr: Address of a user-space array of sruct drm_vmw_size |
168 | * cast to an uint64_t for 32-64 bit compatibility. |
166 | * cast to an __u64 for 32-64 bit compatibility. |
169 | * The size of the array should equal the total number of mipmap levels. |
167 | * The size of the array should equal the total number of mipmap levels. |
170 | * @shareable: Boolean whether other clients (as identified by file descriptors) |
168 | * @shareable: Boolean whether other clients (as identified by file descriptors) |
171 | * may reference this surface. |
169 | * may reference this surface. |
172 | * @scanout: Boolean whether the surface is intended to be used as a |
170 | * @scanout: Boolean whether the surface is intended to be used as a |
173 | * scanout. |
171 | * scanout. |
Line 175... | Line 173... | ||
175 | * Input data to the DRM_VMW_CREATE_SURFACE Ioctl. |
173 | * Input data to the DRM_VMW_CREATE_SURFACE Ioctl. |
176 | * Output data from the DRM_VMW_REF_SURFACE Ioctl. |
174 | * Output data from the DRM_VMW_REF_SURFACE Ioctl. |
177 | */ |
175 | */ |
Line 178... | Line 176... | ||
178 | 176 | ||
179 | struct drm_vmw_surface_create_req { |
177 | struct drm_vmw_surface_create_req { |
180 | uint32_t flags; |
178 | __u32 flags; |
181 | uint32_t format; |
179 | __u32 format; |
182 | uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES]; |
180 | __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES]; |
183 | uint64_t size_addr; |
181 | __u64 size_addr; |
184 | int32_t shareable; |
182 | __s32 shareable; |
185 | int32_t scanout; |
183 | __s32 scanout; |
Line 186... | Line 184... | ||
186 | }; |
184 | }; |
187 | 185 | ||
188 | /** |
186 | /** |
Line 195... | Line 193... | ||
195 | * Input argument to the DRM_VMW_UNREF_SURFACE Ioctl. |
193 | * Input argument to the DRM_VMW_UNREF_SURFACE Ioctl. |
196 | * Input argument to the DRM_VMW_REF_SURFACE Ioctl. |
194 | * Input argument to the DRM_VMW_REF_SURFACE Ioctl. |
197 | */ |
195 | */ |
Line 198... | Line 196... | ||
198 | 196 | ||
199 | struct drm_vmw_surface_arg { |
197 | struct drm_vmw_surface_arg { |
200 | int32_t sid; |
198 | __s32 sid; |
201 | enum drm_vmw_handle_type handle_type; |
199 | enum drm_vmw_handle_type handle_type; |
Line 202... | Line 200... | ||
202 | }; |
200 | }; |
203 | 201 | ||
Line 211... | Line 209... | ||
211 | * Description of a mip level. |
209 | * Description of a mip level. |
212 | * Input data to the DRM_WMW_CREATE_SURFACE Ioctl. |
210 | * Input data to the DRM_WMW_CREATE_SURFACE Ioctl. |
213 | */ |
211 | */ |
Line 214... | Line 212... | ||
214 | 212 | ||
215 | struct drm_vmw_size { |
213 | struct drm_vmw_size { |
216 | uint32_t width; |
214 | __u32 width; |
217 | uint32_t height; |
215 | __u32 height; |
218 | uint32_t depth; |
216 | __u32 depth; |
219 | uint32_t pad64; |
217 | __u32 pad64; |
Line 220... | Line 218... | ||
220 | }; |
218 | }; |
221 | 219 | ||
222 | /** |
220 | /** |
Line 282... | Line 280... | ||
282 | */ |
280 | */ |
Line 283... | Line 281... | ||
283 | 281 | ||
284 | /** |
282 | /** |
285 | * struct drm_vmw_execbuf_arg |
283 | * struct drm_vmw_execbuf_arg |
286 | * |
284 | * |
287 | * @commands: User-space address of a command buffer cast to an uint64_t. |
285 | * @commands: User-space address of a command buffer cast to an __u64. |
288 | * @command-size: Size in bytes of the command buffer. |
286 | * @command-size: Size in bytes of the command buffer. |
289 | * @throttle-us: Sleep until software is less than @throttle_us |
287 | * @throttle-us: Sleep until software is less than @throttle_us |
290 | * microseconds ahead of hardware. The driver may round this value |
288 | * microseconds ahead of hardware. The driver may round this value |
291 | * to the nearest kernel tick. |
289 | * to the nearest kernel tick. |
292 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an |
290 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an |
293 | * uint64_t. |
291 | * __u64. |
294 | * @version: Allows expanding the execbuf ioctl parameters without breaking |
292 | * @version: Allows expanding the execbuf ioctl parameters without breaking |
295 | * backwards compatibility, since user-space will always tell the kernel |
293 | * backwards compatibility, since user-space will always tell the kernel |
296 | * which version it uses. |
294 | * which version it uses. |
297 | * @flags: Execbuf flags. None currently. |
295 | * @flags: Execbuf flags. None currently. |
Line 300... | Line 298... | ||
300 | */ |
298 | */ |
Line 301... | Line 299... | ||
301 | 299 | ||
Line 302... | Line 300... | ||
302 | #define DRM_VMW_EXECBUF_VERSION 2 |
300 | #define DRM_VMW_EXECBUF_VERSION 2 |
303 | 301 | ||
304 | struct drm_vmw_execbuf_arg { |
302 | struct drm_vmw_execbuf_arg { |
305 | uint64_t commands; |
303 | __u64 commands; |
306 | uint32_t command_size; |
304 | __u32 command_size; |
307 | uint32_t throttle_us; |
305 | __u32 throttle_us; |
308 | uint64_t fence_rep; |
306 | __u64 fence_rep; |
309 | uint32_t version; |
307 | __u32 version; |
310 | uint32_t flags; |
308 | __u32 flags; |
311 | uint32_t context_handle; |
309 | __u32 context_handle; |
Line 312... | Line 310... | ||
312 | uint32_t pad64; |
310 | __u32 pad64; |
313 | }; |
311 | }; |
314 | 312 | ||
Line 336... | Line 334... | ||
336 | * |
334 | * |
337 | * Input / Output data to the DRM_VMW_EXECBUF Ioctl. |
335 | * Input / Output data to the DRM_VMW_EXECBUF Ioctl. |
338 | */ |
336 | */ |
Line 339... | Line 337... | ||
339 | 337 | ||
340 | struct drm_vmw_fence_rep { |
338 | struct drm_vmw_fence_rep { |
341 | uint32_t handle; |
339 | __u32 handle; |
342 | uint32_t mask; |
340 | __u32 mask; |
343 | uint32_t seqno; |
341 | __u32 seqno; |
344 | uint32_t passed_seqno; |
342 | __u32 passed_seqno; |
345 | uint32_t pad64; |
343 | __u32 pad64; |
346 | int32_t error; |
344 | __s32 error; |
Line 347... | Line 345... | ||
347 | }; |
345 | }; |
348 | 346 | ||
349 | /*************************************************************************/ |
347 | /*************************************************************************/ |
Line 371... | Line 369... | ||
371 | * |
369 | * |
372 | * Input data to the DRM_VMW_ALLOC_DMABUF Ioctl. |
370 | * Input data to the DRM_VMW_ALLOC_DMABUF Ioctl. |
373 | */ |
371 | */ |
Line 374... | Line 372... | ||
374 | 372 | ||
375 | struct drm_vmw_alloc_dmabuf_req { |
373 | struct drm_vmw_alloc_dmabuf_req { |
376 | uint32_t size; |
374 | __u32 size; |
377 | uint32_t pad64; |
375 | __u32 pad64; |
Line 378... | Line 376... | ||
378 | }; |
376 | }; |
379 | 377 | ||
380 | /** |
378 | /** |
Line 389... | Line 387... | ||
389 | * |
387 | * |
390 | * Output data from the DRM_VMW_ALLOC_DMABUF Ioctl. |
388 | * Output data from the DRM_VMW_ALLOC_DMABUF Ioctl. |
391 | */ |
389 | */ |
Line 392... | Line 390... | ||
392 | 390 | ||
393 | struct drm_vmw_dmabuf_rep { |
391 | struct drm_vmw_dmabuf_rep { |
394 | uint64_t map_handle; |
392 | __u64 map_handle; |
395 | uint32_t handle; |
393 | __u32 handle; |
396 | uint32_t cur_gmr_id; |
394 | __u32 cur_gmr_id; |
397 | uint32_t cur_gmr_offset; |
395 | __u32 cur_gmr_offset; |
398 | uint32_t pad64; |
396 | __u32 pad64; |
Line 399... | Line 397... | ||
399 | }; |
397 | }; |
400 | 398 | ||
401 | /** |
399 | /** |
Line 426... | Line 424... | ||
426 | * |
424 | * |
427 | * Argument to the DRM_VMW_UNREF_DMABUF Ioctl. |
425 | * Argument to the DRM_VMW_UNREF_DMABUF Ioctl. |
428 | */ |
426 | */ |
Line 429... | Line 427... | ||
429 | 427 | ||
430 | struct drm_vmw_unref_dmabuf_arg { |
428 | struct drm_vmw_unref_dmabuf_arg { |
431 | uint32_t handle; |
429 | __u32 handle; |
432 | uint32_t pad64; |
430 | __u32 pad64; |
Line 433... | Line 431... | ||
433 | }; |
431 | }; |
434 | 432 | ||
435 | /*************************************************************************/ |
433 | /*************************************************************************/ |
Line 450... | Line 448... | ||
450 | * Defines a rectangle. Used in the overlay ioctl to define |
448 | * Defines a rectangle. Used in the overlay ioctl to define |
451 | * source and destination rectangle. |
449 | * source and destination rectangle. |
452 | */ |
450 | */ |
Line 453... | Line 451... | ||
453 | 451 | ||
454 | struct drm_vmw_rect { |
452 | struct drm_vmw_rect { |
455 | int32_t x; |
453 | __s32 x; |
456 | int32_t y; |
454 | __s32 y; |
457 | uint32_t w; |
455 | __u32 w; |
458 | uint32_t h; |
456 | __u32 h; |
Line 459... | Line 457... | ||
459 | }; |
457 | }; |
460 | 458 | ||
461 | /** |
459 | /** |
Line 475... | Line 473... | ||
475 | * |
473 | * |
476 | * Argument to the DRM_VMW_CONTROL_STREAM Ioctl. |
474 | * Argument to the DRM_VMW_CONTROL_STREAM Ioctl. |
477 | */ |
475 | */ |
Line 478... | Line 476... | ||
478 | 476 | ||
479 | struct drm_vmw_control_stream_arg { |
477 | struct drm_vmw_control_stream_arg { |
480 | uint32_t stream_id; |
478 | __u32 stream_id; |
Line 481... | Line 479... | ||
481 | uint32_t enabled; |
479 | __u32 enabled; |
482 | 480 | ||
Line 483... | Line 481... | ||
483 | uint32_t flags; |
481 | __u32 flags; |
484 | uint32_t color_key; |
482 | __u32 color_key; |
485 | 483 | ||
486 | uint32_t handle; |
484 | __u32 handle; |
487 | uint32_t offset; |
485 | __u32 offset; |
488 | int32_t format; |
486 | __s32 format; |
489 | uint32_t size; |
487 | __u32 size; |
Line 490... | Line 488... | ||
490 | uint32_t width; |
488 | __u32 width; |
491 | uint32_t height; |
489 | __u32 height; |
492 | uint32_t pitch[3]; |
490 | __u32 pitch[3]; |
493 | 491 | ||
Line 494... | Line 492... | ||
494 | uint32_t pad64; |
492 | __u32 pad64; |
Line 517... | Line 515... | ||
517 | * |
515 | * |
518 | * Argument to the DRM_VMW_CURSOR_BYPASS Ioctl. |
516 | * Argument to the DRM_VMW_CURSOR_BYPASS Ioctl. |
519 | */ |
517 | */ |
Line 520... | Line 518... | ||
520 | 518 | ||
521 | struct drm_vmw_cursor_bypass_arg { |
519 | struct drm_vmw_cursor_bypass_arg { |
522 | uint32_t flags; |
520 | __u32 flags; |
523 | uint32_t crtc_id; |
521 | __u32 crtc_id; |
524 | int32_t xpos; |
522 | __s32 xpos; |
525 | int32_t ypos; |
523 | __s32 ypos; |
526 | int32_t xhot; |
524 | __s32 xhot; |
527 | int32_t yhot; |
525 | __s32 yhot; |
Line 528... | Line 526... | ||
528 | }; |
526 | }; |
529 | 527 | ||
530 | /*************************************************************************/ |
528 | /*************************************************************************/ |
Line 540... | Line 538... | ||
540 | * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl. |
538 | * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl. |
541 | * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl. |
539 | * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl. |
542 | */ |
540 | */ |
Line 543... | Line 541... | ||
543 | 541 | ||
544 | struct drm_vmw_stream_arg { |
542 | struct drm_vmw_stream_arg { |
545 | uint32_t stream_id; |
543 | __u32 stream_id; |
546 | uint32_t pad64; |
544 | __u32 pad64; |
Line 547... | Line 545... | ||
547 | }; |
545 | }; |
548 | 546 | ||
549 | /*************************************************************************/ |
547 | /*************************************************************************/ |
Line 563... | Line 561... | ||
563 | */ |
561 | */ |
Line 564... | Line 562... | ||
564 | 562 | ||
565 | /** |
563 | /** |
566 | * struct drm_vmw_get_3d_cap_arg |
564 | * struct drm_vmw_get_3d_cap_arg |
567 | * |
565 | * |
568 | * @buffer: Pointer to a buffer for capability data, cast to an uint64_t |
566 | * @buffer: Pointer to a buffer for capability data, cast to an __u64 |
569 | * @size: Max size to copy |
567 | * @size: Max size to copy |
570 | * |
568 | * |
571 | * Input argument to the DRM_VMW_GET_3D_CAP_IOCTL |
569 | * Input argument to the DRM_VMW_GET_3D_CAP_IOCTL |
572 | * ioctls. |
570 | * ioctls. |
Line 573... | Line 571... | ||
573 | */ |
571 | */ |
574 | 572 | ||
575 | struct drm_vmw_get_3d_cap_arg { |
573 | struct drm_vmw_get_3d_cap_arg { |
576 | uint64_t buffer; |
574 | __u64 buffer; |
577 | uint32_t max_size; |
575 | __u32 max_size; |
Line 578... | Line 576... | ||
578 | uint32_t pad64; |
576 | __u32 pad64; |
579 | }; |
577 | }; |
580 | 578 | ||
Line 622... | Line 620... | ||
622 | * |
620 | * |
623 | * Input argument to the DRM_VMW_FENCE_WAIT ioctl. |
621 | * Input argument to the DRM_VMW_FENCE_WAIT ioctl. |
624 | */ |
622 | */ |
Line 625... | Line 623... | ||
625 | 623 | ||
626 | struct drm_vmw_fence_wait_arg { |
624 | struct drm_vmw_fence_wait_arg { |
627 | uint32_t handle; |
625 | __u32 handle; |
628 | int32_t cookie_valid; |
626 | __s32 cookie_valid; |
629 | uint64_t kernel_cookie; |
627 | __u64 kernel_cookie; |
630 | uint64_t timeout_us; |
628 | __u64 timeout_us; |
631 | int32_t lazy; |
629 | __s32 lazy; |
632 | int32_t flags; |
630 | __s32 flags; |
633 | int32_t wait_options; |
631 | __s32 wait_options; |
634 | int32_t pad64; |
632 | __s32 pad64; |
Line 635... | Line 633... | ||
635 | }; |
633 | }; |
636 | 634 | ||
637 | /*************************************************************************/ |
635 | /*************************************************************************/ |
Line 653... | Line 651... | ||
653 | * Input/Output argument to the DRM_VMW_FENCE_SIGNALED and DRM_VMW_FENCE_UNREF |
651 | * Input/Output argument to the DRM_VMW_FENCE_SIGNALED and DRM_VMW_FENCE_UNREF |
654 | * ioctls. |
652 | * ioctls. |
655 | */ |
653 | */ |
Line 656... | Line 654... | ||
656 | 654 | ||
657 | struct drm_vmw_fence_signaled_arg { |
655 | struct drm_vmw_fence_signaled_arg { |
658 | uint32_t handle; |
656 | __u32 handle; |
659 | uint32_t flags; |
657 | __u32 flags; |
660 | int32_t signaled; |
658 | __s32 signaled; |
661 | uint32_t passed_seqno; |
659 | __u32 passed_seqno; |
662 | uint32_t signaled_flags; |
660 | __u32 signaled_flags; |
663 | uint32_t pad64; |
661 | __u32 pad64; |
Line 664... | Line 662... | ||
664 | }; |
662 | }; |
665 | 663 | ||
666 | /*************************************************************************/ |
664 | /*************************************************************************/ |
Line 679... | Line 677... | ||
679 | * |
677 | * |
680 | * Input/Output argument to the DRM_VMW_FENCE_UNREF ioctl.. |
678 | * Input/Output argument to the DRM_VMW_FENCE_UNREF ioctl.. |
681 | */ |
679 | */ |
Line 682... | Line 680... | ||
682 | 680 | ||
683 | struct drm_vmw_fence_arg { |
681 | struct drm_vmw_fence_arg { |
684 | uint32_t handle; |
682 | __u32 handle; |
685 | uint32_t pad64; |
683 | __u32 pad64; |
Line 686... | Line 684... | ||
686 | }; |
684 | }; |
687 | 685 | ||
Line 701... | Line 699... | ||
701 | */ |
699 | */ |
702 | #define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000 |
700 | #define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000 |
Line 703... | Line 701... | ||
703 | 701 | ||
704 | struct drm_vmw_event_fence { |
702 | struct drm_vmw_event_fence { |
705 | struct drm_event base; |
703 | struct drm_event base; |
706 | uint64_t user_data; |
704 | __u64 user_data; |
707 | uint32_t tv_sec; |
705 | __u32 tv_sec; |
708 | uint32_t tv_usec; |
706 | __u32 tv_usec; |
Line 709... | Line 707... | ||
709 | }; |
707 | }; |
710 | 708 | ||
711 | /* |
709 | /* |
Line 715... | Line 713... | ||
715 | #define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0) |
713 | #define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0) |
Line 716... | Line 714... | ||
716 | 714 | ||
717 | /** |
715 | /** |
718 | * struct drm_vmw_fence_event_arg |
716 | * struct drm_vmw_fence_event_arg |
719 | * |
717 | * |
720 | * @fence_rep: Pointer to fence_rep structure cast to uint64_t or 0 if |
718 | * @fence_rep: Pointer to fence_rep structure cast to __u64 or 0 if |
721 | * the fence is not supposed to be referenced by user-space. |
719 | * the fence is not supposed to be referenced by user-space. |
722 | * @user_info: Info to be delivered with the event. |
720 | * @user_info: Info to be delivered with the event. |
723 | * @handle: Attach the event to this fence only. |
721 | * @handle: Attach the event to this fence only. |
724 | * @flags: A set of flags as defined above. |
722 | * @flags: A set of flags as defined above. |
725 | */ |
723 | */ |
726 | struct drm_vmw_fence_event_arg { |
724 | struct drm_vmw_fence_event_arg { |
727 | uint64_t fence_rep; |
725 | __u64 fence_rep; |
728 | uint64_t user_data; |
726 | __u64 user_data; |
729 | uint32_t handle; |
727 | __u32 handle; |
730 | uint32_t flags; |
728 | __u32 flags; |
Line 731... | Line 729... | ||
731 | }; |
729 | }; |
732 | 730 | ||
Line 745... | Line 743... | ||
745 | * struct drm_vmw_present_arg |
743 | * struct drm_vmw_present_arg |
746 | * @fb_id: framebuffer id to present / read back from. |
744 | * @fb_id: framebuffer id to present / read back from. |
747 | * @sid: Surface id to present from. |
745 | * @sid: Surface id to present from. |
748 | * @dest_x: X placement coordinate for surface. |
746 | * @dest_x: X placement coordinate for surface. |
749 | * @dest_y: Y placement coordinate for surface. |
747 | * @dest_y: Y placement coordinate for surface. |
750 | * @clips_ptr: Pointer to an array of clip rects cast to an uint64_t. |
748 | * @clips_ptr: Pointer to an array of clip rects cast to an __u64. |
751 | * @num_clips: Number of cliprects given relative to the framebuffer origin, |
749 | * @num_clips: Number of cliprects given relative to the framebuffer origin, |
752 | * in the same coordinate space as the frame buffer. |
750 | * in the same coordinate space as the frame buffer. |
753 | * @pad64: Unused 64-bit padding. |
751 | * @pad64: Unused 64-bit padding. |
754 | * |
752 | * |
755 | * Input argument to the DRM_VMW_PRESENT ioctl. |
753 | * Input argument to the DRM_VMW_PRESENT ioctl. |
756 | */ |
754 | */ |
Line 757... | Line 755... | ||
757 | 755 | ||
758 | struct drm_vmw_present_arg { |
756 | struct drm_vmw_present_arg { |
759 | uint32_t fb_id; |
757 | __u32 fb_id; |
760 | uint32_t sid; |
758 | __u32 sid; |
761 | int32_t dest_x; |
759 | __s32 dest_x; |
762 | int32_t dest_y; |
760 | __s32 dest_y; |
763 | uint64_t clips_ptr; |
761 | __u64 clips_ptr; |
764 | uint32_t num_clips; |
762 | __u32 num_clips; |
765 | uint32_t pad64; |
763 | __u32 pad64; |
Line 766... | Line 764... | ||
766 | }; |
764 | }; |
767 | 765 | ||
Line 778... | Line 776... | ||
778 | 776 | ||
779 | /** |
777 | /** |
780 | * struct drm_vmw_present_arg |
778 | * struct drm_vmw_present_arg |
781 | * @fb_id: fb_id to present / read back from. |
779 | * @fb_id: fb_id to present / read back from. |
782 | * @num_clips: Number of cliprects. |
780 | * @num_clips: Number of cliprects. |
783 | * @clips_ptr: Pointer to an array of clip rects cast to an uint64_t. |
781 | * @clips_ptr: Pointer to an array of clip rects cast to an __u64. |
784 | * @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an uint64_t. |
782 | * @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an __u64. |
785 | * If this member is NULL, then the ioctl should not return a fence. |
783 | * If this member is NULL, then the ioctl should not return a fence. |
Line 786... | Line 784... | ||
786 | */ |
784 | */ |
787 | 785 | ||
788 | struct drm_vmw_present_readback_arg { |
786 | struct drm_vmw_present_readback_arg { |
789 | uint32_t fb_id; |
787 | __u32 fb_id; |
790 | uint32_t num_clips; |
788 | __u32 num_clips; |
791 | uint64_t clips_ptr; |
789 | __u64 clips_ptr; |
Line 792... | Line 790... | ||
792 | uint64_t fence_rep; |
790 | __u64 fence_rep; |
793 | }; |
791 | }; |
794 | 792 | ||
Line 803... | Line 801... | ||
803 | 801 | ||
804 | /** |
802 | /** |
805 | * struct drm_vmw_update_layout_arg |
803 | * struct drm_vmw_update_layout_arg |
806 | * |
804 | * |
807 | * @num_outputs: number of active connectors |
805 | * @num_outputs: number of active connectors |
808 | * @rects: pointer to array of drm_vmw_rect cast to an uint64_t |
806 | * @rects: pointer to array of drm_vmw_rect cast to an __u64 |
809 | * |
807 | * |
810 | * Input argument to the DRM_VMW_UPDATE_LAYOUT Ioctl. |
808 | * Input argument to the DRM_VMW_UPDATE_LAYOUT Ioctl. |
811 | */ |
809 | */ |
812 | struct drm_vmw_update_layout_arg { |
810 | struct drm_vmw_update_layout_arg { |
813 | uint32_t num_outputs; |
811 | __u32 num_outputs; |
814 | uint32_t pad64; |
812 | __u32 pad64; |
815 | uint64_t rects; |
813 | __u64 rects; |
Line 816... | Line 814... | ||
816 | }; |
814 | }; |
817 | 815 | ||
Line 847... | Line 845... | ||
847 | * |
845 | * |
848 | * Input / Output argument to the DRM_VMW_CREATE_SHADER Ioctl. |
846 | * Input / Output argument to the DRM_VMW_CREATE_SHADER Ioctl. |
849 | */ |
847 | */ |
850 | struct drm_vmw_shader_create_arg { |
848 | struct drm_vmw_shader_create_arg { |
851 | enum drm_vmw_shader_type shader_type; |
849 | enum drm_vmw_shader_type shader_type; |
852 | uint32_t size; |
850 | __u32 size; |
853 | uint32_t buffer_handle; |
851 | __u32 buffer_handle; |
854 | uint32_t shader_handle; |
852 | __u32 shader_handle; |
855 | uint64_t offset; |
853 | __u64 offset; |
856 | }; |
854 | }; |
Line 857... | Line 855... | ||
857 | 855 | ||
858 | /*************************************************************************/ |
856 | /*************************************************************************/ |
859 | /** |
857 | /** |
Line 869... | Line 867... | ||
869 | * @handle: Handle identifying the shader to destroy. |
867 | * @handle: Handle identifying the shader to destroy. |
870 | * |
868 | * |
871 | * Input argument to the DRM_VMW_UNREF_SHADER ioctl. |
869 | * Input argument to the DRM_VMW_UNREF_SHADER ioctl. |
872 | */ |
870 | */ |
873 | struct drm_vmw_shader_arg { |
871 | struct drm_vmw_shader_arg { |
874 | uint32_t handle; |
872 | __u32 handle; |
875 | uint32_t pad64; |
873 | __u32 pad64; |
876 | }; |
874 | }; |
Line 877... | Line 875... | ||
877 | 875 | ||
878 | /*************************************************************************/ |
876 | /*************************************************************************/ |
879 | /** |
877 | /** |
Line 916... | Line 914... | ||
916 | * |
914 | * |
917 | * Input argument to the DRM_VMW_GB_SURFACE_CREATE Ioctl. |
915 | * Input argument to the DRM_VMW_GB_SURFACE_CREATE Ioctl. |
918 | * Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl. |
916 | * Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl. |
919 | */ |
917 | */ |
920 | struct drm_vmw_gb_surface_create_req { |
918 | struct drm_vmw_gb_surface_create_req { |
921 | uint32_t svga3d_flags; |
919 | __u32 svga3d_flags; |
922 | uint32_t format; |
920 | __u32 format; |
923 | uint32_t mip_levels; |
921 | __u32 mip_levels; |
924 | enum drm_vmw_surface_flags drm_surface_flags; |
922 | enum drm_vmw_surface_flags drm_surface_flags; |
925 | uint32_t multisample_count; |
923 | __u32 multisample_count; |
926 | uint32_t autogen_filter; |
924 | __u32 autogen_filter; |
927 | uint32_t buffer_handle; |
925 | __u32 buffer_handle; |
928 | uint32_t array_size; |
926 | __u32 array_size; |
929 | struct drm_vmw_size base_size; |
927 | struct drm_vmw_size base_size; |
930 | }; |
928 | }; |
Line 931... | Line 929... | ||
931 | 929 | ||
932 | /** |
930 | /** |
Line 942... | Line 940... | ||
942 | * |
940 | * |
943 | * Part of output argument for the DRM_VMW_GB_SURFACE_REF ioctl. |
941 | * Part of output argument for the DRM_VMW_GB_SURFACE_REF ioctl. |
944 | * Output argument for the DRM_VMW_GB_SURFACE_CREATE ioctl. |
942 | * Output argument for the DRM_VMW_GB_SURFACE_CREATE ioctl. |
945 | */ |
943 | */ |
946 | struct drm_vmw_gb_surface_create_rep { |
944 | struct drm_vmw_gb_surface_create_rep { |
947 | uint32_t handle; |
945 | __u32 handle; |
948 | uint32_t backup_size; |
946 | __u32 backup_size; |
949 | uint32_t buffer_handle; |
947 | __u32 buffer_handle; |
950 | uint32_t buffer_size; |
948 | __u32 buffer_size; |
951 | uint64_t buffer_map_handle; |
949 | __u64 buffer_map_handle; |
952 | }; |
950 | }; |
Line 953... | Line 951... | ||
953 | 951 | ||
954 | /** |
952 | /** |
955 | * union drm_vmw_gb_surface_create_arg |
953 | * union drm_vmw_gb_surface_create_arg |
Line 1059... | Line 1057... | ||
1059 | * @flags: Flags as described above. |
1057 | * @flags: Flags as described above. |
1060 | */ |
1058 | */ |
1061 | struct drm_vmw_synccpu_arg { |
1059 | struct drm_vmw_synccpu_arg { |
1062 | enum drm_vmw_synccpu_op op; |
1060 | enum drm_vmw_synccpu_op op; |
1063 | enum drm_vmw_synccpu_flags flags; |
1061 | enum drm_vmw_synccpu_flags flags; |
1064 | uint32_t handle; |
1062 | __u32 handle; |
1065 | uint32_t pad64; |
1063 | __u32 pad64; |
1066 | }; |
1064 | }; |
Line 1067... | Line 1065... | ||
1067 | 1065 | ||
1068 | /*************************************************************************/ |
1066 | /*************************************************************************/ |
1069 | /** |
1067 | /** |