nv50/ir: fake SV_THREAD_KILL support
If we say that there are no helper invocations, it's suboptimal but allows ES 3.1 to chug along. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10162>
This commit is contained in:
@@ -1230,6 +1230,11 @@ NV50LoweringPreSSA::handleRDSV(Instruction *i)
|
||||
off);
|
||||
break;
|
||||
}
|
||||
case SV_THREAD_KILL:
|
||||
// Not actually supported. But it's implementation-dependent, so we can
|
||||
// always just say it's not a helper.
|
||||
bld.mkMov(def, bld.loadImm(NULL, 0));
|
||||
break;
|
||||
default:
|
||||
bld.mkFetch(i->getDef(0), i->dType,
|
||||
FILE_SHADER_INPUT, addr, i->getIndirect(0, 0), NULL);
|
||||
|
||||
@@ -261,6 +261,8 @@ TargetNV50::getSVAddress(DataFile shaderFile, const Symbol *sym) const
|
||||
return 0;
|
||||
case SV_SAMPLE_POS:
|
||||
return 0; /* sample position is handled differently */
|
||||
case SV_THREAD_KILL:
|
||||
return 0;
|
||||
default:
|
||||
return sysvalLocation[sym->reg.data.sv.sv];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user