summaryrefslogtreecommitdiff
path: root/src/intel_video.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel_video.h')
-rw-r--r--src/intel_video.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/intel_video.h b/src/intel_video.h
index f405d40b..22d9bc93 100644
--- a/src/intel_video.h
+++ b/src/intel_video.h
@@ -39,6 +39,7 @@ typedef struct {
RegionRec clip;
uint32_t colorKey;
+ Bool colorKeyChanged;
uint32_t gamma0;
uint32_t gamma1;
@@ -55,6 +56,18 @@ typedef struct {
drm_intel_bo *buf, *old_buf[2];
Bool reusable;
+ /* For kernel level plane updates */
+ unsigned long pitch;
+ int fb_id;
+ uint32_t crtc_id;
+ int plane_id;
+ uint32_t crtc_x, crtc_y;
+ uint32_t crtc_w, crtc_h;
+ uint32_t src_x, src_y;
+ uint32_t src_w, src_h;
+
+ struct _drmModePlane *planes;
+
Bool textured;
Rotation rotation; /* should remove intel->rotation later */
@@ -67,6 +80,12 @@ intel_get_adaptor_private(intel_screen_private *intel)
return intel->adaptor->pPortPrivates[0].ptr;
}
+static inline intel_adaptor_private *
+intel_get_sprite_adaptor_private(intel_screen_private *intel)
+{
+ return intel->sprite_adaptor->pPortPrivates[0].ptr;
+}
+
void I915DisplayVideoTextured(ScrnInfoPtr scrn,
intel_adaptor_private *adaptor_priv,
int id, RegionPtr dstRegion, short width,
@@ -93,3 +112,16 @@ void i965_free_video(ScrnInfoPtr scrn);
int is_planar_fourcc(int id);
void intel_video_block_handler(intel_screen_private *intel);
+
+extern Bool intel_clip_video_helper(ScrnInfoPtr scrn,
+ intel_adaptor_private *adaptor_priv,
+ xf86CrtcPtr * crtc_ret,
+ BoxPtr dst,
+ short src_x, short src_y,
+ short drw_x, short drw_y,
+ short src_w, short src_h,
+ short drw_w, short drw_h,
+ int id,
+ int *top, int* left, int* npixels,
+ int *nlines,
+ RegionPtr reg, INT32 width, INT32 height);