----- Original Message ----- > Many of us really want (and need) a way to set the whole display > configuration atomically, as well as test a global config. > > In talking with Rob and Alex here at ELC a bit, I think this may be > enough: > > diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h > index 2a2acda..2864b02 100644 > --- a/include/drm/drm_mode.h > +++ b/include/drm/drm_mode.h > @@ -157,6 +157,26 @@ struct drm_mode_get_plane_res { > __u32 count_planes; > }; > > +#define DRM_SET_CONFIG_TEST (1<<0) /* don't change the config, just test it for validity */ > + > +struct drm_mode_set_config { > + __u64 crtcs; > + __u64 crtc_fbs; > + __u64 crtc_xpos; /* array of x coords for crtcs */ > + __u64 crtc_ypos; /* array of y coords for crtcs */ > + __u32 count_crtcs; > + > + __u64 plane_sets; /* array of set_plane structs */ > + > + __u32 count_planes; > + > + __u64 connectors; > + __u64 connector_modes; > + __u32 count_connectors; How do you do mirroring? Why not just send down a array of drm_mode_crtc? > + > + __u32 flags; > +}; > + > #define DRM_MODE_ENCODER_NONE 0 > #define DRM_MODE_ENCODER_DAC 1 > #define DRM_MODE_ENCODER_TMDS 2 > > This allows you to bind a bunch of fbs to crtcs with independent > positions, as well as set a bunch of planes to specific fbs and > layouts. Finally, it lets you change the connector config at the > same time, with a flag to simply test a config instead of > actually setting it. > > Any comments? Do we also need to set gamma or other properties as > part of this? What about cursors? I would like to see properties added as well. Cheers, Jakob. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel