From ae38604ba3640d5b5944af38ffb31af21655c5e3 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Tue, 4 Nov 2025 12:20:08 -0600 Subject: [PATCH] matrix_cubesphere: rearrange vap_out/ib_rs_instructions --- src/matrix_cubesphere.cpp | 50 +++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/src/matrix_cubesphere.cpp b/src/matrix_cubesphere.cpp index dafa375..49e9374 100644 --- a/src/matrix_cubesphere.cpp +++ b/src/matrix_cubesphere.cpp @@ -51,10 +51,21 @@ struct shaders { void _3d_clear(struct shaders& shaders) { - ib_zbuffer(ZBUFFER_RELOC_INDEX, 7); // always - ib_rs_instructions(0); + ////////////////////////////////////////////////////////////////////////////// + // VAP OUT + ////////////////////////////////////////////////////////////////////////////// + + T0V(VAP_OUT_VTX_FMT_0 + , VAP_OUT_VTX_FMT_0__VTX_POS_PRESENT(1)); + T0V(VAP_OUT_VTX_FMT_1 + , 0x0); + + // + + ib_zbuffer(ZBUFFER_RELOC_INDEX, 7); // always + ib_texture__0(); ib_vap_stream_cntl__2(); @@ -100,11 +111,6 @@ void _3d_clear(struct shaders& shaders) , VAP_VTX_SIZE__DWORDS_PER_VTX(2) ); - T0V(VAP_OUT_VTX_FMT_0 - , VAP_OUT_VTX_FMT_0__VTX_POS_PRESENT(1)); - T0V(VAP_OUT_VTX_FMT_1 - , 0x0); - ////////////////////////////////////////////////////////////////////////////// // GA POINT SIZE ////////////////////////////////////////////////////////////////////////////// @@ -225,10 +231,24 @@ void _3d_cube_inner(mat4x4 trans, void _3d_cube(struct shaders& shaders, float theta) { - ib_zbuffer(ZBUFFER_RELOC_INDEX, 1); // less - ib_rs_instructions(4); + ////////////////////////////////////////////////////////////////////////////// + // VAP OUT + ////////////////////////////////////////////////////////////////////////////// + + T0V(VAP_OUT_VTX_FMT_0 + , VAP_OUT_VTX_FMT_0__VTX_POS_PRESENT(1)); + T0V(VAP_OUT_VTX_FMT_1 + , VAP_OUT_VTX_FMT_1__TEX_0_COMP_CNT(4) + | VAP_OUT_VTX_FMT_1__TEX_1_COMP_CNT(4) + | VAP_OUT_VTX_FMT_1__TEX_2_COMP_CNT(4) + | VAP_OUT_VTX_FMT_1__TEX_3_COMP_CNT(4)); + + // + + ib_zbuffer(ZBUFFER_RELOC_INDEX, 1); // less + ib_texture__1(TEXTURE_RELOC_INDEX); ib_vap_stream_cntl__323(); @@ -282,18 +302,6 @@ void _3d_cube(struct shaders& shaders, , VAP_VF_MIN_VTX_INDX__MIN_INDX(0) ); - ////////////////////////////////////////////////////////////////////////////// - // VAP OUT - ////////////////////////////////////////////////////////////////////////////// - - T0V(VAP_OUT_VTX_FMT_0 - , VAP_OUT_VTX_FMT_0__VTX_POS_PRESENT(1)); - T0V(VAP_OUT_VTX_FMT_1 - , VAP_OUT_VTX_FMT_1__TEX_0_COMP_CNT(4) - | VAP_OUT_VTX_FMT_1__TEX_1_COMP_CNT(4) - | VAP_OUT_VTX_FMT_1__TEX_2_COMP_CNT(4) - | VAP_OUT_VTX_FMT_1__TEX_3_COMP_CNT(4)); - ////////////////////////////////////////////////////////////////////////////// // matrix //////////////////////////////////////////////////////////////////////////////