Merge branch 'master' of github.com:bkaradzic/bgfx
This commit is contained in:
commit
fd2fbc6a8b
@ -44,13 +44,13 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
|
||||
}
|
||||
|
||||
void
|
||||
_mesa_shader_debug(struct gl_context *, GLenum, GLuint *id,
|
||||
_mesa_shader_debug(struct gl_context *, GLenum, GLuint *,
|
||||
const char *, int)
|
||||
{
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
_mesa_error_no_memory(const char *caller)
|
||||
_mesa_error_no_memory(const char *)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -118,6 +118,7 @@ namespace entry
|
||||
{ entry::Key::F3, entry::Modifier::None, 1, cmd, "graphics wireframe" },
|
||||
{ entry::Key::F4, entry::Modifier::None, 1, cmd, "graphics hmd" },
|
||||
{ entry::Key::F4, entry::Modifier::LeftShift, 1, cmd, "graphics hmdrecenter" },
|
||||
{ entry::Key::F4, entry::Modifier::LeftCtrl, 1, cmd, "graphics hmddbg" },
|
||||
{ entry::Key::F7, entry::Modifier::None, 1, cmd, "graphics vsync" },
|
||||
{ entry::Key::F8, entry::Modifier::None, 1, cmd, "graphics msaa" },
|
||||
{ entry::Key::Print, entry::Modifier::None, 1, cmd, "graphics screenshot" },
|
||||
|
@ -157,7 +157,11 @@ struct Input
|
||||
|
||||
void removeBindings(const char* _name)
|
||||
{
|
||||
m_inputBindingsMap.erase(m_inputBindingsMap.find(_name));
|
||||
InputBindingMap::iterator it = m_inputBindingsMap.find(_name);
|
||||
if (it != m_inputBindingsMap.end() )
|
||||
{
|
||||
m_inputBindingsMap.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
void process(const InputBinding* _bindings)
|
||||
|
@ -2223,7 +2223,12 @@ namespace bgfx
|
||||
&& BGFX_CHUNK_MAGIC_FSH != magic
|
||||
&& BGFX_CHUNK_MAGIC_VSH != magic)
|
||||
{
|
||||
BX_WARN(false, "Invalid shader signature! 0x%08x.", magic);
|
||||
BX_WARN(false, "Invalid shader signature! %c%c%c%d."
|
||||
, ( (uint8_t*)&magic)[0]
|
||||
, ( (uint8_t*)&magic)[1]
|
||||
, ( (uint8_t*)&magic)[2]
|
||||
, ( (uint8_t*)&magic)[3]
|
||||
);
|
||||
ShaderHandle invalid = BGFX_INVALID_HANDLE;
|
||||
return invalid;
|
||||
}
|
||||
|
71
src/ovr.cpp
71
src/ovr.cpp
@ -12,6 +12,7 @@ namespace bgfx
|
||||
OVR::OVR()
|
||||
: m_hmd(NULL)
|
||||
, m_initialized(false)
|
||||
, m_debug(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -39,6 +40,46 @@ namespace bgfx
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_debug)
|
||||
{
|
||||
switch (_config->Header.API)
|
||||
{
|
||||
#if BGFX_CONFIG_RENDERER_DIRECT3D9
|
||||
case ovrRenderAPI_D3D9:
|
||||
{
|
||||
ovrD3D9ConfigData* data = (ovrD3D9ConfigData*)_config;
|
||||
m_rtSize = data->Header.RTSize;
|
||||
}
|
||||
break;
|
||||
#endif // BGFX_CONFIG_RENDERER_DIRECT3D9
|
||||
|
||||
#if BGFX_CONFIG_RENDERER_DIRECT3D11
|
||||
case ovrRenderAPI_D3D11:
|
||||
{
|
||||
ovrD3D11ConfigData* data = (ovrD3D11ConfigData*)_config;
|
||||
m_rtSize = data->Header.RTSize;
|
||||
}
|
||||
break;
|
||||
#endif // BGFX_CONFIG_RENDERER_DIRECT3D11
|
||||
|
||||
#if BGFX_CONFIG_RENDERER_OPENGL
|
||||
case ovrRenderAPI_OpenGL:
|
||||
{
|
||||
ovrGLConfigData* data = (ovrGLConfigData*)_config;
|
||||
m_rtSize = data->Header.RTSize;
|
||||
}
|
||||
break;
|
||||
#endif // BGFX_CONFIG_RENDERER_OPENGL
|
||||
|
||||
default:
|
||||
BX_CHECK(false, "You should not be here!");
|
||||
break;
|
||||
}
|
||||
|
||||
m_debug = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!_debug)
|
||||
{
|
||||
m_hmd = ovrHmd_Create(0);
|
||||
@ -67,6 +108,7 @@ namespace bgfx
|
||||
| ovrDistortionCap_Vignette
|
||||
| ovrDistortionCap_TimeWarp
|
||||
| ovrDistortionCap_Overdrive
|
||||
| ovrDistortionCap_NoRestore
|
||||
, eyeFov
|
||||
, m_erd
|
||||
);
|
||||
@ -135,6 +177,8 @@ ovrError:
|
||||
ovrHmd_Destroy(m_hmd);
|
||||
m_hmd = NULL;
|
||||
}
|
||||
|
||||
m_debug = false;
|
||||
}
|
||||
|
||||
bool OVR::swap()
|
||||
@ -197,15 +241,32 @@ ovrError:
|
||||
eye.pixelsPerTanAngle[0] = erd.PixelsPerTanAngleAtCenter.x;
|
||||
eye.pixelsPerTanAngle[1] = erd.PixelsPerTanAngleAtCenter.y;
|
||||
}
|
||||
|
||||
_hmd.width = uint16_t(m_rtSize.w);
|
||||
_hmd.height = uint16_t(m_rtSize.h);
|
||||
}
|
||||
else
|
||||
{
|
||||
_hmd.width = 0;
|
||||
_hmd.height = 0;
|
||||
for (int ii = 0; ii < 2; ++ii)
|
||||
{
|
||||
_hmd.eye[ii].rotation[0] = 0.0f;
|
||||
_hmd.eye[ii].rotation[1] = 0.0f;
|
||||
_hmd.eye[ii].rotation[2] = 0.0f;
|
||||
_hmd.eye[ii].rotation[3] = 1.0f;
|
||||
_hmd.eye[ii].translation[0] = 0.0f;
|
||||
_hmd.eye[ii].translation[1] = 0.0f;
|
||||
_hmd.eye[ii].translation[2] = 0.0f;
|
||||
_hmd.eye[ii].fov[0] = 1.32928634f;
|
||||
_hmd.eye[ii].fov[1] = 1.32928634f;
|
||||
_hmd.eye[ii].fov[2] = 0 == ii ? 1.05865765f : 1.09236801f;
|
||||
_hmd.eye[ii].fov[3] = 0 == ii ? 1.09236801f : 1.05865765f;
|
||||
_hmd.eye[ii].viewOffset[0] = 0 == ii ? 0.0355070010f : -0.0375000015f;
|
||||
_hmd.eye[ii].viewOffset[1] = 0.0f;
|
||||
_hmd.eye[ii].viewOffset[2] = 0 == ii ? 0.00150949787f : -0.00150949787f;
|
||||
_hmd.eye[ii].pixelsPerTanAngle[0] = 1;
|
||||
_hmd.eye[ii].pixelsPerTanAngle[1] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
_hmd.width = uint16_t(m_rtSize.w);
|
||||
_hmd.height = uint16_t(m_rtSize.h);
|
||||
}
|
||||
|
||||
} // namespace bgfx
|
||||
|
11
src/ovr.h
11
src/ovr.h
@ -44,6 +44,11 @@ namespace bgfx
|
||||
return NULL != m_hmd;
|
||||
}
|
||||
|
||||
bool isDebug() const
|
||||
{
|
||||
return m_debug;
|
||||
}
|
||||
|
||||
void init();
|
||||
void shutdown();
|
||||
|
||||
@ -68,6 +73,7 @@ namespace bgfx
|
||||
ovrSizei m_rtSize;
|
||||
bool m_warning;
|
||||
bool m_initialized;
|
||||
bool m_debug;
|
||||
};
|
||||
|
||||
} // namespace bgfx
|
||||
@ -104,6 +110,11 @@ namespace bgfx
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isDebug() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool swap()
|
||||
{
|
||||
return false;
|
||||
|
@ -1833,9 +1833,9 @@ RENDERDOC_IMPORT
|
||||
void ovrPreReset()
|
||||
{
|
||||
#if BGFX_CONFIG_USE_OVR
|
||||
m_ovr.preReset();
|
||||
if (NULL != m_ovrRtv)
|
||||
{
|
||||
m_ovr.preReset();
|
||||
std::swap(m_ovrRtv, m_backBufferColor);
|
||||
std::swap(m_ovrDsv, m_backBufferDepthStencil);
|
||||
BX_CHECK(NULL == m_backBufferDepthStencil, "");
|
||||
@ -2952,7 +2952,7 @@ RENDERDOC_IMPORT
|
||||
Matrix4* mtxView[2] = { _render->m_view, mtxViewTmp[1] };
|
||||
Matrix4 mtxViewProj[2][BGFX_CONFIG_MAX_VIEWS];
|
||||
|
||||
const bool hmdEnabled = m_ovr.isEnabled();
|
||||
const bool hmdEnabled = m_ovr.isEnabled() || m_ovr.isDebug();
|
||||
_render->m_hmdEnabled = hmdEnabled;
|
||||
|
||||
if (hmdEnabled)
|
||||
|
@ -2017,9 +2017,9 @@ namespace bgfx
|
||||
void ovrPreReset()
|
||||
{
|
||||
#if BGFX_CONFIG_USE_OVR
|
||||
m_ovr.preReset();
|
||||
if (m_ovr.isEnabled() )
|
||||
{
|
||||
m_ovr.preReset();
|
||||
GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, 0) );
|
||||
GL_CHECK(glDeleteFramebuffers(1, &m_msaaBackBufferFbo) );
|
||||
m_msaaBackBufferFbo = m_ovrFbo;
|
||||
@ -4121,7 +4121,7 @@ namespace bgfx
|
||||
Matrix4* mtxView[2] = { _render->m_view, mtxViewTmp[1] };
|
||||
Matrix4 mtxViewProj[2][BGFX_CONFIG_MAX_VIEWS];
|
||||
|
||||
const bool hmdEnabled = m_ovr.isEnabled();
|
||||
const bool hmdEnabled = m_ovr.isEnabled() || m_ovr.isDebug();
|
||||
_render->m_hmdEnabled = hmdEnabled;
|
||||
|
||||
if (hmdEnabled)
|
||||
|
Loading…
Reference in New Issue
Block a user