Skip to content

[4.5] Impossible to set the Directional Soft Shadow Filter Quality to Ultra on D3D12 (solved in 4.6) #113569

@DemonBunnyBon

Description

@DemonBunnyBon

Tested versions

  • Reproducible in 4.5.1.stable

System information

Godot v4.5.1.stable (f62fdbd) - Windows 11 (build 26200) - Multi-window, 1 monitor - Direct3D 12 (Forward+) - dedicated NVIDIA GeForce RTX 2060 (NVIDIA; 32.0.15.8157) - Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz (12 threads) - 23.92 GiB memory

Issue description

As the title states, trying to use Ultra Soft Shadow Filter Quality on Directional Shadows is impossible with D3D12 on Windows. Attempting to do so with either the project settings or at runtime through GDScript results in the following error:

patch_specialization_constant: Condition "int_value & (1 << 31)" is true. Returning: 0
 <C++ Source>  drivers/d3d12/rendering_shader_container_d3d12.cpp:106 @ patch_specialization_constant()
Image

Steps to reproduce

  • Set rendering/rendering_device/driver.windows to d3d12 in Project Settings.
  • Restart editor for the setting to apply.
  • Set rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality to Soft Ultra in Project Settings or use RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_ULTRA) at runtime.

Minimal reproduction project (MRP)

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions