Home | History | Annotate | Download | only in planetest
      1 #ifndef __DEV_H_INCLUDED__
      2 #define __DEV_H_INCLUDED__
      3 
      4 #include <stdint.h>
      5 #include <xf86drmMode.h>
      6 
      7 struct sp_bo;
      8 struct sp_dev;
      9 
     10 struct sp_plane {
     11 	struct sp_dev *dev;
     12 	drmModePlanePtr plane;
     13 	struct sp_bo *bo;
     14 	int in_use;
     15 	uint32_t format;
     16 
     17 	/* Property ID's */
     18 	uint32_t crtc_pid;
     19 	uint32_t fb_pid;
     20 	uint32_t zpos_pid;
     21 	uint32_t crtc_x_pid;
     22 	uint32_t crtc_y_pid;
     23 	uint32_t crtc_w_pid;
     24 	uint32_t crtc_h_pid;
     25 	uint32_t src_x_pid;
     26 	uint32_t src_y_pid;
     27 	uint32_t src_w_pid;
     28 	uint32_t src_h_pid;
     29 };
     30 
     31 struct sp_connector {
     32 	drmModeConnectorPtr conn;
     33 	uint32_t crtc_id_pid;
     34 };
     35 
     36 struct sp_crtc {
     37 	drmModeCrtcPtr crtc;
     38 	int pipe;
     39 	int num_planes;
     40 	uint32_t mode_pid;
     41 	uint32_t active_pid;
     42 };
     43 
     44 struct sp_dev {
     45 	int fd;
     46 
     47 	int num_connectors;
     48 	struct sp_connector *connectors;
     49 
     50 	int num_encoders;
     51 	drmModeEncoderPtr *encoders;
     52 
     53 	int num_crtcs;
     54 	struct sp_crtc *crtcs;
     55 
     56 	int num_planes;
     57 	struct sp_plane *planes;
     58 };
     59 
     60 void parse_arguments(int argc, char *argv[], int *card, int *crtc);
     61 
     62 struct sp_dev *create_sp_dev(int card);
     63 void destroy_sp_dev(struct sp_dev *dev);
     64 
     65 #endif /* __DEV_H_INCLUDED__ */
     66