diff options
Diffstat (limited to 'include/drm/i915_drm.h')
-rw-r--r-- | include/drm/i915_drm.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index 28c0d114cb52..924f6a454fed 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
@@ -198,6 +198,8 @@ typedef struct _drm_i915_sarea { | |||
198 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 | 198 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 |
199 | #define DRM_I915_OVERLAY_ATTRS 0x28 | 199 | #define DRM_I915_OVERLAY_ATTRS 0x28 |
200 | #define DRM_I915_GEM_EXECBUFFER2 0x29 | 200 | #define DRM_I915_GEM_EXECBUFFER2 0x29 |
201 | #define DRM_I915_GET_SPRITE_COLORKEY 0x2a | ||
202 | #define DRM_I915_SET_SPRITE_COLORKEY 0x2b | ||
201 | 203 | ||
202 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 204 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
203 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 205 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
@@ -239,6 +241,8 @@ typedef struct _drm_i915_sarea { | |||
239 | #define DRM_IOCTL_I915_GEM_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MADVISE, struct drm_i915_gem_madvise) | 241 | #define DRM_IOCTL_I915_GEM_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MADVISE, struct drm_i915_gem_madvise) |
240 | #define DRM_IOCTL_I915_OVERLAY_PUT_IMAGE DRM_IOW(DRM_COMMAND_BASE + DRM_I915_OVERLAY_PUT_IMAGE, struct drm_intel_overlay_put_image) | 242 | #define DRM_IOCTL_I915_OVERLAY_PUT_IMAGE DRM_IOW(DRM_COMMAND_BASE + DRM_I915_OVERLAY_PUT_IMAGE, struct drm_intel_overlay_put_image) |
241 | #define DRM_IOCTL_I915_OVERLAY_ATTRS DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_OVERLAY_ATTRS, struct drm_intel_overlay_attrs) | 243 | #define DRM_IOCTL_I915_OVERLAY_ATTRS DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_OVERLAY_ATTRS, struct drm_intel_overlay_attrs) |
244 | #define DRM_IOCTL_I915_SET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) | ||
245 | #define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey) | ||
242 | 246 | ||
243 | /* Allow drivers to submit batchbuffers directly to hardware, relying | 247 | /* Allow drivers to submit batchbuffers directly to hardware, relying |
244 | * on the security mechanisms provided by hardware. | 248 | * on the security mechanisms provided by hardware. |
@@ -291,6 +295,7 @@ typedef struct drm_i915_irq_wait { | |||
291 | #define I915_PARAM_HAS_COHERENT_RINGS 13 | 295 | #define I915_PARAM_HAS_COHERENT_RINGS 13 |
292 | #define I915_PARAM_HAS_EXEC_CONSTANTS 14 | 296 | #define I915_PARAM_HAS_EXEC_CONSTANTS 14 |
293 | #define I915_PARAM_HAS_RELAXED_DELTA 15 | 297 | #define I915_PARAM_HAS_RELAXED_DELTA 15 |
298 | #define I915_PARAM_HAS_GEN7_SOL_RESET 16 | ||
294 | 299 | ||
295 | typedef struct drm_i915_getparam { | 300 | typedef struct drm_i915_getparam { |
296 | int param; | 301 | int param; |
@@ -653,6 +658,9 @@ struct drm_i915_gem_execbuffer2 { | |||
653 | __u64 rsvd2; | 658 | __u64 rsvd2; |
654 | }; | 659 | }; |
655 | 660 | ||
661 | /** Resets the SO write offset registers for transform feedback on gen7. */ | ||
662 | #define I915_EXEC_GEN7_SOL_RESET (1<<8) | ||
663 | |||
656 | struct drm_i915_gem_pin { | 664 | struct drm_i915_gem_pin { |
657 | /** Handle of the buffer to be pinned. */ | 665 | /** Handle of the buffer to be pinned. */ |
658 | __u32 handle; | 666 | __u32 handle; |
@@ -844,4 +852,36 @@ struct drm_intel_overlay_attrs { | |||
844 | __u32 gamma5; | 852 | __u32 gamma5; |
845 | }; | 853 | }; |
846 | 854 | ||
855 | /* | ||
856 | * Intel sprite handling | ||
857 | * | ||
858 | * Color keying works with a min/mask/max tuple. Both source and destination | ||
859 | * color keying is allowed. | ||
860 | * | ||
861 | * Source keying: | ||
862 | * Sprite pixels within the min & max values, masked against the color channels | ||
863 | * specified in the mask field, will be transparent. All other pixels will | ||
864 | * be displayed on top of the primary plane. For RGB surfaces, only the min | ||
865 | * and mask fields will be used; ranged compares are not allowed. | ||
866 | * | ||
867 | * Destination keying: | ||
868 | * Primary plane pixels that match the min value, masked against the color | ||
869 | * channels specified in the mask field, will be replaced by corresponding | ||
870 | * pixels from the sprite plane. | ||
871 | * | ||
872 | * Note that source & destination keying are exclusive; only one can be | ||
873 | * active on a given plane. | ||
874 | */ | ||
875 | |||
876 | #define I915_SET_COLORKEY_NONE (1<<0) /* disable color key matching */ | ||
877 | #define I915_SET_COLORKEY_DESTINATION (1<<1) | ||
878 | #define I915_SET_COLORKEY_SOURCE (1<<2) | ||
879 | struct drm_intel_sprite_colorkey { | ||
880 | __u32 plane_id; | ||
881 | __u32 min_value; | ||
882 | __u32 channel_mask; | ||
883 | __u32 max_value; | ||
884 | __u32 flags; | ||
885 | }; | ||
886 | |||
847 | #endif /* _I915_DRM_H_ */ | 887 | #endif /* _I915_DRM_H_ */ |