Select Git revision
RWTHVRCluster.cpp
David Gilbert authored
RWTHVRCluster.cpp 2.11 KiB
#include "RWTHVRCluster.h"
#include "IVulkanDynamicRHI.h"
#define LOCTEXT_NAMESPACE "FRWTHVRClusterModule"
void FRWTHVRClusterModule::StartupModule()
{
ClusterConsole.Register();
if (FApp::CanEverRender())
{
#if PLATFORM_WINDOWS
TCHAR const* DynamicRHIModuleName = GetSelectedDynamicRHIModuleName(false);
#elif PLATFORM_LINUX
TCHAR const* DynamicRHIModuleName = TEXT("VulkanRHI");
#endif
if (FString("VulkanRHI") == FString(DynamicRHIModuleName))
{
TArray<ANSICHAR const*> const ExtensionsToAdd{VK_NV_PRESENT_BARRIER_EXTENSION_NAME};
TArray<ANSICHAR const*> const InstanceExtensionsToAdd{VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME};
IVulkanDynamicRHI::AddEnabledDeviceExtensionsAndLayers(ExtensionsToAdd, TArray<ANSICHAR const*>());
IVulkanDynamicRHI::AddEnabledInstanceExtensionsAndLayers({InstanceExtensionsToAdd}, TArray<ANSICHAR const*>());
}
/*
FCoreDelegates::OnPostEngineInit.AddLambda(
[]()
{
switch (GDynamicRHI->GetInterfaceType())
{
case ERHIInterfaceType::Vulkan:
FAVDevice::GetHardwareDevice()->SetContext<FVideoContextVulkan>(MakeShared<FVideoContextVulkan>(
GetIVulkanDynamicRHI()->RHIGetVkInstance(), GetIVulkanDynamicRHI()->RHIGetVkDevice(),
GetIVulkanDynamicRHI()->RHIGetVkPhysicalDevice(), [](char const* Name) -> PFN_vkVoidFunction
{ return (PFN_vkVoidFunction)GetIVulkanDynamicRHI()->RHIGetVkDeviceProcAddr(Name); }));
break;
#if PLATFORM_WINDOWS
case ERHIInterfaceType::D3D11:
FAVDevice::GetHardwareDevice()->SetContext<FVideoContextD3D11>(
MakeShared<FVideoContextD3D11>(GetID3D11DynamicRHI()->RHIGetDevice()));
break;
case ERHIInterfaceType::D3D12:
FAVDevice::GetHardwareDevice()->SetContext<FVideoContextD3D12>(
MakeShared<FVideoContextD3D12>(GetID3D12DynamicRHI()->RHIGetDevice(0)));
break;
#endif
default:
break;
}
FAVDevice::GetHardwareDevice()->SetContext<FVideoContextRHI>(MakeShared<FVideoContextRHI>());
});
*/
}
}
void FRWTHVRClusterModule::ShutdownModule() { ClusterConsole.Unregister(); }
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(FRWTHVRClusterModule, RWTHVRCluster)