From e8353f565f764559a0cbda3a530a6c7325e09356 Mon Sep 17 00:00:00 2001 From: PatrickvL Date: Tue, 29 May 2018 17:13:40 +0200 Subject: [PATCH] D3D : Fix detection of unused registers in vertex shader recompiler - `declaredRegisters` wasn't zero-initialized, it's random contents lead to random vertex-shader conversion errors. --- src/CxbxKrnl/EmuD3D8/VertexShader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/EmuD3D8/VertexShader.cpp b/src/CxbxKrnl/EmuD3D8/VertexShader.cpp index 71eb05f28..674220239 100644 --- a/src/CxbxKrnl/EmuD3D8/VertexShader.cpp +++ b/src/CxbxKrnl/EmuD3D8/VertexShader.cpp @@ -2404,7 +2404,7 @@ extern HRESULT XTL::EmuRecompileVshFunction // Build an array of registers that are declared // This is used to remove instructions that haven't been declared // as they cause CreateVertexShader to fail - bool declaredRegisters[13]; + bool declaredRegisters[13] = { false }; DWORD* pDeclToken = pRecompiledDeclaration; do { DWORD regNum = *pDeclToken & X_D3DVSD_VERTEXREGMASK;