diff options
Diffstat (limited to 'include/drm/i915_drm.h')
| -rw-r--r-- | include/drm/i915_drm.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index ec3f5e80a5df..b64a8d7cdf6d 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
| @@ -188,6 +188,7 @@ typedef struct _drm_i915_sarea { | |||
| 188 | #define DRM_I915_GEM_MADVISE 0x26 | 188 | #define DRM_I915_GEM_MADVISE 0x26 |
| 189 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 | 189 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 |
| 190 | #define DRM_I915_OVERLAY_ATTRS 0x28 | 190 | #define DRM_I915_OVERLAY_ATTRS 0x28 |
| 191 | #define DRM_I915_GEM_EXECBUFFER2 0x29 | ||
| 191 | 192 | ||
| 192 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 193 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
| 193 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 194 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
| @@ -207,6 +208,7 @@ typedef struct _drm_i915_sarea { | |||
| 207 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) | 208 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) |
| 208 | #define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init) | 209 | #define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init) |
| 209 | #define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer) | 210 | #define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer) |
| 211 | #define DRM_IOCTL_I915_GEM_EXECBUFFER2 DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2) | ||
| 210 | #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin) | 212 | #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin) |
| 211 | #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin) | 213 | #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin) |
| 212 | #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy) | 214 | #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy) |
| @@ -272,6 +274,7 @@ typedef struct drm_i915_irq_wait { | |||
| 272 | #define I915_PARAM_NUM_FENCES_AVAIL 6 | 274 | #define I915_PARAM_NUM_FENCES_AVAIL 6 |
| 273 | #define I915_PARAM_HAS_OVERLAY 7 | 275 | #define I915_PARAM_HAS_OVERLAY 7 |
| 274 | #define I915_PARAM_HAS_PAGEFLIPPING 8 | 276 | #define I915_PARAM_HAS_PAGEFLIPPING 8 |
| 277 | #define I915_PARAM_HAS_EXECBUF2 9 | ||
| 275 | 278 | ||
| 276 | typedef struct drm_i915_getparam { | 279 | typedef struct drm_i915_getparam { |
| 277 | int param; | 280 | int param; |
| @@ -567,6 +570,57 @@ struct drm_i915_gem_execbuffer { | |||
| 567 | __u64 cliprects_ptr; | 570 | __u64 cliprects_ptr; |
| 568 | }; | 571 | }; |
| 569 | 572 | ||
| 573 | struct drm_i915_gem_exec_object2 { | ||
| 574 | /** | ||
| 575 | * User's handle for a buffer to be bound into the GTT for this | ||
| 576 | * operation. | ||
| 577 | */ | ||
| 578 | __u32 handle; | ||
| 579 | |||
| 580 | /** Number of relocations to be performed on this buffer */ | ||
| 581 | __u32 relocation_count; | ||
| 582 | /** | ||
| 583 | * Pointer to array of struct drm_i915_gem_relocation_entry containing | ||
| 584 | * the relocations to be performed in this buffer. | ||
| 585 | */ | ||
| 586 | __u64 relocs_ptr; | ||
| 587 | |||
| 588 | /** Required alignment in graphics aperture */ | ||
| 589 | __u64 alignment; | ||
| 590 | |||
| 591 | /** | ||
| 592 | * Returned value of the updated offset of the object, for future | ||
| 593 | * presumed_offset writes. | ||
| 594 | */ | ||
| 595 | __u64 offset; | ||
| 596 | |||
| 597 | #define EXEC_OBJECT_NEEDS_FENCE (1<<0) | ||
| 598 | __u64 flags; | ||
| 599 | __u64 rsvd1; | ||
| 600 | __u64 rsvd2; | ||
| 601 | }; | ||
| 602 | |||
| 603 | struct drm_i915_gem_execbuffer2 { | ||
| 604 | /** | ||
| 605 | * List of gem_exec_object2 structs | ||
| 606 | */ | ||
| 607 | __u64 buffers_ptr; | ||
| 608 | __u32 buffer_count; | ||
| 609 | |||
| 610 | /** Offset in the batchbuffer to start execution from. */ | ||
| 611 | __u32 batch_start_offset; | ||
| 612 | /** Bytes used in batchbuffer from batch_start_offset */ | ||
| 613 | __u32 batch_len; | ||
| 614 | __u32 DR1; | ||
| 615 | __u32 DR4; | ||
| 616 | __u32 num_cliprects; | ||
| 617 | /** This is a struct drm_clip_rect *cliprects */ | ||
| 618 | __u64 cliprects_ptr; | ||
| 619 | __u64 flags; /* currently unused */ | ||
| 620 | __u64 rsvd1; | ||
| 621 | __u64 rsvd2; | ||
| 622 | }; | ||
| 623 | |||
| 570 | struct drm_i915_gem_pin { | 624 | struct drm_i915_gem_pin { |
| 571 | /** Handle of the buffer to be pinned. */ | 625 | /** Handle of the buffer to be pinned. */ |
| 572 | __u32 handle; | 626 | __u32 handle; |
