remove dx12 mesh shader feature requirement

This commit is contained in:
jacob 2025-06-06 18:59:49 -05:00
parent 4fb1e0231b
commit 45afac951a

View File

@ -149,13 +149,9 @@ INTERNAL void dx12_init(struct sys_window *window)
}
hr = D3D12CreateDevice((IUnknown *)adapter, D3D_FEATURE_LEVEL_12_0, &IID_ID3D12Device, (void **)&device);
if (SUCCEEDED(hr)) {
D3D12_FEATURE_DATA_D3D12_OPTIONS7 features = ZI;
hr = ID3D12Device_CheckFeatureSupport(device, D3D12_FEATURE_D3D12_OPTIONS7, &features, sizeof(features));
if (SUCCEEDED(hr) && features.MeshShaderTier >= D3D12_MESH_SHADER_TIER_1) {
IDXGIAdapter1_Release(adapter);
adapter = NULL;
break;
}
IDXGIAdapter1_Release(adapter);
adapter = NULL;
break;
}
}
ID3D12Device_Release(device);
@ -167,11 +163,9 @@ INTERNAL void dx12_init(struct sys_window *window)
break;
}
}
/* TODO: Fall back to compute shaders if mesh shaders aren't supported */
if (!device) {
if (first_gpu_name.len > 0) {
struct string fmt = LIT("Device '%F' does not support DirectX 12_2. Ensure that your drivers are up to date.\n\n"
"Note that older GPUs such as those up to and including the GTX 1000 series, the RX 5000 series, and the Intel Xe-LP series do not support DirectX 12_2 features.");
struct string fmt = LIT("Could not initialize device '%F' with DirectX feature level 12_0. Ensure that the device is capable and drivers are up to date.");
error = string_format(scratch.arena, fmt, FMT_STR(first_gpu_name));
}
sys_panic(error);