diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2022-05-20 23:18:23 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2022-06-24 18:09:53 -0500 |
| commit | cad1d6ce909eeca6820444b09d9bf3ae9c6c7bc4 (patch) | |
| tree | 1349d0e0c167a9494eda04c032793b3bbec0812f /Source/Core/VideoCommon/GeometryShaderGen.cpp | |
| parent | 993fa3bf945b0effdf8d3ae841d1adb4b147ef1e (diff) | |
VideoCommon: fix support of stereoscopic rendering after moving d3d to SPIRV generation
Diffstat (limited to 'Source/Core/VideoCommon/GeometryShaderGen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/GeometryShaderGen.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp index 997e809860..10895ccf88 100644 --- a/Source/Core/VideoCommon/GeometryShaderGen.cpp +++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp @@ -123,9 +123,6 @@ ShaderCode GenerateGeometryShaderCode(APIType api_type, const ShaderHostConfig& GetInterpolationQualifier(msaa, ssaa, true, false), ShaderStage::Geometry); - if (stereo) - out.Write("\tflat int layer;\n"); - out.Write("}} ps;\n"); out.Write("void main()\n{{\n"); @@ -136,7 +133,9 @@ ShaderCode GenerateGeometryShaderCode(APIType api_type, const ShaderHostConfig& out.Write("\tVS_OUTPUT o;\n"); if (stereo) + { out.Write("\tuint layer : SV_RenderTargetArrayIndex;\n"); + } out.Write("\tfloat4 posout : SV_Position;\n"); out.Write("}};\n"); @@ -354,9 +353,12 @@ static void EmitVertex(ShaderCode& out, const ShaderHostConfig& host_config, if (stereo) { // Select the output layer - out.Write("\tps.layer = eye;\n"); if (api_type == APIType::OpenGL || api_type == APIType::Vulkan) out.Write("\tgl_Layer = eye;\n"); + else + { + out.Write("\tps.layer = eye;\n"); + } } if (api_type == APIType::OpenGL || api_type == APIType::Vulkan) |
