swrasterizer, gl_shader_gen: return 0.0 for Disabled texture unit 0

This commit is contained in:
wwylele 2018-06-30 11:36:39 +03:00
parent f9a89ff410
commit 4d4b833a00
2 changed files with 5 additions and 2 deletions

View File

@ -319,6 +319,8 @@ static std::string SampleTexture(const PicaFSConfig& config, unsigned texture_un
return "shadowTexture(texcoord0, texcoord0_w)";
case TexturingRegs::TextureConfig::ShadowCube:
return "shadowTextureCube(texcoord0, texcoord0_w)";
case TexturingRegs::TextureConfig::Disabled:
return "vec4(0.0)";
default:
LOG_CRITICAL(HW_GPU, "Unhandled texture type {:x}",
static_cast<int>(state.texture0_type));

View File

@ -361,9 +361,10 @@ static void ProcessTriangleInternal(const Vertex& v0, const Vertex& v1, const Ve
shadow_z = float24::FromFloat32(std::abs(tc0_w.ToFloat32()));
break;
}
case TexturingRegs::TextureConfig::Disabled:
continue; // skip this unit and continue to the next unit
default:
// TODO: Change to LOG_ERROR when more types are handled.
LOG_DEBUG(HW_GPU, "Unhandled texture type {:x}", (int)texture.config.type);
LOG_ERROR(HW_GPU, "Unhandled texture type {:x}", (int)texture.config.type);
UNIMPLEMENTED();
break;
}