vtn: support SpvCapabilitySparseResidency
authorRhys Perry <pendingchaos02@gmail.com>
Mon, 23 Nov 2020 14:14:57 +0000 (14:14 +0000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 6 Jan 2021 20:36:38 +0000 (20:36 +0000)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7774>

src/compiler/shader_info.h
src/compiler/spirv/spirv_to_nir.c

index 6663469..fb93491 100644 (file)
@@ -76,6 +76,7 @@ struct spirv_supported_capabilities {
    bool float_controls;
    bool shader_clock;
    bool shader_viewport_index_layer;
+   bool sparse_residency;
    bool stencil_export;
    bool storage_8bit;
    bool storage_16bit;
index fbe9d44..d5fe648 100644 (file)
@@ -4256,11 +4256,14 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
          break;
 
       case SpvCapabilityLinkage:
-      case SpvCapabilitySparseResidency:
          vtn_warn("Unsupported SPIR-V capability: %s",
                   spirv_capability_to_string(cap));
          break;
 
+      case SpvCapabilitySparseResidency:
+         spv_check_supported(sparse_residency, cap);
+         break;
+
       case SpvCapabilityMinLod:
          spv_check_supported(min_lod, cap);
          break;