Change GuardBand into compat hack.

This commit is contained in:
LunaMoo committed 2017-09-21 07:55:14 +02:00
1 parent 187120538e
commit 5904425b30
6 files changed
+33 -6

No files matched your search

+1
View File
@@ -60,6 +60,7 @@ void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
CheckSetting(iniFile, gameID, "ForceRangeDownload", &flags_.ForceRangeDownload);
CheckSetting(iniFile, gameID, "FlushAtStall", &flags_.FlushAtStall);
CheckSetting(iniFile, gameID, "Force04Download", &flags_.Force04Download);
CheckSetting(iniFile, gameID, "GuardBand", &flags_.GuardBand);
CheckSetting(iniFile, gameID, "RequireBufferedRendering", &flags_.RequireBufferedRendering);
CheckSetting(iniFile, gameID, "RequireBlockTransfer", &flags_.RequireBlockTransfer);
}
+1
View File
@@ -62,6 +62,7 @@ struct CompatFlags {
bool ForceRangeDownload;
bool FlushAtStall;
bool Force04Download;
bool GuardBand;
};
class IniFile;
+4 -2
View File
@@ -424,7 +424,8 @@ void GenerateVertexShaderHLSL(const ShaderID &id, char *buffer, ShaderLanguage l
}
}
if (lang != HLSL_DX9) {
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
}
WRITE(p, " Out.gl_Position = outPos;\n");
} else {
@@ -625,7 +626,8 @@ void GenerateVertexShaderHLSL(const ShaderID &id, char *buffer, ShaderLanguage l
WRITE(p, " float4 outPos = mul(viewPos, u_proj);\n");
}
}
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
WRITE(p, " Out.gl_Position = outPos;\n");
// TODO: Declare variables for dots for shade mapping if needed.
+4 -2
View File
@@ -469,7 +469,8 @@ void GenerateVertexShader(const ShaderID &id, char *buffer) {
WRITE(p, " vec4 outPos = u_proj * vec4(position.xyz, 1.0);\n");
}
}
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
WRITE(p, " gl_Position = outPos;\n");
} else {
// Step 1: World Transform / Skinning
@@ -666,7 +667,8 @@ void GenerateVertexShader(const ShaderID &id, char *buffer) {
} else {
WRITE(p, " vec4 outPos = u_proj * viewPos;\n");
}
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
WRITE(p, " gl_Position = outPos;\n");
// TODO: Declare variables for dots for shade mapping if needed.
+5 -2
View File
@@ -28,6 +28,7 @@
#include "base/stringutil.h"
#include "Common/Vulkan/VulkanLoader.h"
#include "Core/Config.h"
#include "Core/System.h"
#include "GPU/ge_constants.h"
#include "GPU/GPUState.h"
#include "GPU/Common/ShaderId.h"
@@ -329,7 +330,8 @@ bool GenerateVulkanGLSLVertexShader(const ShaderID &id, char *buffer, bool *uses
WRITE(p, " vec4 outPos = base.proj_mtx * vec4(position.xyz, 1.0);\n");
}
}
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
WRITE(p, " gl_Position = outPos;\n");
} else {
// Step 1: World Transform / Skinning
@@ -478,7 +480,8 @@ bool GenerateVulkanGLSLVertexShader(const ShaderID &id, char *buffer, bool *uses
} else {
WRITE(p, " vec4 outPos = base.proj_mtx * viewPos;\n");
}
WriteGuardBand(p);
if (PSP_CoreParameter().compat.flags().GuardBand)
WriteGuardBand(p);
WRITE(p, " gl_Position = outPos;\n");
// TODO: Declare variables for dots for shade mapping if needed.
+18
View File
@@ -252,6 +252,24 @@ ULJS00201 = true
# Bijin Tokei Portable not even a game, but needs it to load 2 miniatures, they will be low res, but better than black
NPJH00055 = true
[GuardBand]
# Cull out of bounds triangles that were not clipped
# Sangokushi IX with Power-Up Kit
ULJM05842 = true
NPJH50546 = true
ULJM06156 = true
# Driver '76
ULUS10235 = true
ULES00740 = true
# DTM Race Driver 2 / TOCA Race Driver 2: The Ultimate Racing Simulator / V8 Supercars 2
ULES00041 = true
ULES00040 = true
ULKS46009 = true
ULJM05160 = true
ULES00042 = true
ULJM05363 = true
# might also be useful for Outrun and Brave Story?
[RequireBufferedRendering]
# Warn the user that the game will not work and have issue, if buffered rendering is not enabled.
# Midnight Club: LA Remix