nv50/ir: handle clipvertex for geom and tess shaders as well

this will be needed for compatibility profiles

v2: handle tess shaders

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
Karol Herbst 2018-06-30 04:58:30 +02:00
parent 4c87705705
commit c7726fbfa5

View file

@ -3613,6 +3613,9 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
info->out[info->io.viewportId].slot[0] * 4);
mkStore(OP_EXPORT, TYPE_U32, vpSym, NULL, viewport);
}
/* handle user clip planes for each emitted vertex */
if (info->io.genUserClip > 0)
handleUserClipPlanes();
/* fallthrough */
case TGSI_OPCODE_ENDPRIM:
{
@ -3787,7 +3790,9 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
setPosition(epilogue, true);
if (prog->getType() == Program::TYPE_FRAGMENT)
exportOutputs();
if (info->io.genUserClip > 0)
if ((prog->getType() == Program::TYPE_VERTEX ||
prog->getType() == Program::TYPE_TESSELLATION_EVAL
) && info->io.genUserClip > 0)
handleUserClipPlanes();
mkOp(OP_EXIT, TYPE_NONE, NULL)->terminator = 1;
}