From 3e4e5191a8e3cd0b7e0a2bd9871233746d79ce01 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 21 Dec 2017 16:28:42 +0100 Subject: [PATCH] [dxbc] Increased number of clip/cull distances Clip and cull distances can be defined as multi-component vectors in D3D11. We still need to figure out how to map them to the actuall cull distance array. --- src/dxbc/dxbc_compiler.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/dxbc/dxbc_compiler.cpp b/src/dxbc/dxbc_compiler.cpp index 88e833fc5..186e593a2 100644 --- a/src/dxbc/dxbc_compiler.cpp +++ b/src/dxbc/dxbc_compiler.cpp @@ -2379,7 +2379,6 @@ namespace dxvk { emitValueStore(ptr, value, mask); } break; - default: Logger::warn(str::format( "DxbcCompiler: Unhandled VS SV output: ", sv)); @@ -2706,12 +2705,12 @@ namespace dxvk { uint32_t DxbcCompiler::getPerVertexBlockId() { uint32_t t_f32 = m_module.defFloatType(32); uint32_t t_f32_v4 = m_module.defVectorType(t_f32, 4); - uint32_t t_f32_a2 = m_module.defArrayType(t_f32, m_module.constu32(2)); + uint32_t t_f32_a4 = m_module.defArrayType(t_f32, m_module.constu32(4)); std::array members; - members[PerVertex_Position] = t_f32_v4; - members[PerVertex_CullDist] = t_f32_a2; - members[PerVertex_ClipDist] = t_f32_a2; + members[PerVertex_Position] = t_f32_v4; + members[PerVertex_CullDist] = t_f32_a4; + members[PerVertex_ClipDist] = t_f32_a4; uint32_t typeId = m_module.defStructTypeUnique( members.size(), members.data());