pan/bi: Add support for load_vertex_id

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7472>
This commit is contained in:
Boris Brezillon 2020-11-06 14:08:33 +01:00
parent 255f7842c7
commit 5cd1d8c1ed
1 changed files with 18 additions and 0 deletions

View File

@ -741,6 +741,20 @@ bi_emit_point_coord(bi_context *ctx, nir_intrinsic_instr *instr)
bi_emit(ctx, ins);
}
static void
bi_emit_vertex_id(bi_context *ctx, nir_intrinsic_instr *instr)
{
bi_instruction mov = {
.type = BI_MOV,
.dest = pan_dest_index(&instr->dest),
.dest_type = nir_type_int32,
.src = { BIR_INDEX_REGISTER | 61 },
.src_types = { nir_type_int32 },
};
bi_emit(ctx, mov);
}
static void
emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
{
@ -832,6 +846,10 @@ emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
bi_emit_point_coord(ctx, instr);
break;
case nir_intrinsic_load_vertex_id:
bi_emit_vertex_id(ctx, instr);
break;
default:
unreachable("Unknown intrinsic");
break;