Skip to content
GitLab
Projects Groups 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
    • Contributors
    • Graph
    • Compare
  • Issues 3,085
    • Issues 3,085
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,018
    • Merge requests 1,018
  • 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

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • MesaMesa
  • mesamesa
  • Merge requests
  • !21057

Draft: vm_bind/execbuffer3 implementation for Iris and Anv

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Paulo Zanoni requested to merge pzanoni/mesa:upstream-vmbind into main Feb 02, 2023
  • Overview 10
  • Commits 42
  • Pipelines 2
  • Changes 20

The vm_bind feature has many utilities, including reducing CPU overhead and allowing the implementation of Vulkan Sparse bindings, which will enable more DirectX 12 games to work.

The Kernel team is working on an implementation for it, with many iterations posted to their mailing list:

  • https://cgit.freedesktop.org/drm/drm-tip/tree/Documentation/gpu/rfc/i915_vm_bind.rst
  • https://lists.freedesktop.org/archives/intel-gfx/2023-January/316417.html

This branch contains the Mesa implementation to use that interface. We probably shouldn't merge this yet since the Kernel team didn't merge their bits either, but we could (maybe I'd just need to create a separate header for the new interface).

This branch is not "final" or 100% tested yet. We do have a few known bugs and there are also some known improvements we can do to the codebase, but it mostly works and its final version will probably look very similar to what it is now. So please feel free to comment on the design.

Every patch that comes before WIP: drm-uapi/i915_drm.h: update the headers for vm_bind is prep work and can be considered for merging right now.

Running this branch on a Kernel without vm_bind should work 100% regression-free.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: upstream-vmbind