Mesa (master): swr: [rasterizer jitter] Pass LLVM-IR size into jitter

Tim Rowley torowley at kemper.freedesktop.org
Wed Feb 8 20:02:08 UTC 2017


Module: Mesa
Branch: master
Commit: c1aa444a3edb4347fb475b1ee4e2dccdb99272fe
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1aa444a3edb4347fb475b1ee4e2dccdb99272fe

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Tue Jan 31 17:05:19 2017 -0600

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

Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>

---

 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;
 };




More information about the mesa-commit mailing list