summaryrefslogtreecommitdiff
path: root/src/sna/sna_video.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-04-23 11:34:06 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-04-23 11:54:58 +0100
commit5fbbfd4dd35c5e5381897b7e5d4c16c1f182ef2b (patch)
treefc553f215d32518987d1b75db839989e182183db /src/sna/sna_video.h
parent3508f809c40bc59d67deb7182807664bc0648639 (diff)
sna/video: Show sprites across all outputs
If an overlay video (using the sprite interface) is visible on multiple outputs, we have to create and show a sprite for each. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77802 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_video.h')
-rw-r--r--src/sna/sna_video.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/sna/sna_video.h b/src/sna/sna_video.h
index 337f928e..d46c0159 100644
--- a/src/sna/sna_video.h
+++ b/src/sna/sna_video.h
@@ -77,8 +77,6 @@ struct sna_video {
int saturation;
xf86CrtcPtr desired_crtc;
- RegionRec clip;
-
uint32_t gamma0;
uint32_t gamma1;
uint32_t gamma2;
@@ -86,8 +84,8 @@ struct sna_video {
uint32_t gamma4;
uint32_t gamma5;
- int color_key;
- bool color_key_changed;
+ unsigned color_key;
+ unsigned color_key_changed;
bool has_color_key;
/** YUV data buffers */
@@ -98,9 +96,10 @@ struct sna_video {
int alignment;
bool tiled;
bool textured;
- Rotation rotation;
int plane;
- struct kgem_bo *bo;
+
+ struct kgem_bo *bo[4];
+ RegionRec clip;
int SyncToVblank; /* -1: auto, 0: off, 1: on */
int AlwaysOnTop;
@@ -112,6 +111,7 @@ struct sna_video_frame {
uint32_t size;
uint32_t UBufOffset;
uint32_t VBufOffset;
+ Rotation rotation;
uint16_t width, height;
uint16_t pitch[2];
@@ -179,6 +179,11 @@ sna_video_frame_init(struct sna_video *video,
int id, short width, short height,
struct sna_video_frame *frame);
+void
+sna_video_frame_set_rotation(struct sna_video *video,
+ struct sna_video_frame *frame,
+ Rotation rotation);
+
struct kgem_bo *
sna_video_buffer(struct sna_video *video,
struct sna_video_frame *frame);