clover/llvm: Use the highest supported SPIR-V version (v4)
[mesa.git] / src / gallium / frontends / clover / spirv / invocation.cpp
index e4b1565288fbd4b0829e9a77878f48b1edaca8be..489bb62dde92a00d856eb74c7161f0755b3eecfb 100644 (file)
@@ -49,6 +49,12 @@ using namespace clover;
 #ifdef HAVE_CLOVER_SPIRV
 namespace {
 
+   uint32_t
+   make_spirv_version(uint8_t major, uint8_t minor) {
+      return (static_cast<uint32_t>(major) << 16u) |
+             (static_cast<uint32_t>(minor) << 8u);
+   }
+
    template<typename T>
    T get(const char *source, size_t index) {
       const uint32_t *word_ptr = reinterpret_cast<const uint32_t *>(source);
@@ -715,6 +721,11 @@ clover::spirv::supported_extensions() {
    };
 }
 
+std::vector<uint32_t>
+clover::spirv::supported_versions() {
+   return { make_spirv_version(1u, 0u) };
+}
+
 #else
 bool
 clover::spirv::is_valid_spirv(const std::vector<char> &/*binary*/,
@@ -748,4 +759,9 @@ std::unordered_set<std::string>
 clover::spirv::supported_extensions() {
    return {};
 }
+
+std::vector<uint32_t>
+clover::spirv::supported_versions() {
+   return {};
+}
 #endif