From ec8ca8a40325bdc242d8980a476c137d083ed4b1 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 23 Oct 2019 15:08:40 +0200 Subject: [PATCH] [dxbc] Assume vec4 type for i/o vars not declared in signature Works around an ENB bug. --- src/dxbc/dxbc_compiler.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/dxbc/dxbc_compiler.cpp b/src/dxbc/dxbc_compiler.cpp index 3b8991245..25c455a08 100644 --- a/src/dxbc/dxbc_compiler.cpp +++ b/src/dxbc/dxbc_compiler.cpp @@ -7572,7 +7572,10 @@ namespace dxvk { default: { DxbcVectorType result; result.ctype = DxbcScalarType::Float32; - result.ccount = m_isgn->regMask(regIdx).minComponents(); + result.ccount = 4; + + if (m_isgn->findByRegister(regIdx)) + result.ccount = m_isgn->regMask(regIdx).minComponents(); return result; } } @@ -7606,7 +7609,10 @@ namespace dxvk { default: { DxbcVectorType result; result.ctype = DxbcScalarType::Float32; - result.ccount = m_osgn->regMask(regIdx).minComponents(); + result.ccount = 4; + + if (m_osgn->findByRegister(regIdx)) + result.ccount = m_osgn->regMask(regIdx).minComponents(); return result; } }