Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

D3D12 error on startup on Intel UHD Graphics 620 (caused by ID3D12CommandList::OMSetDepthBounds: Device does not support depth bounds test) #94235

Closed
alvinhochun opened this issue Jul 11, 2024 · 4 comments · Fixed by #94267

Comments

@alvinhochun
Copy link
Contributor

Tested versions

  • Reproducible on 4.3 beta 3

System information

Windows 10 - Intel UHD Graphics 620, driver version 31.0.101.2128 (date: 2024-05-03)

Issue description

The D3D12 driver just fails and crashes when run with the integrated Intel GPU. (Works fine with dedicated NVIDIA graphics.)

> Godot_v4.3-beta3_win64_console.exe --rendering-method mobile --rendering-driver d3d12
Godot Engine v4.3.beta3.official.82cedc83c - https://godotengine.org
D3D12 12_0 - Forward Mobile - Using Device #0: Intel - Intel(R) UHD Graphics 620
WARNING: PSO caching is not implemented yet in the Direct3D 12 driver.
     at: pipeline_cache_create (drivers/d3d12/rendering_device_driver_d3d12.cpp:4947)

ERROR: Close failed with error 0x80004005.
   at: (drivers/d3d12/rendering_device_driver_d3d12.cpp:2392)
ERROR: CreateRootSignature failed with error 0x887a0005.
   at: (drivers/d3d12/rendering_device_driver_d3d12.cpp:3812)
ERROR: Condition "!shader_id" is true. Returning: RID()
   at: shader_create_from_bytecode (servers/rendering/rendering_device.cpp:2688)
[...]

Debugging a local build shows this backtrace at the failing Close call:

RenderingDeviceDriverD3D12::command_buffer_end(this=0x000002687a381660, p_cmd_buffer=CommandBufferID @ 0x0000006ece3f7a68) at rendering_device_driver_d3d12.cpp:2392:2
RenderingDevice::_end_frame(this=0x000002687a380970) at rendering_device.cpp:5249:10
RenderingDevice::swap_buffers(this=0x000002687a380970) at rendering_device.cpp:5074:2
RendererCompositorRD::set_boot_image(this=0x000002687a580790, p_image=0x0000006ece3f7e38, p_color=0x0000006ece3f7e60, p_scale=false, p_use_filter=true) at renderer_compositor_rd.cpp:253:23
RenderingServerDefault::set_boot_image(this=0x00000268771dabc0, p1=0x0000006ece3f7e38, p2=0x0000006ece3f7e60, p3=false, p4=true) at rendering_server_default.h:1007:2
Main::setup_boot_logo() at main.cpp:3209:38
Main::setup2(p_show_boot_logo=true) at main.cpp:2912:4
Main::setup(execpath="D:\\...\\godot.windows.editor.dev.x86_64.exe", argc=4, argv=0x00000268772790a8, p_second_phase=true) at main.cpp:2461:10
widechar_main(argc=5, argv=0x0000026877260c10) at godot_windows.cpp:165:14
_main() at godot_windows.cpp:206:11
main(argc=5, argv=0x00000268771e3540) at godot_windows.cpp:225:9

Steps to reproduce

Run editor with --rendering-method mobile --rendering-driver d3d12 or --rendering-method forward_plus --rendering-driver d3d12

Minimal reproduction project (MRP)

N/A

@akien-mga
Copy link
Member

CC @RandomShaper @DarioSamo

@RandomShaper
Copy link
Member

Looks like something we do isn't supported by the GPU driver and we're failing to handle that gracefully. Can you run with --gpu-validation in addition and tell if it prints further info?

@alvinhochun
Copy link
Contributor Author

alvinhochun commented Jul 12, 2024

Doesn't look like it output anything extra. Here's the output with --gpu-validation --verbose just in case it tells anything:

> Godot_v4.3-beta3_win64_console.exe --rendering-method forward_plus --rendering-driver d3d12 --gpu-validation --verbose
Godot Engine v4.3.beta3.official.82cedc83c - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Devices:
  #0: Intel Intel(R) UHD Graphics 620 - Supported, Discrete
  #1: NVIDIA NVIDIA GeForce MX150 - Supported, Discrete
  #2: Microsoft Microsoft Basic Render Driver - Supported, CPU
- Shader:
  model: 6.5
- D3D12 Variable Rate Shading not supported
- D3D12 multiview supported:
  max view count: 4
- Relaxed casting not supported
- D3D12 16-bit ops supported: yes
D3D12 12_0 - Forward+ - Using Device #0: Intel - Intel(R) UHD Graphics 620
WARNING: PSO caching is not implemented yet in the Direct3D 12 driver.
     at: pipeline_cache_create (drivers/d3d12/rendering_device_driver_d3d12.cpp:4947)
Using "winink" pen tablet driver...
Shader 'CanvasSdfShaderRD' (group 0) SHA256: 92326c6a2efe01439e6ddc29a2600d32ffd9e1f04003fe8ba7846b8be1c26f13
Shader 'SkeletonShaderRD' (group 0) SHA256: c54f6658a735ab99fcc815f8bda7be1a0f7411da5d6862afbf8f836db8d81128
Shader 'SortShaderRD' (group 0) SHA256: 5043059082855dda695ec2a80270be37995bd49afd8f66c647532e1710e6618b
Shader 'ParticlesShaderRD' (group 0) SHA256: 393dddef90ee5670d2b932210e8ce6a9e80d6cc3fa48fd18ff7806cd07692d5f
Shader 'ParticlesCopyShaderRD' (group 0) SHA256: c64c2413eb9f51287167500de1b104bcb3943b19a4896591ec78a76510781684
Shader 'CanvasShaderRD' (group 0) SHA256: 26ce7e2d6f371b0b1819101356f021bb0b800babee581f38bf45e5b7b1fd74d9
Shader 'CanvasOcclusionShaderRD' (group 0) SHA256: fb7d7d3600ac2b37ca4113ccc6c28fd150c40de10b5a44f5906c42f25f5691fd
Shader 'ClusterRenderShaderRD' (group 0) SHA256: c54e913f225102c7fd4b50488fc3dfb9d940aa13ff1528a3d6afd80fdf3abbcd
Shader 'ClusterStoreShaderRD' (group 0) SHA256: a175c25d0c13115605b3961a8cc51ea0996ad3e0874a5280d183c97c064d2302
Shader 'ClusterDebugShaderRD' (group 0) SHA256: 59406d66ac6ca13e2087421c3b0a567f10c4fcb90c680a7bbd294e9e2a5e9d0c
Shader 'SceneForwardClusteredShaderRD' (group 0) SHA256: 892d32b502a6f2c8056d0602cba90a76ab4c979dbdf9fa8ce0d8ff29c6fa26fb
Shader 'SceneForwardClusteredShaderRD' (group 1) SHA256: 65c665643aa396ff581202b2a40a296ce1d2b675bd8d15a9399d9ef2d0c7f825
Shader 'SceneForwardClusteredShaderRD' (group 2) SHA256: b0ee5b97f7affde509a66266fd7c7d664160e2c6148dd565a040ae8dc9103dc4
Shader 'SceneForwardClusteredShaderRD' (group 3) SHA256: 8b6ca035de3711713bbb8f396153a93c9a39e6267855a05129db93421b047ca7
Shader 'BestFitNormalShaderRD' (group 0) SHA256: d79fbe30a351a68e15471df42624b9968f74f8de776d94013acfa85065429ec5
Shader 'ResolveShaderRD' (group 0) SHA256: a728e0d03ecaef4f8a1401632249fd1947cfb4a653c6f0fe0277f0df90ffd870
Shader 'TaaResolveShaderRD' (group 0) SHA256: af9ff1ca3188c948592342dfdd38528c8a0add444cfb5965287f68948316fa93
Shader 'Fsr2DepthClipPassShaderRD' (group 0) SHA256: 7db115f1c52ab32f5b4dae7fe31cd59afb0a9245c3e8e32f0832903db9a53f5c
Shader 'Fsr2ReconstructPreviousDepthPassShaderRD' (group 0) SHA256: 45cdaf017c34e477dd614f38a5e259275dca89a883f1806620a8ed7617ab96d5
Shader 'Fsr2LockPassShaderRD' (group 0) SHA256: 3b316944ba1ec0f957d23b1bc84bf6cbbb671684c460b88fb9f4d0f26d40cb07
Shader 'Fsr2AccumulatePassShaderRD' (group 0) SHA256: 3544ccee402d6a4c9c104e47eadc0aa9f1487ce3e8effbaa1cbbea40968a5526
Shader 'Fsr2RcasPassShaderRD' (group 0) SHA256: af988b939c06f9f7be02e6172b699ce37e3f4ac6f96e2aa16d0e32dcb04272a5
Shader 'Fsr2ComputeLuminancePyramidPassShaderRD' (group 0) SHA256: ed8ffb4dad241e0bba562770b1abdff0e65083014e189d44d9a912c4a285b987
Shader 'Fsr2AutogenReactivePassShaderRD' (group 0) SHA256: 625cf58b8185ba7b6cca9aec7210fa7acd835e191d4dcd8b4616e187ba6795c6
Shader 'Fsr2TcrAutogenPassShaderRD' (group 0) SHA256: db53e622bf85ed11513350feea6c46321136c6c4e3ec97e1e71c1cb4caee0939
Shader 'SsEffectsDownsampleShaderRD' (group 0) SHA256: df01b9db94a28023bc3cad1f4e065f941cfec125feb7ebde643256c3f4c111f9
Shader 'SsilShaderRD' (group 0) SHA256: c9e48de0dd0de282594229ad4bf2e3591bac0a953258ac146f26f15f00de4315
Shader 'SsilImportanceMapShaderRD' (group 0) SHA256: cbd0e1409f0b435f87cc44b1873cae456cc6e50ebd08a5e3025e1c3146b198b3
Shader 'SsilBlurShaderRD' (group 0) SHA256: 2d2610c7f246edaef0ba4cb4ebc9908651a3c7aab1417abfd335b1c5ded22824
Shader 'SsilInterleaveShaderRD' (group 0) SHA256: b10b83fe77c43af74fe64e2172cdd3ab14d5a440a1437b5a451e37ac899f3b22
Shader 'SsaoShaderRD' (group 0) SHA256: 2cc8efb7182a6ef430b1da4fa358deafe59913836c301b598dd43cea030c2b60
Shader 'SsaoImportanceMapShaderRD' (group 0) SHA256: fc5dc626c6fb9d41765da1d1cb9482ffe1bdb5a0a60e37a63c19f03054ee0fde
Shader 'SsaoBlurShaderRD' (group 0) SHA256: 1350186eb2198ce421dbb5c21162a6d34b3092097dc531cec6fe20f1574864d0
Shader 'SsaoInterleaveShaderRD' (group 0) SHA256: f10f425c7fa86e4f90149d64f021289d70fdfff13daba29e3b02fd3222d1a3cf
Shader 'ScreenSpaceReflectionScaleShaderRD' (group 0) SHA256: aea66046156c08ddae4a6d91c56ed9460441617111cc965771aa1b39f818c4f8
Shader 'ScreenSpaceReflectionShaderRD' (group 0) SHA256: de40a186bf50278240d265d4293822ce789f3473212a3e3249a62d6a2cd749ac
Shader 'ScreenSpaceReflectionFilterShaderRD' (group 0) SHA256: b876d2ea9d681d725aaa1e752f8998697206ef6ace76c061ceb9109cf101905f
Shader 'SubsurfaceScatteringShaderRD' (group 0) SHA256: 08f6acd8a4b6ab9be92f5994b4ea383b437da421a40a192d8187bf5342692a83
Shader 'SkyShaderRD' (group 0) SHA256: 0e1d4601952c45b6d79939cc4b066b9872f25a581aacc31c54269d5d2426a65a
Shader 'VoxelGiShaderRD' (group 0) SHA256: 6e0313d1582e620deb8d274de9f2bef40e8ad949de71f11a2aad61151940d281
Shader 'VoxelGiDebugShaderRD' (group 0) SHA256: 619e247557090eb21ae9b6fd45be0535fac9a98aa6f3b37ed09d6a2f3bc37109
Shader 'SdfgiPreprocessShaderRD' (group 0) SHA256: 46682808d074ab5030bd1850a01bc2b041817cbde33a0ea22735d93115b11434
Shader 'SdfgiDirectLightShaderRD' (group 0) SHA256: b6c9ed626ef35ff0884ce2cb900f48e11e28d8ac07f1c05fa5f949665674c2da
Shader 'SdfgiIntegrateShaderRD' (group 0) SHA256: 911c9d8aa232c743ca01611b0ef6d74ddd4a8f813d59d561b26cfde7deaf9f8a
Shader 'GiShaderRD' (group 0) SHA256: 79dea3a57eab6b3c6de96951430ae2a4e073e7b50085de7ecafea2f7b22bfc5a
Shader 'SdfgiDebugShaderRD' (group 0) SHA256: a892e71b8b28e520b0c49b8b41e8276e5a1e1335dd6081986e8d3cd45e658ff3
Shader 'SdfgiDebugProbesShaderRD' (group 0) SHA256: 7077de39a8c4a79c0d80ecfb88902cafa154ead4a9dfaf780f9dffd2b9bb15e1
Shader 'VolumetricFogShaderRD' (group 0) SHA256: d711998b719e7f3a143d5c64c99eacf89eb37bea4da83c1947f19715b1e89565
Shader 'VolumetricFogProcessShaderRD' (group 0) SHA256: f02ab5e6cf7df9de15b2f0265e301ab839f2f805e9173b58a60777cfa69ea232
Shader 'BokehDofShaderRD' (group 0) SHA256: 8b80d7e8adf22e5c62aca16d90867aafe9f4ccfde30a59fae837ba2a054bc0a7
Shader 'CopyShaderRD' (group 0) SHA256: 821b9568184f48eb854d578f11e491f4a34fe197e88bf43203f60efbbff2b3b2
Shader 'CopyToFbShaderRD' (group 0) SHA256: 21afadad1c6aa4d2001da1a04d5c7ab22ffafc2daf6ffd7fa4c9a9c035a8e634
Shader 'CubeToDpShaderRD' (group 0) SHA256: b067982123cc63d91eb1890a57dc5e2912ab64ef643dda1a1b7ece34b3cd5de2
Shader 'CubemapDownsamplerShaderRD' (group 0) SHA256: 79e97cc48974e3bdf856d1ecb72e56951d0f52d7f3984630c272f3107afeff20
Shader 'CubemapFilterShaderRD' (group 0) SHA256: 028d7bd10eda81cc2d55f3da904189ea066ffd34731128016d49209d7ef6a0ec
Shader 'CubemapRoughnessShaderRD' (group 0) SHA256: 20f43bb59fc5b3fe84a6054329c2081a90081cee69213f9fe014d081f5b990a4
Shader 'SpecularMergeShaderRD' (group 0) SHA256: 62fa4f141e70c366419a6cdb9eeb133524c14308c6af95b974b5e68b5a1c8f2c
Shader 'ShadowFrustumShaderRD' (group 0) SHA256: 578ce1fc1480c45781079792e407f8faa8c9562a6220112a5d9aa077a2e864fc
Shader 'MotionVectorsShaderRD' (group 0) SHA256: ef6809a9fe9ab0e269e03f9107f11e41cb72b23a2e283c37a1e0615174188ff2
Shader 'LuminanceReduceShaderRD' (group 0) SHA256: 7814eefbd2525d08164fddbfc2cfbb7ceb54a4668261b8b57ede475993ec4fb4
Shader 'TonemapShaderRD' (group 0) SHA256: b35a8fdce24be9f7c8b50c62d6e56ea506f2cde0a02e27bd96b2fb61f4a38fae
Shader 'FsrUpscaleShaderRD' (group 0) SHA256: 01069cedfbe62892ccb40535a9f176b138e7ac6b40c99bf194702c214ae25c8b
Shader 'BlitShaderRD' (group 0) SHA256: abb954e5f5ba38b3def6e95f495ec2badc037eda2145dae516cf6c41c9b32082
WASAPI: Activated output_device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 480
WASAPI: min_period_frames = 480
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms

Using swap chain flags: 0, sync interval: 1, present flags: 0
ERROR: Close failed with error 0x80004005.
   at: (drivers/d3d12/rendering_device_driver_d3d12.cpp:2392)
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
ERROR: CreateRootSignature failed with error 0x887a0005.
   at: (drivers/d3d12/rendering_device_driver_d3d12.cpp:3812)
ERROR: Condition "!shader_id" is true. Returning: RID()
   at: shader_create_from_bytecode (servers/rendering/rendering_device.cpp:2688)
[...]

(Snipped the rest of the errors again as they are all caused by the first E_FAIL anyway.)

@alvinhochun
Copy link
Contributor Author

alvinhochun commented Jul 12, 2024

Oh, the D3D12 debug output is sent through OutputDebugString, should've guessed that.

D3D12 ERROR: ID3D12CommandList::OMSetDepthBounds: Device does not support depth bounds test. [ STATE_SETTING ERROR #1043: SETDEPTHBOUNDS_INVALIDARGS]

at rendering_device_driver_d3d12.cpp:5342:19

Commented it out and the editor runs fine.

@alvinhochun alvinhochun changed the title D3D12 error on startup on Intel UHD Graphics 620 D3D12 error on startup on Intel UHD Graphics 620 (caused by ID3D12CommandList::OMSetDepthBounds: Device does not support depth bounds test) Jul 12, 2024
@AThousandShips AThousandShips added this to the 4.3 milestone Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants