Merge pull request #1786 from Armada651/stereo-fixes

Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
This commit is contained in:
Ryan Houdek 2014-12-29 06:19:46 -06:00
commit df44b67e64
5 changed files with 5 additions and 7 deletions

View File

@ -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;

View File

@ -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"

View File

@ -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
{ {

View File

@ -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;