lib/kms: Add universal plane support (v2)

Add support for universal planes.  This involves revamping the existing
plane handling a bit to allow primary & cursor planes to come from the
DRM plane list, rather than always being manually added.

v2: Don't drop fixed ordering of internal plane list.  Primary will
    always be index 0, cursor will always be last in internal plane
    list.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
This commit is contained in:
Matt Roper
2014-06-30 16:44:26 -07:00
committed by Damien Lespiau
parent 82bc03f392
commit 794a9fd6bc
2 changed files with 257 additions and 134 deletions
+2
View File
@@ -126,6 +126,7 @@ typedef struct {
struct igt_pipe {
igt_display_t *display;
enum pipe pipe;
bool enabled;
#define IGT_MAX_PLANES 4
int n_planes;
igt_plane_t planes[IGT_MAX_PLANES];
@@ -149,6 +150,7 @@ struct igt_display {
unsigned long pipes_in_use;
igt_output_t *outputs;
igt_pipe_t pipes[I915_MAX_PIPES];
bool has_universal_planes;
};
/* set vt into graphics mode, required to prevent fbcon from interfering */