mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Handle vertex shader generation failures better.
Suspect that this is happening with the HW tesselation crash in KOF '96. Should help #14774
This commit is contained in:
parent
6af6e3c8c0
commit
9ca97dfa8e
1 changed files with 3 additions and 2 deletions
|
@ -676,9 +676,9 @@ Shader *ShaderManagerGLES::ApplyVertexShader(bool useHWTransform, bool useHWTess
|
|||
if (!vs) {
|
||||
// Vertex shader not in cache. Let's compile it.
|
||||
vs = CompileVertexShader(*VSID);
|
||||
if (vs->Failed()) {
|
||||
if (!vs || vs->Failed()) {
|
||||
auto gr = GetI18NCategory("Graphics");
|
||||
ERROR_LOG(G3D, "Shader compilation failed, falling back to software transform");
|
||||
ERROR_LOG(G3D, "Vertex shader generation failed, falling back to software transform");
|
||||
if (!g_Config.bHideSlowWarnings) {
|
||||
host->NotifyUserMessage(gr->T("hardware transform error - falling back to software"), 2.5f, 0xFF3030FF);
|
||||
}
|
||||
|
@ -728,6 +728,7 @@ LinkedShader *ShaderManagerGLES::ApplyFragmentShader(VShaderID VSID, Shader *vs,
|
|||
if (!fs) {
|
||||
// Fragment shader not in cache. Let's compile it.
|
||||
// Can't really tell if we succeeded since the compile is on the GPU thread later.
|
||||
// Could fail to generate, in which case we're kinda screwed.
|
||||
fs = CompileFragmentShader(FSID);
|
||||
fsCache_.Insert(FSID, fs);
|
||||
diskCacheDirty_ = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue