[Mesa-dev] [PATCH 10/10] swr: [rasterizer jitter] Pass LLVM-IR size into jitter

Tim Rowley timothy.o.rowley at intel.com
Tue Feb 7 00:40:44 UTC 2017


---
 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<MemoryBuffer> pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR), "");
+    std::unique_ptr<MemoryBuffer> pMem = MemoryBuffer::getMemBuffer(StringRef((const char*)pIR, length), "");
 
     SMDiagnostic Err;
     std::unique_ptr<Module> 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



More information about the mesa-dev mailing list