Skip to contentSkip to conversation

sna: Add multiple planes support for Xv video on sprite

PATCH New Zhenyu Wang 1 participant 1 message Mar 3, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sna: Add multiple planes support for Xv video on sprite

On VLV there're two sprite planes for each pipe that both can be used simultaneously for Xv video. This one trys to expose those capability through multiple Xv ports on sprite video adaptor.

I've tried to use this to validate new two sprite planes for single pipe on VLV which works fine.

---
 src/sna/sna.h              |   5 ++-
 src/sna/sna_display.c      | 106 ++++++++++++++++++++++++++++++++++-----------
 src/sna/sna_video_sprite.c |  87 ++++++++++++++++++++-----------------
 3 files changed, 131 insertions(+), 67 deletions(-)
src/sna/sna.h +3 -2
index 4651632..ce51fef 100644
@@ -285,6 +285,7 @@ struct sna {
 		unsigned num_real_crtc;
 		unsigned num_real_output;
 		unsigned num_fake;
+		unsigned num_sprite;
 	} mode;
 
 	struct sna_dri {
@@ -442,9 +443,9 @@ static inline void sna_dri_close(struct sna *sna, ScreenPtr pScreen) { }
 #endif
 void sna_dri_pixmap_update_bo(struct sna *sna, PixmapPtr pixmap);
 
-extern bool sna_crtc_set_sprite_rotation(xf86CrtcPtr crtc, uint32_t rotation);
+extern bool sna_crtc_set_sprite_rotation(xf86CrtcPtr crtc, XvPortPtr port, uint32_t rotation);
 extern int sna_crtc_to_pipe(xf86CrtcPtr crtc);
-extern uint32_t sna_crtc_to_sprite(xf86CrtcPtr crtc);
+extern uint32_t sna_crtc_to_sprite(xf86CrtcPtr crtc, XvPortPtr port);
 extern uint32_t sna_crtc_id(xf86CrtcPtr crtc);
 
 CARD32 sna_format_for_depth(int depth);
src/sna/sna_display.c +80 -26

226 lines not on this page · raw message

src/sna/sna_video_sprite.c +48 -39

134 lines not on this page · raw message

Signature · 1 line
1.9.0