From c1aa444a3edb4347fb475b1ee4e2dccdb99272fe Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Tue, 31 Jan 2017 17:05:19 -0600 Subject: [PATCH] swr: [rasterizer jitter] Pass LLVM-IR size into jitter Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 4 ++-- src/gallium/drivers/swr/rasterizer/jitter/JitManager.h | 2 +- src/gallium/drivers/swr/rasterizer/jitter/jit_api.h | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp index 5bd21a1..6414796 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp @@ -190,9 +190,9 @@ void JitManager::SetupNewModule() ////////////////////////////////////////////////////////////////////////// /// @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 pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR), ""); + std::unique_ptr pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR, length), ""); SMDiagnostic Err; std::unique_ptr newModule = parseIR(pMem.get()->getMemBufferRef(), Err, mContext); diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h index e45ad14..170bdde 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.h @@ -178,7 +178,7 @@ struct JitManager std::string mCore; 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); static void DumpToFile(llvm::Function *f, const char *fileName); diff --git a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h index 8a08031..b072eb3 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h +++ b/src/gallium/drivers/swr/rasterizer/jitter/jit_api.h @@ -59,6 +59,7 @@ struct JIT_COMPILE_INPUT SWR_SHADER_TYPE type; const void* pIR; ///< Pointer to LLVM IR text. + size_t irLength; bool enableJitSampler; }; -- 2.7.4