[PATCH vkd3d 7/8] vkd3d: Add requirements for maxPerStageDescriptorUniformBuffers.

Józef Kucia joseph.kucia at gmail.com
Fri Sep 28 05:16:42 CDT 2018


From: Józef Kucia <jkucia at codeweavers.com>

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 include/vkd3d_d3d12.idl | 2 ++
 libs/vkd3d/device.c     | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl
index d647b48cbbe4..29f4ab3cbf47 100644
--- a/include/vkd3d_d3d12.idl
+++ b/include/vkd3d_d3d12.idl
@@ -30,6 +30,8 @@ const UINT D3D12_MAX_ROOT_COST = 64;
 const UINT D3D12_VIEWPORT_BOUNDS_MAX = 32767;
 const UINT D3D12_VIEWPORT_BOUNDS_MIN = -32768;
 
+const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
+
 const UINT D3D12_APPEND_ALIGNED_ELEMENT = 0xffffffff;
 cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA (1.0f)")
 cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_BLUE (1.0f)")
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index 3a9dad03ef91..69b6a30fe217 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -777,10 +777,14 @@ static void vkd3d_check_feature_level_11_requirements(const VkPhysicalDeviceLimi
 
     CHECK_MIN_REQUIREMENT(maxPushConstantsSize, D3D12_MAX_ROOT_COST * sizeof(uint32_t));
     CHECK_MIN_REQUIREMENT(maxComputeSharedMemorySize, D3D12_CS_TGSM_REGISTER_COUNT * sizeof(uint32_t));
+
     CHECK_MAX_REQUIREMENT(viewportBoundsRange[0], D3D12_VIEWPORT_BOUNDS_MIN);
     CHECK_MIN_REQUIREMENT(viewportBoundsRange[1], D3D12_VIEWPORT_BOUNDS_MAX);
     CHECK_MIN_REQUIREMENT(viewportSubPixelBits, 8);
 
+    CHECK_MIN_REQUIREMENT(maxPerStageDescriptorUniformBuffers,
+            D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT);
+
     CHECK_FEATURE(imageCubeArray);
     CHECK_FEATURE(independentBlend);
     CHECK_FEATURE(geometryShader);
-- 
2.16.4




More information about the wine-devel mailing list