Skip to content

Crash when trying to use D3D12 in a build that does not have Direct3D 12 support enabled #104988

Open
@Mostafa808

Description

@Mostafa808

Tested versions

  • Reproducible in: custom builds origin/4.3, origin/4.4, origin/master, compiled by SCons and visual studio with dev_build symbols.
  • Not Reproducible in: public official build 4.4.

System information

Windows 10

Issue description

A godot project was made in 4.3 official version on windows 11 I think. It was shared with me. The official godot 4.4 build is working fine. I mean it is not crashing on startup. But when I try to open the project with my custom build from godot source code. It crashes of rendering settings in project.godot. I think it was because it d3d12 driver in one of the settings:

[rendering]

rendering_device/driver.windows="d3d12"
textures/vram_compression/import_etc2_astc=true
textures/default_filters/anisotropic_filtering_level=0

Yes, I have directX 11 driver, I think, on my windows not directX12 but again because this was not originally created by me. I tried to debug the code from the main entry point and for some reasons in

rendering_server_default.cpp file
RenderingServerDefault::_init() function
RSG::rasterizer = RendererCompositor::create(); line

RendererCompositor *(*RendererCompositor::_create_func)() = nullptr;
bool RendererCompositor::low_end = false;

RendererCompositor *RendererCompositor::create() {
	return _create_func();
}

_create_func() returns null, actually it tries to access the memory at null resulting in memory access violation and the app is crashed.
I removed this line from project.godot and this issue was resolved for me.

rendering_device/driver.windows="d3d12"

[rendering]

textures/vram_compression/import_etc2_astc=true
textures/default_filters/anisotropic_filtering_level=0

I still think a setting in project.godot should not crash the custom build engine!
Like it should produce a warning or something.

Steps to reproduce

  1. on windows 10 compile using godot source using SCons for visual studio.
  2. scons platform=windows vsproj=yes dev_build=yes
  3. make project.godot has a driver.windows that does not exist/supported on your machine for your godot project.
  4. debug the custom editor on this project. It crashes on start for me.

Minimal reproduction project (MRP)

In my project.godot file:

[rendering]

rendering_device/driver.windows="d3d12"
textures/vram_compression/import_etc2_astc=true
textures/default_filters/anisotropic_filtering_level=0

I changed it to:

[rendering]

textures/vram_compression/import_etc2_astc=true
textures/default_filters/anisotropic_filtering_level=0

Now, the issue is solved for me.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions