Module: Mesa Branch: main Commit: 06fe6651b3172eb56495a4cc863905d119c0fe76 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=06fe6651b3172eb56495a4cc863905d119c0fe76
Author: Alyssa Rosenzweig <aly...@rosenzweig.io> Date: Tue May 4 22:37:15 2021 -0400 agx: Implement blend constant color sysvals Signed-off-by: Alyssa Rosenzweig <aly...@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10720> --- src/asahi/compiler/agx_compile.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index dd9b6320d48..34270b2e15e 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -236,6 +236,15 @@ agx_emit_load_ubo(agx_builder *b, nir_intrinsic_instr *instr) return agx_wait(b, 0); } +static agx_instr * +agx_blend_const(agx_builder *b, agx_index dst, unsigned comp) +{ + agx_index val = agx_indexed_sysval(b->shader, + AGX_PUSH_BLEND_CONST, AGX_SIZE_32, comp * 2, 4 * 2); + + return agx_mov_to(b, dst, val); +} + static agx_instr * agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr) { @@ -275,6 +284,11 @@ agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr) case nir_intrinsic_load_vertex_id: return agx_mov_to(b, dst, agx_abs(agx_register(10, AGX_SIZE_32))); /* TODO: RA */ + case nir_intrinsic_load_blend_const_color_r_float: return agx_blend_const(b, dst, 0); + case nir_intrinsic_load_blend_const_color_g_float: return agx_blend_const(b, dst, 1); + case nir_intrinsic_load_blend_const_color_b_float: return agx_blend_const(b, dst, 2); + case nir_intrinsic_load_blend_const_color_a_float: return agx_blend_const(b, dst, 3); + default: fprintf(stderr, "Unhandled intrinsic %s\n", nir_intrinsic_infos[instr->intrinsic].name); unreachable("Unhandled intrinsic"); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit