Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 3.2k
    • Issues 3.2k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1k
    • Merge requests 1k
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MesaMesa
  • mesamesa
  • Merge requests
  • !658

Disable GLX/EGL_EXT_buffer_age for lima

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Qiang Yu requested to merge yuq825/mesa:topic/buffer-age into master Apr 15, 2019
  • Overview 10
  • Commits 3
  • Pipelines 1
  • Changes 13

Mali Utgard GPU wants to disable this extension all the time and use EGL_KHR_partial_update instead.

Without knowing damage region first, some tile buffer based GPU like ARM Mali Utgard has to load whole render target to tile buffer before partitial update, then write them back. Expose this extension will mis-lead application to use it which will make performance worse for this kind of GPU. EGL_KHR_partial_update is better choice for this kind of GPU.

We have some discussion before:

  • https://lists.freedesktop.org/archives/mesa-dev/2018-July/199332.html
  • https://patchwork.freedesktop.org/series/45953/

There's a drirc config glx_disable_ext_buffer_age which is used by vmware driver to disable this extension for some application. But this way driver still need to implement the buffer reload case as the drirc config could be changed by user. This is not a problem for non-tile buffer GPUs which reserve buffer across swap is their default behavior, but for tile buffer GPUs like Mali Utgard, reserve/drop buffer need two different path. So these two options serve different needs.

As left user to decide whether to use this extension, unfortunately there's no API in these two extensions for user to know the cost of using this extension (whether need to reload whole buffer). So application will always use it when this extension is present.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: topic/buffer-age