From 3e4e5191a8e3cd0b7e0a2bd9871233746d79ce01 Mon Sep 17 00:00:00 2001
From: Philip Rebohle <philip.rebohle@tu-dortmund.de>
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 88e833fc..186e593a 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<uint32_t, 3> 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());