mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
nv50,nvc0: fix the max_vertices=0 case
This is apparently legal. Drop any emit/restarts, and pass a 1 to the hardware. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
f2e7268a55
commit
160063b110
3 changed files with 4 additions and 2 deletions
|
|
@ -3290,6 +3290,8 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
|
|||
unsigned int stream = tgsi.getSrc(0).getValueU32(0, info);
|
||||
if (stream && op == OP_RESTART)
|
||||
break;
|
||||
if (info->prop.gp.maxVertices == 0)
|
||||
break;
|
||||
src0 = mkImm(stream);
|
||||
mkOp1(op, TYPE_U32, NULL, src0)->fixed = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -407,7 +407,7 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset,
|
|||
prog->gp.prim_type = NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_POINTS;
|
||||
break;
|
||||
}
|
||||
prog->gp.vert_count = info->prop.gp.maxVertices;
|
||||
prog->gp.vert_count = CLAMP(info->prop.gp.maxVertices, 1, 1024);
|
||||
}
|
||||
|
||||
if (prog->type == PIPE_SHADER_COMPUTE) {
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ nvc0_gp_gen_header(struct nvc0_program *gp, struct nv50_ir_prog_info *info)
|
|||
break;
|
||||
}
|
||||
|
||||
gp->hdr[4] = MIN2(info->prop.gp.maxVertices, 1024);
|
||||
gp->hdr[4] = CLAMP(info->prop.gp.maxVertices, 1, 1024);
|
||||
|
||||
return nvc0_vtgp_gen_header(gp, info);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue