diff options
Diffstat (limited to 'src/intel_video.h')
-rw-r--r-- | src/intel_video.h | 32 |
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); |