From 4f06dedae7b278a7add7a58c6b32be53a1b8d6e5 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 13 Oct 2020 10:20:35 +0100 Subject: [PATCH] Add query for whether extended instruction set exists --- renderdoc/driver/shaders/spirv/spirv_editor.cpp | 11 +++++++++++ renderdoc/driver/shaders/spirv/spirv_editor.h | 1 + 2 files changed, 12 insertions(+) diff --git a/renderdoc/driver/shaders/spirv/spirv_editor.cpp b/renderdoc/driver/shaders/spirv/spirv_editor.cpp index 4f03039cf..e536a426e 100644 --- a/renderdoc/driver/shaders/spirv/spirv_editor.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_editor.cpp @@ -280,6 +280,17 @@ void Editor::AddExecutionMode(const Operation &mode) addWords(offset, mode.size()); } +Id Editor::HasExtInst(const char *setname) +{ + for(auto it = extSets.begin(); it != extSets.end(); ++it) + { + if(it->second == setname) + return it->first; + } + + return Id(); +} + Id Editor::ImportExtInst(const char *setname) { for(auto it = extSets.begin(); it != extSets.end(); ++it) diff --git a/renderdoc/driver/shaders/spirv/spirv_editor.h b/renderdoc/driver/shaders/spirv/spirv_editor.h index 376c930f3..81c420020 100644 --- a/renderdoc/driver/shaders/spirv/spirv_editor.h +++ b/renderdoc/driver/shaders/spirv/spirv_editor.h @@ -99,6 +99,7 @@ public: void AddCapability(Capability cap); void AddExtension(const rdcstr &extension); void AddExecutionMode(const Operation &mode); + Id HasExtInst(const char *setname); Id ImportExtInst(const char *setname); Id AddType(const Operation &op); Id AddVariable(const Operation &op);