summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/translate_program.h
diff options
context:
space:
mode:
authorGravatar Matías Locatti2022-12-02 16:08:12 -0300
committerGravatar GitHub2022-12-02 16:08:12 -0300
commit9a5d8b356ac784fcfbdfaeecaea8b7e6f36f6898 (patch)
tree0ec82d6d1d694868d93d021cc78e55d07c151828 /src/shader_recompiler/frontend/maxwell/translate_program.h
parentMerge pull request #9348 from Morph1984/when-the-network-is-down (diff)
parentshader_recompiler: add gl_Layer translation GS for older hardware (diff)
downloadyuzu-9a5d8b356ac784fcfbdfaeecaea8b7e6f36f6898.tar.gz
yuzu-9a5d8b356ac784fcfbdfaeecaea8b7e6f36f6898.tar.xz
yuzu-9a5d8b356ac784fcfbdfaeecaea8b7e6f36f6898.zip
Merge pull request #9363 from liamwhite/gs
shader_recompiler: add gl_Layer translation GS for older hardware
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/translate_program.h')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate_program.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate_program.h b/src/shader_recompiler/frontend/maxwell/translate_program.h
index 02ede8c9c..497afe7cb 100644
--- a/src/shader_recompiler/frontend/maxwell/translate_program.h
+++ b/src/shader_recompiler/frontend/maxwell/translate_program.h
@@ -25,4 +25,13 @@ namespace Shader::Maxwell {
25 25
26void ConvertLegacyToGeneric(IR::Program& program, const RuntimeInfo& runtime_info); 26void ConvertLegacyToGeneric(IR::Program& program, const RuntimeInfo& runtime_info);
27 27
28// Maxwell v1 and older Nvidia cards don't support setting gl_Layer from non-geometry stages.
29// This creates a workaround by setting the layer as a generic output and creating a
30// passthrough geometry shader that reads the generic and sets the layer.
31[[nodiscard]] IR::Program GenerateGeometryPassthrough(ObjectPool<IR::Inst>& inst_pool,
32 ObjectPool<IR::Block>& block_pool,
33 const HostTranslateInfo& host_info,
34 IR::Program& source_program,
35 Shader::OutputTopology output_topology);
36
28} // namespace Shader::Maxwell 37} // namespace Shader::Maxwell