summaryrefslogtreecommitdiff
path: root/src/sna/sna_video_sprite.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-07-20 07:29:21 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-07-20 07:34:16 +0100
commitbfccacf745d054756661be3edd8898ac6aceb878 (patch)
treee85af3dd6fd7f57a35be13c39d2c338716af5fc4 /src/sna/sna_video_sprite.c
parent9bb2818a7db1c9dc89379996415511b6cff4bb33 (diff)
sna/video: Bump the maximum size for sprites
A sprite plane is limited by the display engine who's maximum resolution has increased since the 2kx2k limitations of 8xx, so let's set it correctly to the reported maximum CRTC size (since we have no individual query for maximum sprite plane sizes). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_video_sprite.c')
-rw-r--r--src/sna/sna_video_sprite.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/sna/sna_video_sprite.c b/src/sna/sna_video_sprite.c
index 1106c00b..80fa43f9 100644
--- a/src/sna/sna_video_sprite.c
+++ b/src/sna/sna_video_sprite.c
@@ -63,9 +63,6 @@ struct local_mode_set_plane {
uint32_t src_h, src_w;
};
-#define IMAGE_MAX_WIDTH 2048
-#define IMAGE_MAX_HEIGHT 2048
-
#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, true)
static Atom xvColorKey, xvAlwaysOnTop, xvSyncToVblank;
@@ -584,10 +581,10 @@ static int sna_video_sprite_query(ClientPtr client,
struct sna_video_frame frame;
int size;
- if (*w > IMAGE_MAX_WIDTH)
- *w = IMAGE_MAX_WIDTH;
- if (*h > IMAGE_MAX_HEIGHT)
- *h = IMAGE_MAX_HEIGHT;
+ if (*w > video->sna->mode.max_crtc_width)
+ *w = video->sna->mode.max_crtc_width;
+ if (*h > video->sna->mode.max_crtc_height)
+ *h = video->sna->mode.max_crtc_height;
if (offsets)
offsets[0] = 0;
@@ -687,8 +684,8 @@ void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen)
adaptor->pEncodings[0].id = 0;
adaptor->pEncodings[0].pScreen = screen;
adaptor->pEncodings[0].name = (char *)"XV_IMAGE";
- adaptor->pEncodings[0].width = IMAGE_MAX_WIDTH;
- adaptor->pEncodings[0].height = IMAGE_MAX_HEIGHT;
+ adaptor->pEncodings[0].width = sna->mode.max_crtc_width;
+ adaptor->pEncodings[0].height = sna->mode.max_crtc_height;
adaptor->pEncodings[0].rate.numerator = 1;
adaptor->pEncodings[0].rate.denominator = 1;
adaptor->pFormats = formats;