swr: [rasterizer jitter] add core string to JitManager
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user