swr: [rasterizer jitter] Pass LLVM-IR size into jitter

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
Tim Rowley 2017-01-31 17:05:19 -06:00
parent e0a829d320
commit c1aa444a3e
3 changed files with 4 additions and 3 deletions

View file

@ -190,9 +190,9 @@ void JitManager::SetupNewModule()
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/// @brief Create new LLVM module from IR. /// @brief Create new LLVM module from IR.
bool JitManager::SetupModuleFromIR(const uint8_t *pIR) bool JitManager::SetupModuleFromIR(const uint8_t *pIR, size_t length)
{ {
std::unique_ptr<MemoryBuffer> pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR), ""); std::unique_ptr<MemoryBuffer> pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR, length), "");
SMDiagnostic Err; SMDiagnostic Err;
std::unique_ptr<Module> newModule = parseIR(pMem.get()->getMemBufferRef(), Err, mContext); std::unique_ptr<Module> newModule = parseIR(pMem.get()->getMemBufferRef(), Err, mContext);

View file

@ -178,7 +178,7 @@ struct JitManager
std::string mCore; std::string mCore;
void SetupNewModule(); void SetupNewModule();
bool SetupModuleFromIR(const uint8_t *pIR); bool SetupModuleFromIR(const uint8_t *pIR, size_t length);
void DumpAsm(llvm::Function* pFunction, const char* fileName); void DumpAsm(llvm::Function* pFunction, const char* fileName);
static void DumpToFile(llvm::Function *f, const char *fileName); static void DumpToFile(llvm::Function *f, const char *fileName);

View file

@ -59,6 +59,7 @@ struct JIT_COMPILE_INPUT
SWR_SHADER_TYPE type; SWR_SHADER_TYPE type;
const void* pIR; ///< Pointer to LLVM IR text. const void* pIR; ///< Pointer to LLVM IR text.
size_t irLength;
bool enableJitSampler; bool enableJitSampler;
}; };