diff options
author | Tim Rowley <[email protected]> | 2016-08-09 15:29:06 -0600 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2016-08-10 11:09:42 -0500 |
commit | 9aa75e5d46b9c2cf4eba2c182874a86ea9f5464a (patch) | |
tree | 201e4b6a84524220724d574384766f5116a03bc6 /src/gallium/drivers/swr | |
parent | b311bdf92d65a0704faf8e89caa506d6d18c07e6 (diff) |
swr: [rasterizer jitter] add core string to JitManager
Signed-off-by: Tim Rowley <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr')
4 files changed, 10 insertions, 6 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp index 6637cdd7619..4540105ed9a 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp @@ -76,7 +76,7 @@ using namespace llvm; ////////////////////////////////////////////////////////////////////////// /// @brief Contructor for JitManager. /// @param simdWidth - SIMD width to be used in generated program. -JitManager::JitManager(uint32_t simdWidth, const char *arch) +JitManager::JitManager(uint32_t simdWidth, const char *arch, const char* core) : mContext(), mBuilder(mContext), mIsModuleFinalized(true), mJitNumber(0), mVWidth(simdWidth), mArch(arch) { InitializeNativeTarget(); @@ -96,6 +96,9 @@ JitManager::JitManager(uint32_t simdWidth, const char *arch) //tOpts.PrintMachineCode = true; + mCore = std::string(core); + std::transform(mCore.begin(), mCore.end(), mCore.begin(), ::tolower); + std::stringstream fnName("JitModule", std::ios_base::in | std::ios_base::out | std::ios_base::ate); fnName << mJitNumber++; std::unique_ptr<Module> newModule(new Module(fnName.str(), mContext)); @@ -357,9 +360,9 @@ extern "C" ////////////////////////////////////////////////////////////////////////// /// @brief Create JIT context. /// @param simdWidth - SIMD width to be used in generated program. - HANDLE JITCALL JitCreateContext(uint32_t targetSimdWidth, const char* arch) + HANDLE JITCALL JitCreateContext(uint32_t targetSimdWidth, const char* arch, const char* core) { - return new JitManager(targetSimdWidth, arch); + return new JitManager(targetSimdWidth, arch, core); } ////////////////////////////////////////////////////////////////////////// diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h index 354bfe869ba..f474143842a 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h @@ -146,7 +146,7 @@ struct JitLLVMContext : LLVMContext ////////////////////////////////////////////////////////////////////////// struct JitManager { - JitManager(uint32_t w, const char *arch); + JitManager(uint32_t w, const char* arch, const char* core); ~JitManager(){}; JitLLVMContext mContext; ///< LLVM compiler @@ -178,6 +178,7 @@ struct JitManager FunctionType* mFetchShaderTy; JitInstructionSet mArch; + std::string mCore; void SetupNewModule(); bool SetupModuleFromIR(const uint8_t *pIR); diff --git a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h index 05af54008c4..8a08031f253 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h @@ -68,7 +68,7 @@ extern "C" ////////////////////////////////////////////////////////////////////////// /// @brief Create JIT context. -HANDLE JITCALL JitCreateContext(uint32_t targetSimdWidth, const char* arch); +HANDLE JITCALL JitCreateContext(uint32_t targetSimdWidth, const char* arch, const char* core); ////////////////////////////////////////////////////////////////////////// /// @brief Destroy JIT context. diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp index df44967feee..3790fea8359 100644 --- a/src/gallium/drivers/swr/swr_screen.cpp +++ b/src/gallium/drivers/swr/swr_screen.cpp @@ -753,7 +753,7 @@ swr_create_screen(struct sw_winsys *winsys) screen->base.flush_frontbuffer = swr_flush_frontbuffer; - screen->hJitMgr = JitCreateContext(KNOB_SIMD_WIDTH, KNOB_ARCH_STR); + screen->hJitMgr = JitCreateContext(KNOB_SIMD_WIDTH, KNOB_ARCH_STR, "swr"); swr_fence_init(&screen->base); |