mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 10:40:11 +01:00
swr/rast: Adding Read/Write specifier to TranslateGfxAddress stack
- Removing unused generic translate function - Requiring read/write specifier in builder_gfx_mem Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
parent
dc6665422a
commit
4509cdbb37
2 changed files with 28 additions and 27 deletions
|
|
@ -40,7 +40,8 @@ namespace SwrJit
|
|||
BuilderGfxMem::BuilderGfxMem(JitManager *pJitMgr) : Builder(pJitMgr)
|
||||
{
|
||||
mpTranslationFuncTy = nullptr;
|
||||
mpfnTranslateGfxAddress = nullptr;
|
||||
mpfnTranslateGfxAddressForRead = nullptr;
|
||||
mpfnTranslateGfxAddressForWrite = nullptr;
|
||||
mpParamSimDC = nullptr;
|
||||
|
||||
}
|
||||
|
|
@ -221,7 +222,7 @@ namespace SwrJit
|
|||
return Builder::MASKED_LOAD(Ptr, Align, Mask, PassThru, Name, Ty, usage);
|
||||
}
|
||||
|
||||
Value *BuilderGfxMem::TranslateGfxAddress(Value * xpGfxAddress,
|
||||
Value *BuilderGfxMem::TranslateGfxAddressForRead(Value * xpGfxAddress,
|
||||
Type * PtrTy,
|
||||
const Twine &Name,
|
||||
JIT_MEM_CLIENT /* usage */)
|
||||
|
|
@ -232,4 +233,17 @@ namespace SwrJit
|
|||
}
|
||||
return INT_TO_PTR(xpGfxAddress, PtrTy, Name);
|
||||
}
|
||||
|
||||
Value *BuilderGfxMem::TranslateGfxAddressForWrite(Value * xpGfxAddress,
|
||||
Type * PtrTy,
|
||||
const Twine &Name,
|
||||
JIT_MEM_CLIENT /* usage */)
|
||||
{
|
||||
if (PtrTy == nullptr)
|
||||
{
|
||||
PtrTy = mInt8PtrTy;
|
||||
}
|
||||
return INT_TO_PTR(xpGfxAddress, PtrTy, Name);
|
||||
}
|
||||
|
||||
} // namespace SwrJit
|
||||
|
|
|
|||
|
|
@ -89,29 +89,14 @@ namespace SwrJit
|
|||
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
|
||||
|
||||
|
||||
Value *TranslateGfxAddress(Value * xpGfxAddress,
|
||||
Type * PtrTy = nullptr,
|
||||
const Twine & Name = "",
|
||||
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
|
||||
template <typename T>
|
||||
Value *TranslateGfxAddress(Value * xpGfxBaseAddress,
|
||||
const std::initializer_list<T> &offset,
|
||||
Type * PtrTy = nullptr,
|
||||
const Twine & Name = "",
|
||||
JIT_MEM_CLIENT usage = GFX_MEM_CLIENT_SHADER)
|
||||
{
|
||||
AssertGFXMemoryParams(xpGfxBaseAddress, usage);
|
||||
SWR_ASSERT(xpGfxBaseAddress->getType()->isPointerTy() == false);
|
||||
|
||||
if (!PtrTy)
|
||||
{
|
||||
PtrTy = mInt8PtrTy;
|
||||
}
|
||||
|
||||
Value *ptr = INT_TO_PTR(xpGfxBaseAddress, PtrTy);
|
||||
ptr = GEP(ptr, offset);
|
||||
return TranslateGfxAddress(PTR_TO_INT(ptr, mInt64Ty), PtrTy, Name, usage);
|
||||
}
|
||||
Value *TranslateGfxAddressForRead(Value * xpGfxAddress,
|
||||
Type * PtrTy = nullptr,
|
||||
const Twine & Name = "",
|
||||
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
|
||||
Value *TranslateGfxAddressForWrite(Value * xpGfxAddress,
|
||||
Type * PtrTy = nullptr,
|
||||
const Twine & Name = "",
|
||||
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
|
||||
|
||||
|
||||
protected:
|
||||
|
|
@ -124,13 +109,15 @@ namespace SwrJit
|
|||
Value *TranslationHelper(Value *Ptr, Type *Ty);
|
||||
|
||||
FunctionType *GetTranslationFunctionType() { return mpTranslationFuncTy; }
|
||||
Value * GetTranslationFunction() { return mpfnTranslateGfxAddress; }
|
||||
Value * GetTranslationFunctionForRead() { return mpfnTranslateGfxAddressForRead; }
|
||||
Value * GetTranslationFunctionForWrite() { return mpfnTranslateGfxAddressForWrite; }
|
||||
Value * GetParamSimDC() { return mpParamSimDC; }
|
||||
|
||||
|
||||
private:
|
||||
FunctionType *mpTranslationFuncTy;
|
||||
Value * mpfnTranslateGfxAddress;
|
||||
Value * mpfnTranslateGfxAddressForRead;
|
||||
Value * mpfnTranslateGfxAddressForWrite;
|
||||
Value * mpParamSimDC;
|
||||
};
|
||||
} // namespace SwrJit
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue