swr/rast: Adding SCATTERPS functionality to BuilderGfxMem

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
Alok Hota 2018-06-25 09:52:17 -05:00 committed by Tim Rowley
parent 4509cdbb37
commit 83d3ddd0ec
2 changed files with 19 additions and 0 deletions

View File

@ -108,6 +108,19 @@ namespace SwrJit
return vGather;
}
void BuilderGfxMem::SCATTERPS(
Value* pDst, Value* vSrc, Value* vOffsets, Value* vMask, JIT_MEM_CLIENT usage)
{
// address may be coming in as 64bit int now so get the pointer
if (pDst->getType() == mInt64Ty)
{
pDst = INT_TO_PTR(pDst, PointerType::get(mInt8Ty, 0));
}
Builder::SCATTERPS(pDst, vSrc, vOffsets, vMask, usage);
}
Value *BuilderGfxMem::OFFSET_TO_NEXT_COMPONENT(Value *base, Constant *offset)
{

View File

@ -88,6 +88,12 @@ namespace SwrJit
uint8_t scale = 1,
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
virtual void SCATTERPS(Value* pDst,
Value* vSrc,
Value* vOffsets,
Value* vMask,
JIT_MEM_CLIENT usage = MEM_CLIENT_INTERNAL);
Value *TranslateGfxAddressForRead(Value * xpGfxAddress,
Type * PtrTy = nullptr,