shz_xmtrx_load_apply_store_4x4
SHZ_INLINE void shz_xmtrx_load_apply_store_4x4(shz_mat4x4_t* out, const shz_mat4x4_t* matrix1, const shz_mat4x4_t* matrix2) SHZ_NOEXCEPT;Loads XMTRX with the 4x4 result of applying matrix2 onto matrix1, storing the result.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
out | shz_mat4x4_t * | |
matrix1 | const shz_mat4x4_t * | |
matrix2 | const shz_mat4x4_t * |
Returns
Section titled “Returns”Nothing (void).
Details
Section titled “Details”This operation is equivalent to: shz_xmtrx_load_4x4(matrix1); shz_xmtrx_apply_4x4(matrix2); shz_xmtrx_store_4x4(out);
However, it has been optimized and pipelined for performing the loads, multiplies, and stores in parallel.
Naming and requirements
Section titled “Naming and requirements”shz_mat4x4_tandshz_mat2x2_targuments must be 8-byte aligned. Unaligned data goes through thefloat[16]parameters of the_unalignedroutines.
Availability
Section titled “Availability”- C++ equivalent: none (call the C function from C++)
- Type-generic form: none
- Back-ends: SH4: dedicated SH4 implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_xmtrx.h:692 - Module: XMTRX, section "Compound Operations"
See also
Section titled “See also”shz_xmtrx_load_apply_4x4, shz_xmtrx_load_apply_store_unaligned_4x4