From cf15a43ee81e4e032c421d41ca2e459b3bb2f1be Mon Sep 17 00:00:00 2001 From: GPUCode Date: Wed, 24 Jan 2024 04:50:27 +0200 Subject: [PATCH] pica_core: Propagate output_mask to gs * Has been hw-tested to occur under the same conditions that other uniforms are shared --- src/video_core/pica/pica_core.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/video_core/pica/pica_core.cpp b/src/video_core/pica/pica_core.cpp index 1c9304090..cf7802f0f 100644 --- a/src/video_core/pica/pica_core.cpp +++ b/src/video_core/pica/pica_core.cpp @@ -254,6 +254,13 @@ void PicaCore::WriteInternalReg(u32 id, u32 value, u32 mask) { break; } + case PICA_REG_INDEX(vs.output_mask): + if (!regs.internal.pipeline.gs_unit_exclusive_configuration && + regs.internal.pipeline.use_gs == PipelineRegs::UseGS::No) { + regs.internal.gs.output_mask.Assign(value); + } + break; + case PICA_REG_INDEX(vs.bool_uniforms): vs_setup.WriteUniformBoolReg(regs.internal.vs.bool_uniforms.Value()); if (!regs.internal.pipeline.gs_unit_exclusive_configuration &&