diff --git a/desmume/src/gfx3d.cpp b/desmume/src/gfx3d.cpp old mode 100644 new mode 100755 index 2bb267a53..505cf69f1 --- a/desmume/src/gfx3d.cpp +++ b/desmume/src/gfx3d.cpp @@ -2872,6 +2872,11 @@ void ParseReg_DISP3DCNT() gfx3d_parseCurrentDISP3DCNT(); } +template void gfx3d_glGetMatrix(const int index, float(&dst)[16]); +template void gfx3d_glGetMatrix(const int index, float(&dst)[16]); +template void gfx3d_glGetMatrix(const int index, float(&dst)[16]); +template void gfx3d_glGetMatrix(const int index, float(&dst)[16]); + //------------------- //clipping //------------------- diff --git a/desmume/src/matrix.cpp b/desmume/src/matrix.cpp old mode 100644 new mode 100755 index 0586908df..c4c2349ab --- a/desmume/src/matrix.cpp +++ b/desmume/src/matrix.cpp @@ -685,14 +685,6 @@ FORCEINLINE void _Vec4_MultiplyByMatrix(__m128i &outVec, outVec = _mm_blendv_epi8(outVecLo, outVecHi, _mm_set_epi32(0xFFFFFFFF, 0xFFFFFFFF, 0, 0)); } -static s32 GEM_SaturateAndShiftdown36To32(const s64 val) -{ - if(val>(s64)0x000007FFFFFFFFFFULL) return (s32)0x7FFFFFFFU; - if(val<(s64)0xFFFFF80000000000ULL) return (s32)0x80000000U; - - return fx32_shiftdown(val); -} - FORCEINLINE void _Vec3_MultiplyByMatrix(__m128i &outVec, const __m128i &c0, const __m128i &c1, const __m128i &c2, const __m128i &rowLo0, const __m128i &rowLo1, const __m128i &rowLo2, @@ -986,7 +978,7 @@ FORCEINLINE void _Vec4_Scale(s32 (&inoutVec)[4], const s32 scalar) void MatrixMultVec4x4(const s32 (&__restrict mtx)[16], s32 (&__restrict vec)[4]) { - const CACHE_ALIGN s32 __restrict tmpVec[4] = { + const CACHE_ALIGN s32 tmpVec[4] = { vec[0], vec[1], vec[2], vec[3] }; @@ -995,7 +987,7 @@ void MatrixMultVec4x4(const s32 (&__restrict mtx)[16], s32 (&__restrict vec)[4]) void MatrixMultVec3x3(const s32 (&__restrict mtx)[16], s32 (&__restrict vec)[4]) { - const CACHE_ALIGN s32 __restrict tmpVec[3] = { + const CACHE_ALIGN s32 tmpVec[3] = { vec[0], vec[1], vec[2] };