On 02/21/2017 03:57 PM, Brian Paul wrote:
Windows doesn't have dlfcn.h.  Protect the code in question
with #if ENABLE_SHADER_CACHE test.
---
  src/util/disk_cache.h | 26 ++++++++++++++++----------
  1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/util/disk_cache.h b/src/util/disk_cache.h
index 8b6fc0d..7f4da80 100644
--- a/src/util/disk_cache.h
+++ b/src/util/disk_cache.h
@@ -24,7 +24,9 @@
  #ifndef DISK_CACHE_H
  #define DISK_CACHE_H

+#ifdef ENABLE_SHADER_CACHE
  #include <dlfcn.h>
+#endif
  #include <stdint.h>
  #include <stdbool.h>
  #include <sys/stat.h>
@@ -43,16 +45,20 @@ struct disk_cache;
  static inline bool
  disk_cache_get_function_timestamp(void *ptr, uint32_t* timestamp)
  {
-       Dl_info info;
-       struct stat st;
-       if (!dladdr(ptr, &info) || !info.dli_fname) {
-               return false;
-       }
-       if (stat(info.dli_fname, &st)) {
-               return false;
-       }
-       *timestamp = st.st_mtim.tv_sec;
-       return true;
+#ifdef ENABLE_SHADER_CACHE
+   Dl_info info;
+   struct stat st;
+   if (!dladdr(ptr, &info) || !info.dli_fname) {
+      return false;
+   }
+   if (stat(info.dli_fname, &st)) {
+      return false;
+   }
+   *timestamp = st.st_mtim.tv_sec;
+   return true;
+#else
+   return false;
+#endif
  }

  /* Provide inlined stub functions if the shader cache is disabled. */



Timothy,

Does this function really need to be inlined? AFAICT, it's not called on a performance critical path. Moving it into the .c file would seem to be cleaner.

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to