Skip to content

D3D12: unconditional DISPATCH_MESH command signature crashes Intel driver during device creation #137

Description

@erdshd

In src/d3d12/d3d12-device.cpp, the Device constructor creates the mesh-shader indirect command signature unconditionally and is not guarded by a mesh-shader capability check (m_MeshletsSupported).

On GPUs that do not expose mesh-shader support, this call causes an access violation, aborting device creation.

Suggested fix:

if (m_MeshletsSupported)
{
    csDesc.ByteStride = 12;
    argDesc.Type = D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH;
    m_Context.device->CreateCommandSignature(&csDesc, nullptr, IID_PPV_ARGS(&m_Context.dispatchMeshIndirectSignature));
}

Hardware Infos:

Intel UHD Graphics (RaptorLake-S, iGPU of the i7-14700HX)
Driver Version 32.0.101.7085
Windows 11 Pro 10.0.26200 (build 26200)
no Agility SDK

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions