diff --git a/src/Layers/xrRenderPC_GL/glResourceManager_Resources.cpp b/src/Layers/xrRenderPC_GL/glResourceManager_Resources.cpp index da799f856a7..974d9745bc7 100644 --- a/src/Layers/xrRenderPC_GL/glResourceManager_Resources.cpp +++ b/src/Layers/xrRenderPC_GL/glResourceManager_Resources.cpp @@ -197,6 +197,7 @@ SVS* CResourceManager::_CreateVS (LPCSTR _name) // TODO: OGL: HACK: Implement all shaders. Remove this for PS if (!file) { + fallback: string1024 tmp; xr_sprintf (tmp, "OGL: %s is missing. Replace with stub_default.vs", cname); Msg (tmp); @@ -217,6 +218,12 @@ SVS* CResourceManager::_CreateVS (LPCSTR _name) VERIFY(SUCCEEDED(_hr)); + if (!SUCCEEDED(_hr)) + { + Log("Can't create shader, replacing it with stub.."); + goto fallback; + } + // Parse constant, texture, sampler binding if (SUCCEEDED(_hr)) {