Subversion Repositories Kolibri OS

Rev

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
/**