On Thu, Apr 21, 2016 at 01:31:48PM -0400, Robert Foss wrote: > > > On 04/21/2016 10:50 AM, Daniel Vetter wrote: > >On Wed, Apr 20, 2016 at 10:59:45AM -0400, robert.foss@xxxxxxxxxxxxx wrote: > >>From: Robert Foss <robert.foss@xxxxxxxxxxxxx> > >> > >>Avoid overwriting planes with statically asigned indices > >>with planes that have dynamically assigned indices. > >> > >>Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxxxxx> > >>--- > >> lib/igt_kms.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >>diff --git a/lib/igt_kms.c b/lib/igt_kms.c > >>index 07fb73b..3f953ec 100644 > >>--- a/lib/igt_kms.c > >>+++ b/lib/igt_kms.c > >>@@ -1326,6 +1326,8 @@ void igt_display_init(igt_display_t *display, int drm_fd) > >> display->has_universal_planes = 1; > >> break; > >> default: > >>+ while (p == IGT_PLANE_PRIMARY || p == IGT_PLANE_CURSOR) > >>+ p++; > >What we might need to do is to actually make primary and cursor > >dynamically assigned. Since with most drivers that's the case that > >happens. Otoh we have a variable number of planes on i915 too, so not > >entirely sure now what's going on here ... > >-Daniel > Since PRIMARY and CURSOR planes are statically assigned and > that the other cases in this switch statement used the static > assignments, the loop simply makes sure the we don't overwrite > the PRIMARY or CURSOR plane. Well primary should be first, cursor last ... Are there drivers which register planes in a funny order that we need this? If so a comment would be good I think. -Daniel > > > >> plane = &pipe->planes[p]; > >> plane->index = p++; > >> break; > >>-- > >>2.5.0 > >> > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx