Skip to content
Snippets Groups Projects

Reset some KMS CRTC properties

Merged Pekka Paalanen requested to merge pq/weston:mr/kmsgamma into main
1 unresolved thread

Weston does not actually use these KMS properties, but it does expect them to be pass-through in the KMS color pipeline.

Let's ensure they are pass-through.

The VRR property is similar, just ensure it's disabled.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Pekka Paalanen added 4 commits

    added 4 commits

    • 93446647 - backend-drm: reset gamma on legacy KMS
    • e6286436 - backend-drm: reset CRTC_DEGAMMA_LUT
    • d1910e8b - backend-drm: reset CRTC_CTM
    • b345f538 - backend-drm: reset CRTC_VRR_ENABLED

    Compare with previous version

  • Pekka Paalanen resolved all threads

    resolved all threads

  • Author Owner

    Use len instead of output->base.gamma_size repeatedly.

  • Daniel Stone
    Daniel Stone @daniels started a thread on commit 93446647
  • 636
    637 lut = calloc(len, sizeof(uint16_t));
    638 if (!lut)
    639 return;
    640
    641 /* Identity curve */
    642 for (i = 0; i < len; i++)
    643 lut[i] = 0xffff * i / (len - 1);
    644
    645 ret = drmModeCrtcSetGamma(output->device->drm.fd,
    646 output->crtc->crtc_id,
    647 len, lut, lut, lut);
    648 if (ret < 0 && ret != -EOPNOTSUPP && ret != -ENOSYS) {
    649 weston_log("%s failed for %s: %s\n", __func__,
    650 output->base.name, strerror(-ret));
    651 }
    • Comment on lines +645 to +651

      This never sets output->deprecated_gamma_is_set, so will call drmModeCrtcSetGamma every frame.

    • Author Owner

      That would be a slight abuse of deprecated_gamma_is_set, and when the deprecated gamma API drm_output_set_gamma() gets removed, deprecated_gamma_is_set will be removed as well.

      I think we need another boolean legacy_gamma_not_supported, but what signifies that? Both EOPNOTSUPP and ENOSYS?

    • Please register or sign in to reply
  • Daniel Stone
  • Pekka Paalanen added 5 commits

    added 5 commits

    • 44252f4c - backend-drm: reset CRTC_GAMMA_LUT
    • a9cf6c0e - backend-drm: reset gamma on legacy KMS
    • 6e398526 - backend-drm: reset CRTC_DEGAMMA_LUT
    • 8ebac92f - backend-drm: reset CRTC_CTM
    • e4ad3647 - backend-drm: reset CRTC_VRR_ENABLED

    Compare with previous version

  • Author Owner

    Addressed review comments: added legacy_gamma_not_supported flag, added doc and renamed to crtc_add_prop_zero_ok().

  • Pekka Paalanen added 42 commits

    added 42 commits

    • e4ad3647...5ffa1962 - 36 commits from branch wayland:main
    • 2a060094 - backend-drm: move *_add_prop() debug earlier
    • 4a02723e - backend-drm: reset CRTC_GAMMA_LUT
    • 2db8a0ca - backend-drm: reset gamma on legacy KMS
    • b34f4bc0 - backend-drm: reset CRTC_DEGAMMA_LUT
    • 33c6c6b8 - backend-drm: reset CRTC_CTM
    • 9e769872 - backend-drm: reset CRTC_VRR_ENABLED

    Compare with previous version

  • Author Owner

    Trivial rebase.

  • Pekka Paalanen mentioned in issue #467

    mentioned in issue #467

  • Author Owner

    @daniels, would you like to take another look?

  • Pekka Paalanen added 158 commits

    added 158 commits

    • 9e769872...771bd8ac - 152 commits from branch wayland:main
    • f42eb4b4 - backend-drm: move *_add_prop() debug earlier
    • 6a606f57 - backend-drm: reset CRTC_GAMMA_LUT
    • f23bf2f4 - backend-drm: reset gamma on legacy KMS
    • 39ce6b3e - backend-drm: reset CRTC_DEGAMMA_LUT
    • 188bfb99 - backend-drm: reset CRTC_CTM
    • 008955e3 - backend-drm: reset CRTC_VRR_ENABLED

    Compare with previous version

  • Author Owner

    Trivial rebase, trivially tested.

  • Daniel Stone approved this merge request

    approved this merge request

  • Daniel Stone added 133 commits

    added 133 commits

    • 008955e3...ec27b2a1 - 127 commits from branch wayland:main
    • dbce396c - backend-drm: move *_add_prop() debug earlier
    • debfeb30 - backend-drm: reset CRTC_GAMMA_LUT
    • 1acf69ac - backend-drm: reset gamma on legacy KMS
    • d1ca5f71 - backend-drm: reset CRTC_DEGAMMA_LUT
    • e0d267fb - backend-drm: reset CRTC_CTM
    • 40999363 - backend-drm: reset CRTC_VRR_ENABLED

    Compare with previous version

  • Daniel Stone enabled an automatic merge when the pipeline for 40999363 succeeds

    enabled an automatic merge when the pipeline for 40999363 succeeds

  • merged

  • Please register or sign in to reply
    Loading