daily update on 20230829 by nitload youmu

This commit is contained in:
Nitload
2023-08-29 22:29:47 +08:00
parent 8aac9fee87
commit 1fcbfb972b
125 changed files with 6505 additions and 2077 deletions
+9 -24
View File
@@ -1,34 +1,19 @@
#include "StgSharpGraphic.h"
SSGC_API _inline matrix2map* __cdecl add_mat2(matrix2map* mat1, matrix2map* mat2)
SSGC_API _inline void __cdecl transpose2to3(matrix2map* source, matrix3map* target)
{
matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
if (ret != 0)
{
ret->colum[0] = _mm_add_ps(mat1->colum[0], mat2->colum[0]);
ret->colum[1] = _mm_add_ps(mat1->colum[1], mat2->colum[1]);
}
return ret;
target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
}
SSGC_API _inline matrix2map* __cdecl sub_mat2(matrix2map* mat1, matrix2map* mat2)
{
matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
if (ret != 0)
{
ret->colum[0] = _mm_sub_ps(mat1->colum[0], mat2->colum[0]);
ret->colum[1] = _mm_sub_ps(mat1->colum[1], mat2->colum[1]);
}
return ret;
}
SSGC_API _inline void __cdecl transmpose2to4(matrix2map* source, matrix4map* target)
SSGC_API _inline void __cdecl transpose2to4(matrix2map* source, matrix4map* target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));