From b12e4fc59f93a70fc78b4efd381d3e2757507a68 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Mon, 5 Sep 2022 07:49:04 +0200 Subject: [PATCH] [dxvk] Check whether SparseResidency capability is used in a shader --- src/dxvk/dxvk_shader.cpp | 3 +++ src/dxvk/dxvk_shader.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/dxvk/dxvk_shader.cpp b/src/dxvk/dxvk_shader.cpp index ca12995fe..9bacd838f 100644 --- a/src/dxvk/dxvk_shader.cpp +++ b/src/dxvk/dxvk_shader.cpp @@ -139,6 +139,9 @@ namespace dxvk { || ins.arg(1) == spv::CapabilityShaderLayer) m_flags.set(DxvkShaderFlag::ExportsViewportIndexLayerFromVertexStage); + if (ins.arg(1) == spv::CapabilitySparseResidency) + m_flags.set(DxvkShaderFlag::UsesSparseResidency); + if (ins.arg(1) == spv::CapabilityFragmentFullyCoveredEXT) m_flags.set(DxvkShaderFlag::UsesFragmentCoverage); } diff --git a/src/dxvk/dxvk_shader.h b/src/dxvk/dxvk_shader.h index 4aa7b97c3..6e5a21057 100644 --- a/src/dxvk/dxvk_shader.h +++ b/src/dxvk/dxvk_shader.h @@ -31,6 +31,7 @@ namespace dxvk { ExportsStencilRef, ExportsViewportIndexLayerFromVertexStage, UsesFragmentCoverage, + UsesSparseResidency, }; using DxvkShaderFlags = Flags;