Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • xserver xserver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 922
    • Issues 922
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 120
    • Merge requests 120
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • xorgxorg
  • xserverxserver
  • Merge requests
  • !24

Modesetting: Per-CRTC framebuffers to provide 32k framebuffers to everyone (and enable Tear-free support)

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Martin Roukala requested to merge mupuf/xserver:3x4k-master into master Sep 24, 2018
  • Overview 80
  • Commits 11
  • Pipelines 1
  • Changes 8

Hi everyone,

I have been working on removing the 8k-limit from the modesetting driver on Intel (our CRTC's maximum supported stride is 8k). With this patchset, we allow our users to have up to four 8k screens in a row (not that I would recommend it though). This work came because of a bug report requesting support for 3x4k). This turned out to become useless for Intel as Ville Syrjälä bumped the maximum stride to 32k in a kernel patch, but this feature is still beneficial for simpler drivers that do not want to pull out tricks in the kernel.

Since my solution is introducing per-CRTC shadow framebuffers, I decided to make it worth its while for Intel platforms (my employer) by adding support for another long-wanted feature: TearFree.

I tested the different scenarios and always got the right image, acceptable performance (there is always room for improvement though), and no crashes. It wasn't like that during the development though... In an attempt to test all the different codepaths, I also added an option to disable atomic modesetting support.

I hope you are as enthusiastic about it as me about these new tricks, and I am looking forward to checking out your reviews and testing results!

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: 3x4k-master