nv50/ir/gk110: add 64/128-bit fetch/export support
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
@@ -1217,10 +1217,12 @@ CodeEmitterGK110::emitPFETCH(const Instruction *i)
|
||||
void
|
||||
CodeEmitterGK110::emitVFETCH(const Instruction *i)
|
||||
{
|
||||
unsigned int size = typeSizeof(i->dType);
|
||||
uint32_t offset = i->src(0).get()->reg.data.offset;
|
||||
|
||||
code[0] = 0x00000002 | (offset << 23);
|
||||
code[1] = 0x7ec00000 | (offset >> 9);
|
||||
code[1] |= (size / 4 - 1) << 18;
|
||||
|
||||
#if 0
|
||||
if (i->perPatch)
|
||||
@@ -1239,10 +1241,12 @@ CodeEmitterGK110::emitVFETCH(const Instruction *i)
|
||||
void
|
||||
CodeEmitterGK110::emitEXPORT(const Instruction *i)
|
||||
{
|
||||
unsigned int size = typeSizeof(i->dType);
|
||||
uint32_t offset = i->src(0).get()->reg.data.offset;
|
||||
|
||||
code[0] = 0x00000002 | (offset << 23);
|
||||
code[1] = 0x7f000000 | (offset >> 9);
|
||||
code[1] |= (size / 4 - 1) << 18;
|
||||
|
||||
#if 0
|
||||
if (i->perPatch)
|
||||
|
||||
@@ -361,13 +361,6 @@ TargetNVC0::isAccessSupported(DataFile file, DataType ty) const
|
||||
return typeSizeof(ty) <= 8;
|
||||
if (ty == TYPE_B96)
|
||||
return false;
|
||||
if (getChipset() >= 0xf0) {
|
||||
// XXX: find wide vfetch/export
|
||||
if (ty == TYPE_B128)
|
||||
return false;
|
||||
if (ty == TYPE_U64)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user