I’m targeting DX12 to use some features and use DX11 as a fallback. Is there a way to detect what DX version is currently us use? I want to gray out unavailable features in game settings
Did u find a solution? Looking for that, too.
From PixelStreaming Source code (engine plugin) :
In case link is broken slightly edited version (due to fact that e source code needs registered github account) here :
FString RHIName = GDynamicRHI->GetName();
if (RHIName == TEXT("Vulkan")) // Vulkan is crossplateform
{
if (IsRHIDeviceAMD())
// Vulkan + AMD
else if (IsRHIDeviceNVIDIA())
// Vulkan + Nvidia
}
#if PLATFORM_WINDOWS // needed because non-windows systems dont have dx libs and headers
else if (RHIName == TEXT("D3D11"))
{
if (IsRHIDeviceAMD())
// DX11+ AMD
else if (IsRHIDeviceNVIDIA())
// DX11+ Nvidia
}
else if (RHIName == TEXT("D3D12"))
{
if (IsRHIDeviceAMD())
// DX12+ AMD
else if (IsRHIDeviceNVIDIA())
// DX12+ Nvidia
}
#endif
UE_LOG(LogPixelStreaming, Error, TEXT("Current RHI %s is not supported in Pixel Streaming"), *RHIName);
return nullptr;
}
The nvidia / amd is not mandatory ofc but is used here for pixel streaming gpu-supported hardware video encoding and is also an interesting available feature !
Hope it helps !
Download Nvidia’s DLSS plugin. You only need the Streamline for this. Create a folder in your project folder called “Plugins”. Drag it into it and activate in Unreal. Delete it’s Intermediate folder or it won’t let you package to Windows. Installing it in the Engine’s folder, won’t let you package into Android. My experience though.
It has nodes that will give you plenty of information that are only available in C++. Well I can’t code, so. This is the easy way.
OS version, Nvidia driver version, Vulkan and DirectX support. It’s all there and it’s beautiful!