pan/bi: Add support for load_point_coord

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/7314>
This commit is contained in:
Boris Brezillon
2020-10-18 21:11:49 +02:00
parent 55c0dd943e
commit 1c8b8e3c82

View File

@@ -584,6 +584,28 @@ bi_emit_front_face(bi_context *ctx, nir_intrinsic_instr *instr)
bi_emit(ctx, ins);
}
static void
bi_emit_point_coord(bi_context *ctx, nir_intrinsic_instr *instr)
{
bi_instruction ins = {
.type = BI_LOAD_VAR,
.vector_channels = 2,
.dest = pan_dest_index(&instr->dest),
.dest_type = nir_type_float32,
.format = nir_type_float32,
.src = {
BIR_INDEX_CONSTANT,
BIR_INDEX_ZERO,
},
.src_types = {
nir_type_uint32,
},
.constant.u64 = 20,
};
bi_emit(ctx, ins);
}
static void
emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
{
@@ -664,6 +686,10 @@ emit_intrinsic(bi_context *ctx, nir_intrinsic_instr *instr)
bi_emit_front_face(ctx, instr);
break;
case nir_intrinsic_load_point_coord:
bi_emit_point_coord(ctx, instr);
break;
default:
unreachable("Unknown intrinsic");
break;