compute shaders
This commit is contained in:
@@ -68,6 +68,7 @@ public:
|
||||
virtual uint32_t GetHeadsetCount() override;
|
||||
virtual IXRHeadset *GetHeadset( uint32_t i ) override;
|
||||
|
||||
bool bHasXR = false;
|
||||
IRenderContext *m_pRenderContext;
|
||||
COpenXRHeadset m_headset;
|
||||
|
||||
@@ -80,7 +81,10 @@ void COpenXRManager::Init()
|
||||
PFN_xrInitializeLoaderKHR fnInitLoader = NULL;
|
||||
XrResult r = xrGetInstanceProcAddr(NULL, "xrInitializeLoaderKHR", (PFN_xrVoidFunction*)&fnInitLoader);
|
||||
if (r != XR_SUCCESS)
|
||||
Plat_FatalErrorFunc("Failed to load OpenXR");
|
||||
{
|
||||
V_printf("Failed to load OpenXR, we are not running OpenXR\n");
|
||||
return;
|
||||
}
|
||||
XrApplicationInfo appInfo = {};
|
||||
appInfo.apiVersion = XR_API_VERSION_1_1;
|
||||
V_strncpy(appInfo.applicationName, "funny", XR_MAX_APPLICATION_NAME_SIZE);
|
||||
@@ -106,7 +110,10 @@ void COpenXRManager::Init()
|
||||
createInfo.enabledApiLayerNames = layers;
|
||||
r = xrCreateInstance(&createInfo, &m_instance);
|
||||
if (r != XR_SUCCESS)
|
||||
Plat_FatalErrorFunc("xrCreateInstance\n");
|
||||
{
|
||||
V_printf("xrCreateInstance failed, we are not running OpenXR\n");
|
||||
return;
|
||||
}
|
||||
|
||||
m_headset.m_pManager = this;
|
||||
m_headset.Init();
|
||||
@@ -116,6 +123,8 @@ void COpenXRManager::Init()
|
||||
xrGetInstanceProperties(m_instance, &props);
|
||||
V_printf("OpenXR runtime: %s\n", props.runtimeName);
|
||||
|
||||
bHasXR = true;
|
||||
|
||||
}
|
||||
|
||||
void COpenXRManager::Shutdown()
|
||||
@@ -124,21 +133,25 @@ void COpenXRManager::Shutdown()
|
||||
}
|
||||
void COpenXRManager::Frame()
|
||||
{
|
||||
m_headset.Frame();
|
||||
if (bHasXR)
|
||||
m_headset.Frame();
|
||||
}
|
||||
|
||||
void COpenXRManager::PreRender()
|
||||
{
|
||||
m_headset.BeforeRender();
|
||||
if (bHasXR)
|
||||
m_headset.BeforeRender();
|
||||
}
|
||||
|
||||
void COpenXRManager::PostRender()
|
||||
{
|
||||
m_headset.AfterRender();
|
||||
if (bHasXR)
|
||||
m_headset.AfterRender();
|
||||
}
|
||||
void COpenXRManager::CopySwapchain()
|
||||
{
|
||||
m_headset.CopySwapchain();
|
||||
if (bHasXR)
|
||||
m_headset.CopySwapchain();
|
||||
|
||||
}
|
||||
|
||||
@@ -488,6 +501,9 @@ IXRHeadset *COpenXRManager::GetHeadset( uint32_t i )
|
||||
{
|
||||
if (i)
|
||||
return 0;
|
||||
if(bHasXR)
|
||||
return 0;
|
||||
|
||||
return &m_headset;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user