diff options
author | Karol Herbst <[email protected]> | 2020-06-16 17:02:06 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-22 11:41:31 +0000 |
commit | 636cf22a1f457c786ee068a1c91ed1461d6d3be0 (patch) | |
tree | afb5bc8f94f3e8ffc78d26f5e5417ef2dd850df9 | |
parent | cc71fccb754740b8f4fad52995e1c4ebcb224391 (diff) |
nv50/ir/nir: don't emit a restart with set a stream_id
Signed-off-by: Karol Herbst <[email protected]>
Tested-by: Ben Skeggs <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5512>
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index 40c1c526224..1638872bdf9 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp @@ -1946,12 +1946,17 @@ Converter::visit(nir_intrinsic_instr *insn) } break; } - case nir_intrinsic_emit_vertex: + case nir_intrinsic_emit_vertex: { if (info->io.genUserClip > 0) handleUserClipPlanes(); - // fallthrough + uint32_t idx = nir_intrinsic_stream_id(insn); + mkOp1(getOperation(op), TYPE_U32, NULL, mkImm(idx))->fixed = 1; + break; + } case nir_intrinsic_end_primitive: { uint32_t idx = nir_intrinsic_stream_id(insn); + if (idx) + break; mkOp1(getOperation(op), TYPE_U32, NULL, mkImm(idx))->fixed = 1; break; } |