Merge pull request #1786 from Armada651/stereo-fixes
Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
This commit is contained in:
commit
df44b67e64
|
@ -36,8 +36,8 @@ ID3D11GeometryShader* CopyGeometryShader = nullptr;
|
||||||
|
|
||||||
LinearDiskCache<GeometryShaderUid, u8> g_gs_disk_cache;
|
LinearDiskCache<GeometryShaderUid, u8> g_gs_disk_cache;
|
||||||
|
|
||||||
ID3D11GeometryShader* GeometryShaderCache::GetClearGeometryShader() { return (FramebufferManager::GetEFBLayers() > 1) ? ClearGeometryShader: nullptr; }
|
ID3D11GeometryShader* GeometryShaderCache::GetClearGeometryShader() { return (g_ActiveConfig.iStereoMode > 0) ? ClearGeometryShader: nullptr; }
|
||||||
ID3D11GeometryShader* GeometryShaderCache::GetCopyGeometryShader() { return (FramebufferManager::GetEFBLayers() > 1) ? CopyGeometryShader : nullptr; }
|
ID3D11GeometryShader* GeometryShaderCache::GetCopyGeometryShader() { return (g_ActiveConfig.iStereoMode > 0) ? CopyGeometryShader : nullptr; }
|
||||||
|
|
||||||
ID3D11Buffer* gscbuf = nullptr;
|
ID3D11Buffer* gscbuf = nullptr;
|
||||||
|
|
||||||
|
|
|
@ -400,7 +400,7 @@ void TextureCache::CompileShaders()
|
||||||
" gl_Position = vec4(rawpos*2.0-1.0, 0.0, 1.0);\n"
|
" gl_Position = vec4(rawpos*2.0-1.0, 0.0, 1.0);\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
const char *GProgram = FramebufferManager::GetEFBLayers() > 1 ?
|
const char *GProgram = g_ActiveConfig.iStereoMode > 0 ?
|
||||||
"layout(triangles) in;\n"
|
"layout(triangles) in;\n"
|
||||||
"layout(triangle_strip, max_vertices = 6) out;\n"
|
"layout(triangle_strip, max_vertices = 6) out;\n"
|
||||||
"in vec3 v_uv0[3];\n"
|
"in vec3 v_uv0[3];\n"
|
||||||
|
|
|
@ -56,7 +56,7 @@ void GeometryShaderManager::SetConstants()
|
||||||
float offset = (g_ActiveConfig.iStereoDepth / 1000.0f) * (g_ActiveConfig.iStereoDepthPercentage / 100.0f);
|
float offset = (g_ActiveConfig.iStereoDepth / 1000.0f) * (g_ActiveConfig.iStereoDepthPercentage / 100.0f);
|
||||||
constants.stereoparams[0] = g_ActiveConfig.bStereoSwapEyes ? offset : -offset;
|
constants.stereoparams[0] = g_ActiveConfig.bStereoSwapEyes ? offset : -offset;
|
||||||
constants.stereoparams[1] = g_ActiveConfig.bStereoSwapEyes ? -offset : offset;
|
constants.stereoparams[1] = g_ActiveConfig.bStereoSwapEyes ? -offset : offset;
|
||||||
constants.stereoparams[2] = g_ActiveConfig.iStereoConvergence * (g_ActiveConfig.iStereoConvergencePercent / 100.0f);
|
constants.stereoparams[2] = g_ActiveConfig.iStereoConvergence * (g_ActiveConfig.iStereoConvergencePercentage / 100.0f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -127,8 +127,6 @@ struct VideoConfig final
|
||||||
|
|
||||||
// Stereoscopy
|
// Stereoscopy
|
||||||
bool bStereoEFBMonoDepth;
|
bool bStereoEFBMonoDepth;
|
||||||
int iStereoSeparationPercent;
|
|
||||||
int iStereoConvergencePercent;
|
|
||||||
int iStereoDepthPercentage;
|
int iStereoDepthPercentage;
|
||||||
int iStereoConvergencePercentage;
|
int iStereoConvergencePercentage;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue