These utility functions are used by code not in the open source view of the swr rasterizer.
> On May 17, 2016, at 6:11 PM, Ian Romanick <i...@freedesktop.org> wrote: > > None of this appears to be used either. > > On 05/17/2016 03:36 PM, Tim Rowley wrote: >> --- >> src/gallium/drivers/swr/rasterizer/core/utils.h | 65 >> +++++++++++++++++++++- >> .../drivers/swr/rasterizer/jitter/jit_api.h | 1 + >> 2 files changed, 64 insertions(+), 2 deletions(-) >> >> diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h >> b/src/gallium/drivers/swr/rasterizer/core/utils.h >> index bf53c69..a5b004c 100644 >> --- a/src/gallium/drivers/swr/rasterizer/core/utils.h >> +++ b/src/gallium/drivers/swr/rasterizer/core/utils.h >> @@ -867,7 +867,7 @@ struct TemplateArgUnroller >> }; >> >> ////////////////////////////////////////////////////////////////////////// >> -/// Helper used to get an environment variable >> +/// Helpers used to get / set environment variable >> ////////////////////////////////////////////////////////////////////////// >> static INLINE std::string GetEnv(const std::string& variableName) >> { >> @@ -882,4 +882,65 @@ static INLINE std::string GetEnv(const std::string& >> variableName) >> #endif >> >> return output; >> -} >> \ No newline at end of file >> +} >> + >> +static INLINE void SetEnv(const std::string& variableName, const >> std::string& value) >> +{ >> +#if defined(_WIN32) >> + SetEnvironmentVariableA(variableName.c_str(), value.c_str()); >> +#else >> + setenv(variableName.c_str(), value.c_str(), true); >> +#endif >> +} >> + >> +////////////////////////////////////////////////////////////////////////// >> +/// Abstraction for dynamically loading modules and getting functions >> +////////////////////////////////////////////////////////////////////////// >> +#if defined(_WIN32) >> +typedef HMODULE SWR_MODULE_HANDLE; >> +#else >> +#include <dlfcn.h> >> +typedef void* SWR_MODULE_HANDLE; >> +#endif >> + >> +static inline SWR_MODULE_HANDLE SWR_API LoadModule(const char* szModuleName) >> +{ >> +#if defined(_WIN32) >> + return LoadLibraryA(szModuleName); >> +#else >> + return dlopen(szModuleName, RTLD_LAZY | RTLD_LOCAL); >> +#endif >> +} >> + >> +static inline void SWR_API FreeModuleHandle(SWR_MODULE_HANDLE hModule) >> +{ >> + if (hModule) >> + { >> +#if defined(_WIN32) >> + FreeLibrary((HMODULE)hModule); >> +#else >> + dlclose(hModule); >> +#endif >> + } >> +} >> + >> +static inline void* SWR_API GetProcFromModule(SWR_MODULE_HANDLE hModule, >> const char* szProcName) >> +{ >> + if (hModule && szProcName) >> + { >> +#if defined(_WIN32) >> + return GetProcAddress((HMODULE)hModule, szProcName); >> +#else >> + return dlsym(hModule, szProcName); >> +#endif >> + } >> + >> + return nullptr; >> +} >> + >> +template<typename T> >> +static inline void GetProcFromModule(SWR_MODULE_HANDLE hModule, const char* >> szProcName, T& outFunc) >> +{ >> + outFunc = (T)GetProcFromModule(hModule, szProcName); >> +} >> + >> diff --git a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h >> b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h >> index 08261e7..f5c27f0 100644 >> --- a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h >> +++ b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h >> @@ -29,6 +29,7 @@ >> ******************************************************************************/ >> #pragma once >> #include "common/os.h" >> +#include "core/utils.h" >> >> #include "fetch_jit.h" >> #include "streamout_jit.h" >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev