mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Fail D3D12 amd shader extensions test if UAV bind slot isn't supported
* UE5 checks for this feature so we'll also check for it.
This commit is contained in:
@@ -178,7 +178,7 @@ void main(uint3 threadID : SV_DispatchThreadID)
|
||||
}
|
||||
|
||||
ID3D12Device *ags_devHandle = NULL;
|
||||
CreateExtendedDevice(&ags_devHandle);
|
||||
CreateExtendedDevice(&ags_devHandle, NULL);
|
||||
|
||||
// once we've checked that we can create an extension device on an adapter, we can release it
|
||||
// and return ready to run
|
||||
@@ -193,7 +193,8 @@ void main(uint3 threadID : SV_DispatchThreadID)
|
||||
Avail = "AGS couldn't create device on any selected adapter.";
|
||||
}
|
||||
|
||||
void CreateExtendedDevice(ID3D12Device * *ags_devHandle)
|
||||
void CreateExtendedDevice(ID3D12Device * *ags_devHandle,
|
||||
AGSDX12ReturnedParams::ExtensionsSupported * exts)
|
||||
{
|
||||
std::vector<IDXGIAdapterPtr> adapters = GetAdapters();
|
||||
|
||||
@@ -224,6 +225,8 @@ void main(uint3 threadID : SV_DispatchThreadID)
|
||||
else
|
||||
{
|
||||
*ags_devHandle = ret.pDevice;
|
||||
if(exts)
|
||||
*exts = ret.extensionsSupported;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -279,10 +282,18 @@ void main(uint3 threadID : SV_DispatchThreadID)
|
||||
// we don't use these directly, just copy them into the real device so we know that ags is the
|
||||
// one to destroy the last reference to the device
|
||||
ID3D12Device *ags_devHandle = NULL;
|
||||
CreateExtendedDevice(&ags_devHandle);
|
||||
AGSDX12ReturnedParams::ExtensionsSupported features = {};
|
||||
CreateExtendedDevice(&ags_devHandle, &features);
|
||||
|
||||
dev = ags_devHandle;
|
||||
|
||||
if(!features.UAVBindSlot || !features.intrinsics16 || !features.intrinsics19)
|
||||
{
|
||||
dev = NULL;
|
||||
TEST_ERROR("Couldn't create AMD device with required features");
|
||||
return 4;
|
||||
}
|
||||
|
||||
// recreate things we need on the new device
|
||||
PostDeviceCreate();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user