Search Issue Tracker

By Design

Votes

0

Found in

6000.0.48f1

6000.1.2f1

6000.2.0a10

Issue ID

UUM-105296

Regression

Yes

The Windows Build creates the D3D12 folder and the .dll file when D3D11 or Vulkan is selected

-

Reproduction steps:

1. Open the project “IN-100566_Build-D3D11-issue”
2. Build the project, File → Build Settings… → Build
3. Open the build directory
4. Observe the build directory

Expected result: The D3D12 folder and the .dll should not be present
Actual result: D3D12 folder and the .dll is present

Reproducible with: 2023.2.0b15, 6000.0.48f1, 6000.1.2f1, 6000.2.0a10
Not reproducible with: 2022.3.62f1, 2023.2.0b14

Reproducible on: Windows 11
Not reproducible on: MacOS (M1)

Note: Make sure the Windows Graphics API is selected as D3D11 or Vulkan. Edit → Project Settings… → Player → Auto Graphics API for Windows (unchecked) → Remove Direct3D12 or move Direct3D11 (or Vulkan) to the top

  1. Resolution Note:

    This is by design. If the D3D12 is in the list, the files must be copied. This is because the API list works so that if the first option fails, the seconds one is used, and so on. If the D3D12 is in the list at all, it must be supported, even if the fallback case is unlikely.

    The reason why the D3D12 is added even if the D3D12 is not in the list at all is a driver bug on some AMD devices. There is a global variable in the windows build defining where to find the Agility SDK if it is used. On those select AMD devices, the Agility SDK is searched for even in the case that another API is used.

    There are two things that can be done to work around the bug:
    1. Always include the Agility SDK files, or
    2. Have separate Windows builds for cases, where D3D12 is in the API list and for the cases where it is not. This would effectively mean having two builds, because the declaration of the global variable cannot be removed at runtime.

    The second option was considered impractically complicated, requiring build system changes and increasing build times.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.