[Mesa-dev] [PATCH] util: fix MSVC build issue in disk_cache.h

Timothy Arceri tarceri at itsqueeze.com
Wed Feb 22 00:48:40 UTC 2017



On 22/02/17 09:59, Brian Paul wrote:
> 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.

No not really, feel free to move it. Either way this patch is:

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

>
> -Brian
>


More information about the mesa-dev mailing list