Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
xserver
xserver
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 893
    • Issues 893
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 87
    • Merge Requests 87
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • xorg
  • xserverxserver
  • Merge Requests
  • !24

Open
Opened Sep 24, 2018 by Martin Peres@mupufDeveloper
  • Report abuse
Report abuse

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

  • Overview 58
  • 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
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: xorg/xserver!24
Source branch: 3x4k-master