mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
Specify which games need vertex depth rounding instead of which ones don't.
Vertex depth rounding is a not-fully-accurate hack, and most games are better off with the extra depth precision of 24-bit Z than reducing it to a not-fully-accurate 16-bit. So let's only use it where necessary, like in Phantasy Star. See issue #8187.
This commit is contained in:
parent
03674fd571
commit
7e24801fc1
@ -45,7 +45,7 @@ void Compatibility::Clear() {
|
||||
}
|
||||
|
||||
void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
|
||||
CheckSetting(iniFile, gameID, "NoDepthRounding", flags_.NoDepthRounding);
|
||||
CheckSetting(iniFile, gameID, "VertexDepthRounding", flags_.VertexDepthRounding);
|
||||
CheckSetting(iniFile, gameID, "PixelDepthRounding", flags_.PixelDepthRounding);
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
// We already have the Action Replay-based cheat system for such use cases.
|
||||
|
||||
struct CompatFlags {
|
||||
bool NoDepthRounding;
|
||||
bool VertexDepthRounding;
|
||||
bool PixelDepthRounding;
|
||||
};
|
||||
|
||||
|
@ -478,7 +478,7 @@ void DIRECTX9_GPU::CheckGPUFeatures() {
|
||||
features |= GPU_SUPPORTS_TEXTURE_LOD_CONTROL;
|
||||
features |= GPU_PREFER_CPU_DOWNLOAD;
|
||||
|
||||
if (!PSP_CoreParameter().compat.flags().NoDepthRounding) {
|
||||
if (PSP_CoreParameter().compat.flags().VertexDepthRounding) {
|
||||
features |= GPU_ROUND_DEPTH_TO_16BIT;
|
||||
}
|
||||
|
||||
|
@ -557,7 +557,7 @@ void GLES_GPU::CheckGPUFeatures() {
|
||||
if ((!gl_extensions.IsGLES || gl_extensions.GLES3) && PSP_CoreParameter().compat.flags().PixelDepthRounding) {
|
||||
features |= GPU_ROUND_FRAGMENT_DEPTH_TO_16BIT;
|
||||
} else {
|
||||
if (!PSP_CoreParameter().compat.flags().NoDepthRounding) {
|
||||
if (PSP_CoreParameter().compat.flags().VertexDepthRounding) {
|
||||
features |= GPU_ROUND_DEPTH_TO_16BIT;
|
||||
}
|
||||
}
|
||||
|
@ -28,52 +28,14 @@
|
||||
# Issue numbers refer to issues on https://github.com/hrydgard/ppsspp/issues
|
||||
# ========================================================================================
|
||||
|
||||
[NoDepthRounding]
|
||||
# Fight Night Round 3
|
||||
# Our accurate rounding of depth to 16-bit precision appears to cause a regression
|
||||
# in this game. The game doesn't seem to need it, so let's turn it off.
|
||||
# Issue #8004
|
||||
ULES00270 = true
|
||||
ULUS10066 = true
|
||||
|
||||
# Ridge Racer
|
||||
# Our accurate rounding of depth to 16-bit precision appears to cause a regression
|
||||
# in this game. The game doesn't seem to need it, so let's turn it off.
|
||||
# Issue 8031
|
||||
UCAS40015 = true
|
||||
ULUS10001 = true
|
||||
UCKS45002 = true
|
||||
UCES00002 = true
|
||||
ULJS19002 = true
|
||||
UCKS45053 = true
|
||||
NPJH50140 = true
|
||||
|
||||
# Do the same for Ridge Racer 2, it's nearly the exact same game except more levels and cars.
|
||||
ULJS00080 = true
|
||||
UCES00422 = true
|
||||
NPJH50366 = true
|
||||
|
||||
# Same for Lost Heroes (JP).
|
||||
ULJS00489 = true
|
||||
NPJH50647 = true
|
||||
|
||||
# Summon Night 5 (JP). Issue #8181
|
||||
ULJS00553 = true
|
||||
NPJH50696 = true
|
||||
ULJS19096 = true
|
||||
|
||||
#MotorStorm Arctic Edge
|
||||
UCUS98743 = true
|
||||
UCES01250 = true
|
||||
UCAS40266 = true
|
||||
UCJS10104 = true
|
||||
NPJG00047 = true
|
||||
UCKS45124 = true
|
||||
|
||||
#Saigo no Yakusoku no Monogatari (JP)
|
||||
NPJH50416 = true
|
||||
UCAS40339 = true
|
||||
ULJM05860 = true
|
||||
[VertexDepthRounding]
|
||||
# Phantasy Star Portable needs depth rounding to 16-bit precision for text to show up.
|
||||
# It's enough to do it at the vertex granularity. #3777
|
||||
ULJM05309 = true
|
||||
ULUS10410 = true
|
||||
ULES01218 = true
|
||||
ULJM08023 = true
|
||||
ULES01218 = true
|
||||
|
||||
[PixelDepthRounding]
|
||||
# Heroes Phantasia requires pixel depth rounding.
|
||||
|
Loading…
Reference in New Issue
Block a user