From 2b3d9aaf5c12562268c6366e29f8c159ec356bb5 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 1 Sep 2018 20:41:25 +0200 Subject: [PATCH] [dxvk] Remap spec constant ranges Keeping the numbers low will make debugging shaders easier. glslang seems to have an upper limit on spec constant IDs in place. --- src/dxvk/dxvk_shader.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/dxvk/dxvk_shader.h b/src/dxvk/dxvk_shader.h index e204ebc9..03b92abd 100644 --- a/src/dxvk/dxvk_shader.h +++ b/src/dxvk/dxvk_shader.h @@ -21,11 +21,13 @@ namespace dxvk { * implementation at pipeline compilation time. */ enum class DxvkSpecConstantId : uint32_t { - RasterizerSampleCount = 0x10000, - /// Special constant ranges that do not count /// towards the spec constant min/max values - ColorComponentMappings = 0x20000, + ColorComponentMappings = MaxNumResourceSlots, + + // Specialization constants for pipeline state + SpecConstantRangeStart = ColorComponentMappings + MaxNumRenderTargets * 4, + RasterizerSampleCount = SpecConstantRangeStart + 0, /// Lowest and highest known spec constant IDs SpecConstantIdMin = RasterizerSampleCount,