49 lines
868 B
C
49 lines
868 B
C
#include "GLenv/include/glad/glad.h"
|
|
#include "GLenv/include/GLFW/glfw3.h"
|
|
#include "StgSharpGraphic.h"
|
|
#include "SSGinternal.h"
|
|
#include <stdio.h>
|
|
|
|
#include <xmmintrin.h>
|
|
|
|
|
|
STGSHARPGRAPHIC_API float* InitBigM128Map(int floatCount)
|
|
{
|
|
float* BigMapBeginPtr = malloc(floatCount*sizeof(float));
|
|
return BigMapBeginPtr;
|
|
}
|
|
|
|
STGSHARPGRAPHIC_API void DeinitBigM128Map(float* mapPtr)
|
|
{
|
|
free(mapPtr);
|
|
}
|
|
|
|
STGSHARPGRAPHIC_API __m128 VecAddVec(__m128 vec1, __m128 vec2)
|
|
{
|
|
|
|
return _mm_add_ps(vec1, vec2);
|
|
|
|
}
|
|
|
|
STGSHARPGRAPHIC_API __m128 VecSubVec(__m128 vec1, __m128 vec2)
|
|
{
|
|
|
|
return _mm_sub_ps(vec1, vec2);
|
|
}
|
|
|
|
STGSHARPGRAPHIC_API float VecMulVec(__m128 vec1, __m128 vec2)
|
|
{
|
|
__m128 cache = _mm_mul_ps(vec1, vec2);
|
|
|
|
float ret = cache.m128_f32[0] +
|
|
cache.m128_f32[1] +
|
|
cache.m128_f32[2] +
|
|
cache.m128_f32[3];
|
|
|
|
return ret;
|
|
}
|
|
|
|
|
|
|
|
|