diff options
author | Vinson Lee <[email protected]> | 2019-08-26 16:16:26 -0700 |
---|---|---|
committer | Vinson Lee <[email protected]> | 2019-08-31 00:20:40 -0700 |
commit | 3664a6600eb0efbb4606f0b59730df3088b3b490 (patch) | |
tree | 3a25e077af5f8c2bce262bf4c95fc4b77f03301f /src | |
parent | 20237166b60a9fe525c906a3efd1046d2853c40a (diff) |
swr: Fix build with llvm-9.0 again.
Commit 6f7306c029a7 ("swr/rast: Refactor memory API between rasterizer
core and swr") unintentionally removed changes for llvm-9.0.
Fixes: 6f7306c029a7 ("swr/rast: Refactor memory API between rasterizer core and swr")
Fixes: 5dd9ad157005 ("swr/rasterizer: Better implementation of scatter")
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Jan Zielinski <[email protected]>
Diffstat (limited to 'src')
3 files changed, 28 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp index 5182bc4259f..a59fb10902b 100644 --- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp +++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp @@ -50,7 +50,11 @@ ${func['decl']} %else: FunctionType* pFuncTy = FunctionType::get(${ func['returnType'] }, {}, false); %endif: +#if LLVM_VERSION_MAJOR >= 9 + Function* pFunc = cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("meta.intrinsic.${func['name']}", pFuncTy).getCallee()); +#else Function* pFunc = cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("meta.intrinsic.${func['name']}", pFuncTy)); +#endif return CALL(pFunc, std::initializer_list<Value*>{${argList}}, name); %elif isIntrin: %if len(func['types']) != 0: diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp b/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp index 6687ead02d3..183ba880c0f 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp @@ -455,7 +455,11 @@ namespace SwrJit args.push_back(PointerType::get(mInt8Ty, 0)); FunctionType* callPrintTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, true); Function* callPrintFn = +#if LLVM_VERSION_MAJOR >= 9 + cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("CallPrint", callPrintTy).getCallee()); +#else cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("CallPrint", callPrintTy)); +#endif // if we haven't yet added the symbol to the symbol table if ((sys::DynamicLibrary::SearchForAddressOfSymbol("CallPrint")) == nullptr) @@ -624,7 +628,11 @@ namespace SwrJit { FunctionType* pFuncTy = FunctionType::get(mFP32Ty, mInt16Ty); Function* pCvtPh2Ps = cast<Function>( +#if LLVM_VERSION_MAJOR >= 9 + JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat16ToFloat32", pFuncTy).getCallee()); +#else JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat16ToFloat32", pFuncTy)); +#endif if (sys::DynamicLibrary::SearchForAddressOfSymbol("ConvertFloat16ToFloat32") == nullptr) { @@ -660,7 +668,11 @@ namespace SwrJit // call scalar C function for now FunctionType* pFuncTy = FunctionType::get(mInt16Ty, mFP32Ty); Function* pCvtPs2Ph = cast<Function>( +#if LLVM_VERSION_MAJOR >= 9 + JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat32ToFloat16", pFuncTy).getCallee()); +#else JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat32ToFloat16", pFuncTy)); +#endif if (sys::DynamicLibrary::SearchForAddressOfSymbol("ConvertFloat32ToFloat16") == nullptr) { @@ -969,7 +981,11 @@ namespace SwrJit FunctionType* pFuncTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, false); Function* pFunc = cast<Function>( +#if LLVM_VERSION_MAJOR >= 9 + JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StartBucket", pFuncTy).getCallee()); +#else JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StartBucket", pFuncTy)); +#endif if (sys::DynamicLibrary::SearchForAddressOfSymbol("BucketManager_StartBucket") == nullptr) { @@ -994,7 +1010,11 @@ namespace SwrJit FunctionType* pFuncTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, false); Function* pFunc = cast<Function>( +#if LLVM_VERSION_MAJOR >= 9 + JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StopBucket", pFuncTy).getCallee()); +#else JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StopBucket", pFuncTy)); +#endif if (sys::DynamicLibrary::SearchForAddressOfSymbol("BucketManager_StopBucket") == nullptr) { diff --git a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp b/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp index 2196aafb17b..d00a8963d38 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp +++ b/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp @@ -202,7 +202,11 @@ namespace SwrJit FunctionType* pfnScatterTy = FunctionType::get(B->mVoidTy, args, false); mPfnScatter256 = cast<Function>( +#if LLVM_VERSION_MAJOR >= 9 + B->JM()->mpCurrentModule->getOrInsertFunction("ScatterPS_256", pfnScatterTy).getCallee()); +#else B->JM()->mpCurrentModule->getOrInsertFunction("ScatterPS_256", pfnScatterTy)); +#endif if (sys::DynamicLibrary::SearchForAddressOfSymbol("ScatterPS_256") == nullptr) { sys::DynamicLibrary::AddSymbol("ScatterPS_256", (void*)&ScatterPS_256); |