mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
avoid loading vec3 by glmm_load()
* use glmm_set1() for each for now
This commit is contained in:
@@ -51,18 +51,17 @@ CGLM_INLINE
|
|||||||
void
|
void
|
||||||
glm_translate(mat4 m, vec3 v) {
|
glm_translate(mat4 m, vec3 v) {
|
||||||
#if defined(CGLM_SIMD)
|
#if defined(CGLM_SIMD)
|
||||||
glmm_128 v0, m0, m1, m2, m3;
|
glmm_128 m0, m1, m2, m3;
|
||||||
|
|
||||||
m0 = glmm_load(m[0]);
|
m0 = glmm_load(m[0]);
|
||||||
m1 = glmm_load(m[1]);
|
m1 = glmm_load(m[1]);
|
||||||
m2 = glmm_load(m[2]);
|
m2 = glmm_load(m[2]);
|
||||||
m3 = glmm_load(m[3]);
|
m3 = glmm_load(m[3]);
|
||||||
v0 = glmm_load(v);
|
|
||||||
|
|
||||||
glmm_store(m[3],
|
glmm_store(m[3],
|
||||||
glmm_fmadd(m0, glmm_splat_x(v0),
|
glmm_fmadd(m0, glmm_set1(v[0]),
|
||||||
glmm_fmadd(m1, glmm_splat_y(v0),
|
glmm_fmadd(m1, glmm_set1(v[1]),
|
||||||
glmm_fmadd(m2, glmm_splat_z(v0), m3))));
|
glmm_fmadd(m2, glmm_set1(v[2]), m3))));
|
||||||
#else
|
#else
|
||||||
glm_vec4_muladds(m[0], v[0], m[3]);
|
glm_vec4_muladds(m[0], v[0], m[3]);
|
||||||
glm_vec4_muladds(m[1], v[1], m[3]);
|
glm_vec4_muladds(m[1], v[1], m[3]);
|
||||||
|
|||||||
Reference in New Issue
Block a user