On Tuesday, April 8th, 2025 at 18:40, Daniel Stone <dan...@fooishbar.org> wrote:
> > > 5. For a given colorop property, is it an invariant that the colorop > > > will only appear in one color pipeline at a time? (I believe so, but > > > this probably needs documenting and/or igt.) > > > > I don't really understand why that would matter to user-space. > > Plane A: COLOR_PIPELINE@123 = { 1D_CURVE@456 } > Plane B: COLOR_PIPELINE@789 = { 1D_CURVE@456 } > > If userspace wasn't defensive about this, it would program the curve > for 456 twice, and unless they were the same you'd get undesirable > results. > > The existing implementation is fine here, I think it just needs better > igt to codify the expectations we all have. Oh right, the same pipeline can definitely not be used on two different planes, because KMS properties are set on the colorop objects by user-space to configure the pipeline. > > > Either way, I suspect that clorop->plane is the wrong thing to do, and > > > that it maybe wants to be a list of planes in the drm_colorop_state? > > > > I don't think so, for a given plane, there can only be a single pipeline > > active at a time. > > Yeah, again that was just not having grasped that the colorop not > being derived from the plane was actually about allowing for it to be > attached to a single CRTC instead, rather than potentially multiple > planes. I have no concerns around this. > > As it stands, I've gone through the implementation pretty thoroughly, > as well as our use of it in Weston. I'm happy with how it looks for > pre-blend, and I'm even happier that the implementation is written to > apply easily to apply to post-blend CRTC pipelines. Sweet!