Skip to content

shz_xmtrx_load_apply_store_4x4

Markdown
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.

NameTypeDescription
outshz_mat4x4_t *
matrix1const shz_mat4x4_t *
matrix2const shz_mat4x4_t *

Nothing (void).

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.

  • shz_mat4x4_t and shz_mat2x2_t arguments must be 8-byte aligned. Unaligned data goes through the float[16] parameters of the _unaligned routines.
  • 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"

shz_xmtrx_load_apply_4x4, shz_xmtrx_load_apply_store_unaligned_4x4