Mesa (main): spirv_to_dxil: expose version number

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 5 20:44:15 UTC 2021


Module: Mesa
Branch: main
Commit: 92b0cf8e77369a8789dc181a915170db87027e3a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92b0cf8e77369a8789dc181a915170db87027e3a

Author: Michael Tang <tangm at microsoft.com>
Date:   Thu Aug  5 12:55:19 2021 -0700

spirv_to_dxil: expose version number

Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12227>

---

 src/microsoft/spirv_to_dxil/meson.build       | 11 +++++++----
 src/microsoft/spirv_to_dxil/spirv_to_dxil.c   | 13 +++++++++++++
 src/microsoft/spirv_to_dxil/spirv_to_dxil.def |  1 +
 src/microsoft/spirv_to_dxil/spirv_to_dxil.h   |  3 +++
 4 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/microsoft/spirv_to_dxil/meson.build b/src/microsoft/spirv_to_dxil/meson.build
index c76d63c7f23..78d33c5825d 100644
--- a/src/microsoft/spirv_to_dxil/meson.build
+++ b/src/microsoft/spirv_to_dxil/meson.build
@@ -21,10 +21,13 @@
 
 libspirv_to_dxil = both_libraries(
   'spirv_to_dxil',
-  files(
-    'spirv_to_dxil.c',
-    'spirv_to_dxil.h',
-  ),
+  [
+    files(
+      'spirv_to_dxil.c',
+      'spirv_to_dxil.h',
+    ),
+    sha1_h,
+  ],
   vs_module_defs : 'spirv_to_dxil.def',
   dependencies : [idep_nir, idep_libdxil_compiler],
   include_directories : [inc_include, inc_src, inc_compiler, inc_gallium],
diff --git a/src/microsoft/spirv_to_dxil/spirv_to_dxil.c b/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
index f010007d950..b7f43144386 100644
--- a/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
+++ b/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
@@ -28,6 +28,8 @@
 #include "spirv/nir_spirv.h"
 #include "util/blob.h"
 
+#include "git_sha1.h"
+
 bool
 spirv_to_dxil(const uint32_t *words, size_t word_count,
               struct dxil_spirv_specialization *specializations,
@@ -173,3 +175,14 @@ spirv_to_dxil_free(void* buffer)
 {
    free(buffer);
 }
+
+uint64_t
+spirv_to_dxil_get_version()
+{
+   const char sha1[] = MESA_GIT_SHA1;
+   const char* dash = strchr(sha1, '-');
+   if (dash) {
+      return strtoull(dash + 1, NULL, 16);
+   }
+   return 0;
+}
diff --git a/src/microsoft/spirv_to_dxil/spirv_to_dxil.def b/src/microsoft/spirv_to_dxil/spirv_to_dxil.def
index 5243f56e6c7..62851f2160b 100644
--- a/src/microsoft/spirv_to_dxil/spirv_to_dxil.def
+++ b/src/microsoft/spirv_to_dxil/spirv_to_dxil.def
@@ -1,3 +1,4 @@
 EXPORTS
     spirv_to_dxil
     spirv_to_dxil_free
+    spirv_to_dxil_get_version
diff --git a/src/microsoft/spirv_to_dxil/spirv_to_dxil.h b/src/microsoft/spirv_to_dxil/spirv_to_dxil.h
index 655d6389bac..d19e662fe39 100644
--- a/src/microsoft/spirv_to_dxil/spirv_to_dxil.h
+++ b/src/microsoft/spirv_to_dxil/spirv_to_dxil.h
@@ -95,6 +95,9 @@ spirv_to_dxil(const uint32_t* words,
 void
 spirv_to_dxil_free(void* buffer);
 
+uint64_t
+spirv_to_dxil_get_version();
+
 #ifdef __cplusplus
 }
 #endif



More information about the mesa-commit mailing list