From b8cbfcca8919be6f78a54f4f3c2f236e582bdd5c Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Wed, 23 Jul 2025 03:54:05 +0300 Subject: [PATCH] GPU: Fix VertexShaderOutputMask in non-accelerated draws (#787) --- src/core/PICA/gpu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/PICA/gpu.cpp b/src/core/PICA/gpu.cpp index f5d26784..e38f4416 100644 --- a/src/core/PICA/gpu.cpp +++ b/src/core/PICA/gpu.cpp @@ -138,7 +138,7 @@ void GPU::drawArrays(bool indexed) { if (config.accelerateShaders) { // If we are potentially going to use hw shaders, gather necessary to do vertex fetch, index buffering, etc on the GPU - // This includes parsing which vertices to upload, getting pointers to the index buffer data & vertex data, and so on + // This includes parsing which vertices to upload, getting pointers to the index buffer data & vertex data, and so on getAcceleratedDrawInfo(accel, indexed); } @@ -182,6 +182,7 @@ void GPU::drawArrays() { // We can have up to 16 attributes, each one consisting of 4 floats constexpr u32 maxAttrSizeInFloats = 16 * 4; + setVsOutputMask(regs[PICA::InternalRegs::VertexShaderOutputMask]); // Base address for vertex attributes // The vertex base is always on a quadword boundary because the PICA does weird alignment shit any time possible