Skip to content
Snippets Groups Projects
Commit 864ddc52 authored by David Gilbert's avatar David Gilbert :bug:
Browse files

feature(cave): Initial enabling of present barrier extension. Requires modified engine.

parent ec0a2b9c
No related branches found
No related tags found
No related merge requests found
......@@ -22,7 +22,7 @@
{
"Name": "RWTHVRCluster",
"Type": "Runtime",
"LoadingPhase": "Default",
"LoadingPhase": "PostConfigInit",
"WhitelistPlatforms": [
"Win64",
"Linux"
......
#include "RWTHVRCluster.h"
#include "IVulkanDynamicRHI.h"
#define LOCTEXT_NAMESPACE "FRWTHVRClusterModule"
void FRWTHVRClusterModule::StartupModule() { ClusterConsole.Register(); }
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(); }
......
......@@ -27,10 +27,17 @@ public class RWTHVRCluster : ModuleRules
"SlateCore",
"LiveLink",
"HeadMountedDisplay", // required for MotionControllerComp
"DisplayCluster"
"DisplayCluster",
"RenderCore"
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"VulkanRHI", "RHI", "Vulkan"
}
);
if (IsPluginEnabledForTarget("DTrackPlugin", base.Target))
{
PublicDependencyModuleNames.AddRange(
......@@ -42,10 +49,6 @@ public class RWTHVRCluster : ModuleRules
);
}
PrivateDependencyModuleNames.AddRange(
new string[] { }
);
DynamicallyLoadedModuleNames.AddRange(
new string[] { }
);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment