Mesa (master): clover/spirv: pass list of supported extensions to the translator

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 20 20:07:33 UTC 2020


Module: Mesa
Branch: master
Commit: adda97c98bfb5122a261561b3103023e7c21b381
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=adda97c98bfb5122a261561b3103023e7c21b381

Author: Karol Herbst <kherbst at redhat.com>
Date:   Sat Aug 15 21:49:05 2020 +0200

clover/spirv: pass list of supported extensions to the translator

Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Pierre Moreau <dev at pmoreau.org>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5038>

---

 src/gallium/frontends/clover/llvm/invocation.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
index 04db2f90e03..f7c0313be4d 100644
--- a/src/gallium/frontends/clover/llvm/invocation.cpp
+++ b/src/gallium/frontends/clover/llvm/invocation.cpp
@@ -316,7 +316,14 @@ namespace {
          std::min(static_cast<SPIRV::VersionNumber>(supported_versions.back()),
                   SPIRV::VersionNumber::MaximumVersion);
 
-      return SPIRV::TranslatorOpts(maximum_spirv_version);
+      SPIRV::TranslatorOpts::ExtensionsStatusMap spirv_extensions;
+      for (auto &ext : spirv::supported_extensions()) {
+         #define EXT(X) if (ext == #X) spirv_extensions.insert({ SPIRV::ExtensionID::X, true });
+         #include <LLVMSPIRVLib/LLVMSPIRVExtensions.inc>
+         #undef EXT
+      }
+
+      return SPIRV::TranslatorOpts(maximum_spirv_version, spirv_extensions);
    }
 #endif
 }



More information about the mesa-commit mailing list