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,064
    • Issues 3,064
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,012
    • Merge requests 1,012
  • 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.

Update #1:

Due to abusive users subverting our CI facilities to mine cryptocurrency, breaking out of the container sandbox in the process, we have been forced to take actions to limit the usage of the public runners to official projects only.

The policy will be enforced on 2023-03-23 (or before if we detect abuses).

Please see this issue for more context and to see if and how you are impacted.

  • MesaMesa
  • mesamesa
  • Merge requests
  • !18305

d3d12: Support using the Agility SDK

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jesse Natalie requested to merge jenatali/mesa:agility-sdk-d3d12 into main Aug 29, 2022
  • Overview 6
  • Commits 7
  • Pipelines 21
  • Changes 12

The DirectX12 Agility SDK is a fancy name for a redistributable D3D12. Since D3D is part of Windows, normally the only way to get new D3D features is to upgrade your Windows version... but we want to be able to take advantage of new features on older versions of Windows, like many D3D customers do. Normally, the Agility SDK is something that an app opts into: specifically, the primary .exe that hosts the process exports some static data to trigger the use of the redist D3D version.

There's two exceptions to that high-level design:

  1. When Windows is in developer mode, the Agility SDK can be dynamically enabled for a process, as long as no D3D device has already been created.
  2. A new mechanism was recently built to enable components like this GL driver to opt into a redist without impacting other components in the app.

Setting the global SDK version is pretty easy, but we only do it when environment variables are set. This will be used in CI in a future series. The rest of the series enables the use of ID3D12DeviceFactory, which is both the mechanism for using the component-level Agility SDK, but also can be useful even when using the global redist config.

There's also a couple small cleanup fixes in here that I happened to notice while implementing/debugging.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: agility-sdk-d3d12