daily update on 20230927 by nitload youmu, all polygon4 display available, optimizing on C/C# interoperation

This commit is contained in:
Nitload
2023-09-28 01:43:27 +08:00
parent 5d701bce0c
commit 6c3349f5a2
130 changed files with 3280 additions and 25074 deletions
@@ -162,6 +162,12 @@ extern "C" {
typedef unsigned short GLhalfNV;
typedef GLintptr GLvdpauSurfaceNV;
typedef void (APIENTRY* GLVULKANPROCNV)(void);
#pragma region Const
#define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_STENCIL_BUFFER_BIT 0x00000400
#define GL_COLOR_BUFFER_BIT 0x00004000
@@ -1729,6 +1735,11 @@ extern "C" {
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 0x93DC
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 0x93DD
#define GL_CONTEXT_ROBUST_ACCESS 0x90F3
#pragma endregion
#ifndef GL_VERSION_1_0
#define GL_VERSION_1_0 1
GLAPI int GLAD_GL_VERSION_1_0;
@@ -8,6 +8,12 @@
#include <stdio.h>
#include "StgSharpGraphic.h"
extern char* infolog[512] = { 0 };
void printShaderCode(char* const* code)
{
printf(*code);
}
SSGC_API void initGL(int majorVersion, int minorVersion)
{
@@ -26,3 +32,47 @@ SSGC_API int initGLAD(void)
{
return gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
}
SSGC_API unsigned int loadShaderCode(char* const shaderCode, GLint shadertype)
{
unsigned int shader = glCreateShader(shadertype);
glShaderSource(shader, 1, &shaderCode, NULL);
glCompileShader(shader);
int success;
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
if (!success)
{
glGetShaderInfoLog(shader, 512, NULL, infolog);
infolog[511] = '\0';
printf(infolog);
return 0;
}
else
{
return shader;
}
}
SSGC_API unsigned int linkShaderProgram(GLuint shaderProgram)
{
glLinkProgram(shaderProgram);
int success;
glGetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
if (!success)
{
glGetProgramInfoLog(shaderProgram, 512, NULL, infolog);
printf(infolog);
return 0;
}
else
{
return shaderProgram;
}
}
char* _cdecl readLog()
{
return infolog[0];
}
+5 -14
View File
@@ -16,9 +16,7 @@
#pragma region debug
SSGC_API void getApiReporter(uint64_t reporterAddress);
SSGC_API void printShaderCode(char* const* code);
#pragma endregion
@@ -37,15 +35,15 @@ SSGC_API _inline float __cdecl mulps_total_internal(__m128 vec);
#pragma endregion
SSGC_API char* infolog[512];
SSGC_API void _cdecl initGL(int majorVersion, int minorVersion);
SSGC_API int _cdecl initGLAD(void);
SSGC_API unsigned int _cdecl loadShaderCode(char* const shaderCode, GLint shadertype);
SSGC_API unsigned int _cdecl linkShaderProgram(GLuint shadertype);
SSGC_API char* _cdecl readLog();
//linear related function
@@ -84,9 +82,6 @@ typedef struct matrix4 {
#pragma endregion
#pragma region mat2
@@ -97,7 +92,6 @@ SSGC_API _inline void __cdecl deinit_mat2(matrix2map* mat);
#pragma endregion
#pragma region mat3
@@ -110,9 +104,6 @@ SSGC_API __inline float det_mat3_internal(__m128 const c1, __m128 const c2, __m1
#pragma endregion
#pragma region mat4
//type and function for 4 colum matrix
@@ -1,322 +0,0 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__3347223C_winpackagefamily@h DB 01H
__F5B671E4_winapifamily@h DB 01H
__6866F092_sdkddkver@h DB 01H
__B11E23B5_excpt@h DB 01H
__39216D08_stdarg@h DB 01H
__4114BAD5_specstrings_undef@h DB 01H
__50F9AEDC_specstrings_strict@h DB 01H
__BEFC0098_sdv_driverspecs@h DB 01H
__39A39701_driverspecs@h DB 01H
__B4D8BDAA_specstrings@h DB 01H
__78D0C915_corecrt_wctype@h DB 01H
__6AECDA3E_ctype@h DB 01H
__B6CCE7CD_kernelspecs@h DB 01H
__201B1099_basetsd@h DB 01H
__15E49872_errno@h DB 01H
__C2713F5C_vcruntime_string@h DB 01H
__184F7456_corecrt_memcpy_s@h DB 01H
__82377222_corecrt_memory@h DB 01H
__5B29309E_corecrt_wstring@h DB 01H
__F787F5CD_string@h DB 01H
__8C99318D_guiddef@h DB 01H
__A3CAA675_pshpack4@h DB 01H
__2611E9B9_poppack@h DB 01H
__A747DAC7_pshpack2@h DB 01H
__AAD05F11_pshpack8@h DB 01H
__A501649E_pshpack1@h DB 01H
__0E9D9C0E_apiset@h DB 01H
__F9851A06_ktmtypes@h DB 01H
__9DA2B69E_winnt@h DB 01H
__E9AED855_minwindef@h DB 01H
__9668718B_windef@h DB 01H
__B47C9622_apisetcconv@h DB 01H
__77F4CE3E_minwinbase@h DB 01H
__42CF8FD5_apiquery2@h DB 01H
__A6C51434_processenv@h DB 01H
__415D7145_fileapi@h DB 01H
__A7316A9B_fileapifromapp@h DB 01H
__A0359A2D_debugapi@h DB 01H
__28BE1226_utilapiset@h DB 01H
__6933B394_handleapi@h DB 01H
__57F09DF9_errhandlingapi@h DB 01H
__E0622DF9_fibersapi@h DB 01H
__D531F6AB_namedpipeapi@h DB 01H
__ADD82BB4_profileapi@h DB 01H
__ECFC4D70_heapapi@h DB 01H
__4F41815B_ioapiset@h DB 01H
__8D44BFB7_synchapi@h DB 01H
__8CAEC090_interlockedapi@h DB 01H
__8ABF54F4_processthreadsapi@h DB 01H
__1462A586_sysinfoapi@h DB 01H
__369DBA4C_memoryapi@h DB 01H
__02D65571_enclaveapi@h DB 01H
__50387E19_threadpoollegacyapiset@h DB 01H
__C40195AA_threadpoolapiset@h DB 01H
__792B5764_jobapi@h DB 01H
__BAD0D5EB_jobapi2@h DB 01H
__C6FE0B21_wow64apiset@h DB 01H
__94EE79C1_libloaderapi@h DB 01H
__E203BDE6_securitybaseapi@h DB 01H
__9590F1DC_namespaceapi@h DB 01H
__0F4602F6_systemtopologyapi@h DB 01H
__B1B3B677_processtopologyapi@h DB 01H
__7DD200C2_securityappcontainer@h DB 01H
__130664A2_realtimeapiset@h DB 01H
__A8C6672F_winerror@h DB 01H
__A093DD28_timezoneapi@h DB 01H
__6BD3506C_winbase@h DB 01H
__DABCB3B7_wingdi@h DB 01H
__CD8F5E54_tvout@h DB 01H
__033B1B1B_winuser@h DB 01H
__F8663FCA_datetimeapi@h DB 01H
__03A9DF8F_winnls@h DB 01H
__CB7A78CC_stringapiset@h DB 01H
__3F149E59_wincontypes@h DB 01H
__7CC6F8F3_consoleapi@h DB 01H
__D4BE3EA3_consoleapi2@h DB 01H
__D57C5494_consoleapi3@h DB 01H
__FD7284F3_wincon@h DB 01H
__2EBE7A74_verrsrc@h DB 01H
__2FF32671_winver@h DB 01H
__E384C5B4_reason@h DB 01H
__C09EE12A_winreg@h DB 01H
__F1A080AC_wnnc@h DB 01H
__C375DB87_winnetwk@h DB 01H
__DD9DD587_stralign@h DB 01H
__B85B9837_winsvc@h DB 01H
__12FBC1E4_mcx@h DB 01H
__BC6D10F5_ime_cmodes@h DB 01H
__1D49718C_imm@h DB 01H
__95734585_windows@h DB 01H
__F7492337_framework@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__52DA9D07_StgSharpGraphic@c DB 01H
msvcjmc ENDS
PUBLIC loadGLApi
PUBLIC initGL
PUBLIC initGLAD
PUBLIC __JustMyCode_Default
EXTRN gladLoadGLLoader:PROC
EXTRN glfwInit:PROC
EXTRN glfwWindowHint:PROC
EXTRN glfwCreateWindow:PROC
EXTRN glfwWindowShouldClose:PROC
EXTRN glfwSetFramebufferSizeCallback:PROC
EXTRN glfwMakeContextCurrent:PROC
EXTRN glfwSwapBuffers:PROC
EXTRN glfwSwapInterval:PROC
EXTRN glfwGetProcAddress:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN glad_glClearColor:QWORD
; COMDAT pdata
pdata SEGMENT
$pdata$loadGLApi DD imagerel $LN4
DD imagerel $LN4+173
DD imagerel $unwind$loadGLApi
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$initGL DD imagerel $LN4
DD imagerel $LN4+70
DD imagerel $unwind$initGL
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$initGLAD DD imagerel $LN4
DD imagerel $LN4+32
DD imagerel $unwind$initGLAD
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$initGLAD DD 010401H
DD 04204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$initGL DD 010401H
DD 04204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$loadGLApi DD 020601H
DD 030023206H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT initGLAD
_TEXT SEGMENT
initGLAD PROC ; COMDAT
; 45 : {
$LN4:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
00004 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__52DA9D07_StgSharpGraphic@c
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:glfwGetProcAddress
; 46 : return gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
; 47 : }
00017 48 83 c4 28 add rsp, 40 ; 00000028H
0001b e9 00 00 00 00 jmp gladLoadGLLoader
initGLAD ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT initGL
_TEXT SEGMENT
initGL PROC ; COMDAT
; 32 : {
$LN4:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
00004 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__52DA9D07_StgSharpGraphic@c
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00010 e8 00 00 00 00 call glfwInit
00015 ba 03 00 00 00 mov edx, 3
0001a b9 02 20 02 00 mov ecx, 139266 ; 00022002H
0001f e8 00 00 00 00 call glfwWindowHint
00024 ba 03 00 00 00 mov edx, 3
00029 b9 03 20 02 00 mov ecx, 139267 ; 00022003H
0002e e8 00 00 00 00 call glfwWindowHint
00033 ba 01 20 03 00 mov edx, 204801 ; 00032001H
00038 b9 08 20 02 00 mov ecx, 139272 ; 00022008H
; 33 : glfwInit();
; 34 : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
; 35 : glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
; 36 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
; 37 :
; 38 : #ifdef __APPLE__
; 39 : glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
; 40 : #endif // __APPLE__
; 41 : }
0003d 48 83 c4 28 add rsp, 40 ; 00000028H
00041 e9 00 00 00 00 jmp glfwWindowHint
initGL ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT loadGLApi
_TEXT SEGMENT
__$ReturnAddress$ = 48
loadGLApi PROC ; COMDAT
; 15 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__52DA9D07_StgSharpGraphic@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwCreateWindow
0001c 48 89 05 00 00
00 00 mov QWORD PTR pack, rax
00023 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwMakeContextCurrent
0002a 48 89 05 08 00
00 00 mov QWORD PTR pack+8, rax
00031 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSwapInterval
00038 0f 10 05 00 00
00 00 movups xmm0, XMMWORD PTR pack
0003f 48 89 05 10 00
00 00 mov QWORD PTR pack+16, rax
00046 48 8b 05 00 00
00 00 mov rax, QWORD PTR glad_glClearColor
0004d 48 89 05 18 00
00 00 mov QWORD PTR pack+24, rax
00054 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwWindowShouldClose
0005b 0f 10 0d 10 00
00 00 movups xmm1, XMMWORD PTR pack+16
00062 48 89 05 20 00
00 00 mov QWORD PTR pack+32, rax
00069 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSwapBuffers
00070 0f 11 03 movups XMMWORD PTR [rbx], xmm0
00073 48 89 05 28 00
00 00 mov QWORD PTR pack+40, rax
0007a 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSetFramebufferSizeCallback
00081 0f 10 05 20 00
00 00 movups xmm0, XMMWORD PTR pack+32
00088 48 89 05 30 00
00 00 mov QWORD PTR pack+48, rax
0008f 48 8b c3 mov rax, rbx
00092 0f 11 4b 10 movups XMMWORD PTR [rbx+16], xmm1
00096 f2 0f 10 0d 30
00 00 00 movsd xmm1, QWORD PTR pack+48
0009e 0f 11 43 20 movups XMMWORD PTR [rbx+32], xmm0
000a2 f2 0f 11 4b 30 movsd QWORD PTR [rbx+48], xmm1
; 16 :
; 17 : pack.createWindow = glfwCreateWindow;
; 18 : pack.makeContextCurrent = glfwMakeContextCurrent;
; 19 : pack.swapInterval = glfwSwapInterval;
; 20 : pack.clearColor = glClearColor;
; 21 : pack.windowShouldClose = glfwWindowShouldClose;
; 22 : pack.swapBuffer = glfwSwapBuffers;
; 23 :
; 24 : //these are for callback
; 25 : pack.SetFramebufferSizeCallback = glfwSetFramebufferSizeCallback;
; 26 :
; 27 :
; 28 : return pack;
; 29 : }
000a7 48 83 c4 20 add rsp, 32 ; 00000020H
000ab 5b pop rbx
000ac c3 ret 0
loadGLApi ENDP
_TEXT ENDS
END
@@ -1,221 +0,0 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
PUBLIC defaultVecPtr
_BSS SEGMENT
defaultVecPtr DQ 01H DUP (?)
_BSS ENDS
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__3347223C_winpackagefamily@h DB 01H
__F5B671E4_winapifamily@h DB 01H
__6866F092_sdkddkver@h DB 01H
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__B11E23B5_excpt@h DB 01H
__39216D08_stdarg@h DB 01H
__4114BAD5_specstrings_undef@h DB 01H
__50F9AEDC_specstrings_strict@h DB 01H
__BEFC0098_sdv_driverspecs@h DB 01H
__39A39701_driverspecs@h DB 01H
__B4D8BDAA_specstrings@h DB 01H
__04C75F1C_corecrt@h DB 01H
__78D0C915_corecrt_wctype@h DB 01H
__6AECDA3E_ctype@h DB 01H
__B6CCE7CD_kernelspecs@h DB 01H
__201B1099_basetsd@h DB 01H
__15E49872_errno@h DB 01H
__C2713F5C_vcruntime_string@h DB 01H
__184F7456_corecrt_memcpy_s@h DB 01H
__82377222_corecrt_memory@h DB 01H
__5B29309E_corecrt_wstring@h DB 01H
__F787F5CD_string@h DB 01H
__8C99318D_guiddef@h DB 01H
__A3CAA675_pshpack4@h DB 01H
__2611E9B9_poppack@h DB 01H
__A747DAC7_pshpack2@h DB 01H
__AAD05F11_pshpack8@h DB 01H
__A501649E_pshpack1@h DB 01H
__0E9D9C0E_apiset@h DB 01H
__F9851A06_ktmtypes@h DB 01H
__9DA2B69E_winnt@h DB 01H
__E9AED855_minwindef@h DB 01H
__9668718B_windef@h DB 01H
__B47C9622_apisetcconv@h DB 01H
__77F4CE3E_minwinbase@h DB 01H
__42CF8FD5_apiquery2@h DB 01H
__A6C51434_processenv@h DB 01H
__415D7145_fileapi@h DB 01H
__A7316A9B_fileapifromapp@h DB 01H
__A0359A2D_debugapi@h DB 01H
__28BE1226_utilapiset@h DB 01H
__6933B394_handleapi@h DB 01H
__57F09DF9_errhandlingapi@h DB 01H
__E0622DF9_fibersapi@h DB 01H
__D531F6AB_namedpipeapi@h DB 01H
__ADD82BB4_profileapi@h DB 01H
__ECFC4D70_heapapi@h DB 01H
__4F41815B_ioapiset@h DB 01H
__8D44BFB7_synchapi@h DB 01H
__8CAEC090_interlockedapi@h DB 01H
__8ABF54F4_processthreadsapi@h DB 01H
__1462A586_sysinfoapi@h DB 01H
__369DBA4C_memoryapi@h DB 01H
__02D65571_enclaveapi@h DB 01H
__50387E19_threadpoollegacyapiset@h DB 01H
__C40195AA_threadpoolapiset@h DB 01H
__792B5764_jobapi@h DB 01H
__BAD0D5EB_jobapi2@h DB 01H
__C6FE0B21_wow64apiset@h DB 01H
__94EE79C1_libloaderapi@h DB 01H
__E203BDE6_securitybaseapi@h DB 01H
__9590F1DC_namespaceapi@h DB 01H
__0F4602F6_systemtopologyapi@h DB 01H
__B1B3B677_processtopologyapi@h DB 01H
__7DD200C2_securityappcontainer@h DB 01H
__130664A2_realtimeapiset@h DB 01H
__A8C6672F_winerror@h DB 01H
__A093DD28_timezoneapi@h DB 01H
__6BD3506C_winbase@h DB 01H
__DABCB3B7_wingdi@h DB 01H
__CD8F5E54_tvout@h DB 01H
__033B1B1B_winuser@h DB 01H
__F8663FCA_datetimeapi@h DB 01H
__03A9DF8F_winnls@h DB 01H
__CB7A78CC_stringapiset@h DB 01H
__3F149E59_wincontypes@h DB 01H
__7CC6F8F3_consoleapi@h DB 01H
__D4BE3EA3_consoleapi2@h DB 01H
__D57C5494_consoleapi3@h DB 01H
__FD7284F3_wincon@h DB 01H
__2EBE7A74_verrsrc@h DB 01H
__2FF32671_winver@h DB 01H
__E384C5B4_reason@h DB 01H
__C09EE12A_winreg@h DB 01H
__F1A080AC_wnnc@h DB 01H
__C375DB87_winnetwk@h DB 01H
__DD9DD587_stralign@h DB 01H
__B85B9837_winsvc@h DB 01H
__12FBC1E4_mcx@h DB 01H
__BC6D10F5_ime_cmodes@h DB 01H
__1D49718C_imm@h DB 01H
__95734585_windows@h DB 01H
__F7492337_framework@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__BA7172FA_dllmain@c DB 01H
msvcjmc ENDS
PUBLIC DllMain
PUBLIC __JustMyCode_Default
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
; COMDAT pdata
pdata SEGMENT
$pdata$DllMain DD imagerel $LN24
DD imagerel $LN24+68
DD imagerel $unwind$DllMain
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$DllMain DD 020601H
DD 030023206H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\dllmain.c
; COMDAT DllMain
_TEXT SEGMENT
hModule$ = 48
ul_reason_for_call$ = 56
lpReserved$ = 64
DllMain PROC ; COMDAT
; 17 : {
$LN24:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__BA7172FA_dllmain@c
0000d 8b da mov ebx, edx
0000f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00014 83 fb 01 cmp ebx, 1
00017 75 20 jne SHORT $LN20@DllMain
00019 0f 1f 80 00 00
00 00 npad 7
$LL6@DllMain:
; 18 : switch (ul_reason_for_call)
; 19 : {
; 20 : case DLL_PROCESS_ATTACH:
; 21 : do
; 22 : {
; 23 : defaultVecPtr = _aligned_malloc(sizeof(__m128),16);
00020 ba 10 00 00 00 mov edx, 16
00025 8b ca mov ecx, edx
00027 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002d 48 89 05 00 00
00 00 mov QWORD PTR defaultVecPtr, rax
; 24 : } while (defaultVecPtr == NULL);
00034 48 85 c0 test rax, rax
00037 74 e7 je SHORT $LL6@DllMain
$LN20@DllMain:
; 25 :
; 26 :
; 27 : case DLL_THREAD_ATTACH:
; 28 :
; 29 :
; 30 : case DLL_THREAD_DETACH:
; 31 :
; 32 :
; 33 : case DLL_PROCESS_DETACH:
; 34 :
; 35 :
; 36 :
; 37 : break;
; 38 : }
; 39 : return TRUE;
; 40 : }
00039 b8 01 00 00 00 mov eax, 1
0003e 48 83 c4 20 add rsp, 32 ; 00000020H
00042 5b pop rbx
00043 c3 ret 0
DllMain ENDP
_TEXT ENDS
END
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -1,961 +0,0 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__C44F8F6B_corecrt_stdio_config@h DB 01H
__A7F89B2B_corecrt_wstdio@h DB 01H
__B5C48800_stdio@h DB 01H
__62BFBAF5_stdalign@h DB 01H
__B5461FF6_linear@c DB 01H
msvcjmc ENDS
PUBLIC mulps_sum_internal
PUBLIC mulps_total_internal
PUBLIC load
PUBLIC load_cpy
PUBLIC addps
PUBLIC subps
PUBLIC mulps_const
PUBLIC mulps
PUBLIC mulps_sum
PUBLIC divps_const
PUBLIC divps
PUBLIC sqrtss_const
PUBLIC set_m128ptr_default
PUBLIC deinitM128
PUBLIC load_matmap
PUBLIC __JustMyCode_Default
EXTRN __imp__aligned_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN defaultVecPtr:QWORD
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$mulps_sum_internal DD imagerel $LN4
DD imagerel $LN4+53
DD imagerel $unwind$mulps_sum_internal
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$load DD imagerel $LN7
DD imagerel $LN7+140
DD imagerel $unwind$load
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$load_cpy DD imagerel $LN7
DD imagerel $LN7+52
DD imagerel $unwind$load_cpy
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$addps DD imagerel $LN7
DD imagerel $LN7+85
DD imagerel $unwind$addps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$subps DD imagerel $LN7
DD imagerel $LN7+85
DD imagerel $unwind$subps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mulps_const DD imagerel $LN7
DD imagerel $LN7+94
DD imagerel $unwind$mulps_const
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mulps DD imagerel $LN7
DD imagerel $LN7+84
DD imagerel $unwind$mulps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mulps_sum DD imagerel $LN4
DD imagerel $LN4+53
DD imagerel $unwind$mulps_sum
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$divps_const DD imagerel $LN7
DD imagerel $LN7+97
DD imagerel $unwind$divps_const
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$divps DD imagerel $LN7
DD imagerel $LN7+84
DD imagerel $unwind$divps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$sqrtss_const DD imagerel $LN4
DD imagerel $LN4+47
DD imagerel $unwind$sqrtss_const
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$set_m128ptr_default DD imagerel $LN4
DD imagerel $LN4+28
DD imagerel $unwind$set_m128ptr_default
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinitM128 DD imagerel $LN4
DD imagerel $LN4+36
DD imagerel $unwind$deinitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$load_matmap DD imagerel $LN7
DD imagerel $LN7+146
DD imagerel $unwind$load_matmap
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$load_matmap DD 082419H
DD 0e7415H
DD 0d6415H
DD 0c3415H
DD 0e0119215H
DD imagerel __GSHandlerCheck
DD 040H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinitM128 DD 020601H
DD 030023206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$set_m128ptr_default DD 010401H
DD 04204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sqrtss_const DD 030901H
DD 026809H
DD 06204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$divps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$divps_const DD 040b01H
DD 03680bH
DD 030027206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mulps_sum DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mulps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mulps_const DD 040b01H
DD 03680bH
DD 030027206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$subps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$addps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$load_cpy DD 020601H
DD 030023206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$load DD 092701H
DD 039827H
DD 04881eH
DD 057815H
DD 066809H
DD 0e204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mulps_sum_internal DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT load_matmap
_TEXT SEGMENT
ptr$ = 32
__$ArrayPad$ = 64
c0$ = 96
c1$ = 104
c2$ = 112
c3$ = 120
load_matmap PROC ; COMDAT
; 182 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
0000a 48 89 7c 24 18 mov QWORD PTR [rsp+24], rdi
0000f 41 56 push r14
00011 48 83 ec 50 sub rsp, 80 ; 00000050H
00015 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001c 48 33 c4 xor rax, rsp
0001f 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax
00024 48 8b d9 mov rbx, rcx
00027 4d 8b f1 mov r14, r9
0002a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00031 49 8b f0 mov rsi, r8
00034 48 8b fa mov rdi, rdx
00037 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0003c ba 20 00 00 00 mov edx, 32 ; 00000020H
00041 8b ca mov ecx, edx
00043 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00049 48 89 5c 24 20 mov QWORD PTR ptr$[rsp], rbx
0004e 48 89 7c 24 28 mov QWORD PTR ptr$[rsp+8], rdi
00053 48 89 74 24 30 mov QWORD PTR ptr$[rsp+16], rsi
00058 4c 89 74 24 38 mov QWORD PTR ptr$[rsp+24], r14
0005d 48 85 c0 test rax, rax
00060 74 0d je SHORT $LN4@load_matma
; 183 : __m256i* retPtr = _aligned_malloc(sizeof(__m256i), sizeof(__m256i));
; 184 :
; 185 : uint64_t ptr[4] = {c0,c1,c2,c3 };
; 186 :
; 187 : if (NULL != retPtr)
; 188 : {
; 189 : *retPtr = _mm256_loadu_epi64(&ptr);
00062 c5 fe 6f 44 24
20 vmovdqu ymm0, YMMWORD PTR ptr$[rsp]
00068 c5 fe 7f 00 vmovdqu YMMWORD PTR [rax], ymm0
0006c c5 f8 77 vzeroupper
$LN4@load_matma:
; 190 : }
; 191 :
; 192 : return retPtr;
; 193 :
; 194 : }
0006f 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp]
00074 48 33 cc xor rcx, rsp
00077 e8 00 00 00 00 call __security_check_cookie
0007c 48 8b 5c 24 60 mov rbx, QWORD PTR [rsp+96]
00081 48 8b 74 24 68 mov rsi, QWORD PTR [rsp+104]
00086 48 8b 7c 24 70 mov rdi, QWORD PTR [rsp+112]
0008b 48 83 c4 50 add rsp, 80 ; 00000050H
0008f 41 5e pop r14
00091 c3 ret 0
load_matmap ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT deinitM128
_TEXT SEGMENT
ptr$ = 48
deinitM128 PROC ; COMDAT
; 212 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8b cb mov rcx, rbx
; 213 : _aligned_free(ptr);
; 214 : }
00018 48 83 c4 20 add rsp, 32 ; 00000020H
0001c 5b pop rbx
0001d 48 ff 25 00 00
00 00 rex_jmp QWORD PTR __imp__aligned_free
deinitM128 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT set_m128ptr_default
_TEXT SEGMENT
set_m128ptr_default PROC ; COMDAT
; 199 : {
$LN4:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
00004 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00010 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
; 200 : return defaultVecPtr;
; 201 : }
00017 48 83 c4 28 add rsp, 40 ; 00000028H
0001b c3 ret 0
set_m128ptr_default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT sqrtss_const
_TEXT SEGMENT
a$ = 64
sqrtss_const PROC ; COMDAT
; 169 : {
$LN4:
00000 48 83 ec 38 sub rsp, 56 ; 00000038H
00004 0f 29 74 24 20 movaps XMMWORD PTR [rsp+32], xmm6
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 0f 28 f0 movaps xmm6, xmm0
00013 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00018 0f 10 44 24 40 movups xmm0, XMMWORD PTR a$[rsp]
0001d f3 0f 10 c6 movss xmm0, xmm6
00021 0f 28 74 24 20 movaps xmm6, XMMWORD PTR [rsp+32]
00026 f3 0f 51 c0 sqrtss xmm0, xmm0
; 170 : __m128 ret = _mm_sqrt_ss(*(__m128*) & a);
; 171 :
; 172 : return ret.m128_f32[0];
; 173 : }
0002a 48 83 c4 38 add rsp, 56 ; 00000038H
0002e c3 ret 0
sqrtss_const ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT divps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
divps PROC ; COMDAT
; 154 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8b ca mov ecx, edx
00023 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00029 48 85 c0 test rax, rax
0002c 74 14 je SHORT $LN2@divps
; 155 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 156 :
; 157 : if (NULL != ret)
; 158 : {
; 159 : *ret = _mm_div_ps(*ptr1, *ptr2);
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00031 0f 5e 03 divps xmm0, XMMWORD PTR [rbx]
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 160 : return ret;
; 161 : }
; 162 : else
; 163 : {
; 164 : return -1;
; 165 : }
; 166 : }
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
00040 5f pop rdi
00041 c3 ret 0
$LN2@divps:
00042 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00047 48 c7 c0 ff ff
ff ff mov rax, -1
0004e 48 83 c4 20 add rsp, 32 ; 00000020H
00052 5f pop rdi
00053 c3 ret 0
divps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT divps_const
_TEXT SEGMENT
c$ = 32
ptr$ = 80
value$ = 88
divps_const PROC ; COMDAT
; 135 : {
$LN7:
00000 40 53 push rbx
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
00006 0f 29 74 24 30 movaps XMMWORD PTR [rsp+48], xmm6
0000b 48 8b d9 mov rbx, rcx
0000e 0f 28 f1 movaps xmm6, xmm1
00011 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00018 0f c6 f6 00 shufps xmm6, xmm6, 0
0001c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00021 ba 10 00 00 00 mov edx, 16
00026 8b ca mov ecx, edx
00028 0f 11 74 24 20 movups XMMWORD PTR c$[rsp], xmm6
0002d ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00033 48 85 c0 test rax, rax
00036 74 17 je SHORT $LN2@divps_cons
; 136 :
; 137 : float c[4] = { value, value, value, value };
; 138 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 139 :
; 140 : __m128 valueVec = _mm_loadu_ps(&c);
; 141 :
; 142 : if (NULL != ret)
; 143 : {
; 144 : *ret = _mm_div_ps(*ptr, valueVec);
00038 0f 10 0b movups xmm1, XMMWORD PTR [rbx]
0003b 0f 10 c6 movups xmm0, xmm6
0003e 0f 5e ce divps xmm1, xmm6
00041 0f 11 08 movups XMMWORD PTR [rax], xmm1
; 145 : return ret;
; 146 : }
; 147 : else
; 148 : {
; 149 : return -1;
; 150 : }
; 151 : }
00044 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00049 48 83 c4 40 add rsp, 64 ; 00000040H
0004d 5b pop rbx
0004e c3 ret 0
$LN2@divps_cons:
0004f 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00054 48 c7 c0 ff ff
ff ff mov rax, -1
0005b 48 83 c4 40 add rsp, 64 ; 00000040H
0005f 5b pop rbx
00060 c3 ret 0
divps_const ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_sum
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
mulps_sum PROC ; COMDAT
; 114 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b d9 mov rbx, rcx
0000d 48 8b fa mov rdi, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
0001f 0f 59 07 mulps xmm0, XMMWORD PTR [rdi]
00022 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00027 f2 0f 7c c0 haddps xmm0, xmm0
0002b f2 0f 7c c0 haddps xmm0, xmm0
; 115 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
; 116 : ret = _mm_hadd_ps(ret,ret);
; 117 : ret = _mm_hadd_ps(ret,ret);
; 118 : return *(float*)&ret;
; 119 : }
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
00033 5f pop rdi
00034 c3 ret 0
mulps_sum ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
mulps PROC ; COMDAT
; 99 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8b ca mov ecx, edx
00023 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00029 48 85 c0 test rax, rax
0002c 74 14 je SHORT $LN2@mulps
; 100 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 101 :
; 102 : if (NULL != ret)
; 103 : {
; 104 : *ret = _mm_mul_ps(*ptr1, *ptr2);
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00031 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 105 : return ret;
; 106 : }
; 107 : else
; 108 : {
; 109 : return -1;
; 110 : }
; 111 : }
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
00040 5f pop rdi
00041 c3 ret 0
$LN2@mulps:
00042 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00047 48 c7 c0 ff ff
ff ff mov rax, -1
0004e 48 83 c4 20 add rsp, 32 ; 00000020H
00052 5f pop rdi
00053 c3 ret 0
mulps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_const
_TEXT SEGMENT
c$ = 32
ptr$ = 80
value$ = 88
mulps_const PROC ; COMDAT
; 81 : {
$LN7:
00000 40 53 push rbx
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
00006 0f 29 74 24 30 movaps XMMWORD PTR [rsp+48], xmm6
0000b 48 8b d9 mov rbx, rcx
0000e 0f 28 f1 movaps xmm6, xmm1
00011 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00018 0f c6 f6 00 shufps xmm6, xmm6, 0
0001c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00021 ba 10 00 00 00 mov edx, 16
00026 8b ca mov ecx, edx
00028 0f 11 74 24 20 movups XMMWORD PTR c$[rsp], xmm6
0002d ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00033 48 85 c0 test rax, rax
00036 74 14 je SHORT $LN2@mulps_cons
; 82 : float c[4] = { value, value, value, value };
; 83 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
; 84 :
; 85 : __m128 valueVec = _mm_loadu_ps(&c);
; 86 :
; 87 : if (NULL != ret)
; 88 : {
; 89 : *ret = _mm_mul_ps(*ptr,valueVec);
00038 0f 10 c6 movups xmm0, xmm6
0003b 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
0003e 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 90 : return ret;
; 91 : }
; 92 : else
; 93 : {
; 94 : return -1;
; 95 : }
; 96 : }
00041 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00046 48 83 c4 40 add rsp, 64 ; 00000040H
0004a 5b pop rbx
0004b c3 ret 0
$LN2@mulps_cons:
0004c 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00051 48 c7 c0 ff ff
ff ff mov rax, -1
00058 48 83 c4 40 add rsp, 64 ; 00000040H
0005c 5b pop rbx
0005d c3 ret 0
mulps_const ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT subps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
subps PROC ; COMDAT
; 66 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@subps
; 67 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
; 68 :
; 69 : if (NULL != ret)
; 70 : {
; 71 : *ret = _mm_sub_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 72 : return ret;
; 73 : }
; 74 : else
; 75 : {
; 76 : return -1;
; 77 : }
; 78 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
00041 5f pop rdi
00042 c3 ret 0
$LN2@subps:
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00048 48 c7 c0 ff ff
ff ff mov rax, -1
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
00053 5f pop rdi
00054 c3 ret 0
subps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT addps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
addps PROC ; COMDAT
; 49 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@addps
; 50 :
; 51 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 52 :
; 53 : if (NULL != ret)
; 54 : {
; 55 : *ret = _mm_add_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 56 : return ret;
; 57 : }
; 58 : else
; 59 : {
; 60 : return (__m128*) - 1;
; 61 : }
; 62 :
; 63 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
00041 5f pop rdi
00042 c3 ret 0
$LN2@addps:
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00048 48 c7 c0 ff ff
ff ff mov rax, -1
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
00053 5f pop rdi
00054 c3 ret 0
addps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT load_cpy
_TEXT SEGMENT
ptr$ = 48
load_cpy PROC ; COMDAT
; 37 : {
$LN7:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 ba 10 00 00 00 mov edx, 16
0001a 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
0001d ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00023 48 85 c0 test rax, rax
00026 74 06 je SHORT $LN4@load_cpy
; 38 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 39 :
; 40 : if (NULL != ret)
; 41 : {
; 42 : *ret = *ptr;
00028 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
0002b 0f 11 00 movups XMMWORD PTR [rax], xmm0
$LN4@load_cpy:
; 43 : }
; 44 :
; 45 : return ret;
; 46 : }
0002e 48 83 c4 20 add rsp, 32 ; 00000020H
00032 5b pop rbx
00033 c3 ret 0
load_cpy ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT load
_TEXT SEGMENT
array$ = 32
x$ = 128
y$ = 136
z$ = 144
w$ = 152
load PROC ; COMDAT
; 21 : {
$LN7:
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
00004 0f 29 74 24 60 movaps XMMWORD PTR [rsp+96], xmm6
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 0f 29 7c 24 50 movaps XMMWORD PTR [rsp+80], xmm7
00015 0f 28 f0 movaps xmm6, xmm0
00018 44 0f 29 44 24
40 movaps XMMWORD PTR [rsp+64], xmm8
0001e 0f 28 f9 movaps xmm7, xmm1
00021 44 0f 29 4c 24
30 movaps XMMWORD PTR [rsp+48], xmm9
00027 44 0f 28 c2 movaps xmm8, xmm2
0002b 44 0f 28 cb movaps xmm9, xmm3
0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00034 ba 10 00 00 00 mov edx, 16
00039 f3 0f 11 74 24
20 movss DWORD PTR array$[rsp], xmm6
0003f 8b ca mov ecx, edx
00041 f3 0f 11 7c 24
24 movss DWORD PTR array$[rsp+4], xmm7
00047 f3 44 0f 11 44
24 28 movss DWORD PTR array$[rsp+8], xmm8
0004e f3 44 0f 11 4c
24 2c movss DWORD PTR array$[rsp+12], xmm9
00055 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0005b 48 85 c0 test rax, rax
0005e 74 0a je SHORT $LN2@load
; 22 : float array[4] = {x,y,z,w};
; 23 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
; 24 :
; 25 : if (NULL != ptr)
; 26 : {
; 27 : *ptr = _mm_loadu_ps(&array);
00060 0f 10 44 24 20 movups xmm0, XMMWORD PTR array$[rsp]
00065 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 28 : return ptr;
00068 eb 07 jmp SHORT $LN3@load
$LN2@load:
; 29 : }
; 30 : else
; 31 : {
; 32 : return -1;
0006a 48 c7 c0 ff ff
ff ff mov rax, -1
$LN3@load:
; 33 : }
; 34 : }
00071 0f 28 74 24 60 movaps xmm6, XMMWORD PTR [rsp+96]
00076 0f 28 7c 24 50 movaps xmm7, XMMWORD PTR [rsp+80]
0007b 44 0f 28 44 24
40 movaps xmm8, XMMWORD PTR [rsp+64]
00081 44 0f 28 4c 24
30 movaps xmm9, XMMWORD PTR [rsp+48]
00087 48 83 c4 78 add rsp, 120 ; 00000078H
0008b c3 ret 0
load ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_total_internal
_TEXT SEGMENT
vec$ = 8
mulps_total_internal PROC ; COMDAT
00000 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00007 e9 00 00 00 00 jmp __CheckForDebuggerJustMyCode
mulps_total_internal ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_sum_internal
_TEXT SEGMENT
left$ = 48
right$ = 56
mulps_sum_internal PROC ; COMDAT
; 122 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b d9 mov rbx, rcx
0000d 48 8b fa mov rdi, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
0001f 0f 59 07 mulps xmm0, XMMWORD PTR [rdi]
00022 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00027 f2 0f 7c c0 haddps xmm0, xmm0
0002b f2 0f 7c c0 haddps xmm0, xmm0
; 123 : __m128 ret = _mm_mul_ps(left, right);
; 124 : ret = _mm_hadd_ps(ret, ret);
; 125 : ret = _mm_hadd_ps(ret, ret);
; 126 : return *(float*)&ret;
; 127 : }
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
00033 5f pop rdi
00034 c3 ret 0
mulps_sum_internal ENDP
_TEXT ENDS
END
Binary file not shown.
@@ -1,293 +0,0 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__694534F6_mat2@c DB 01H
msvcjmc ENDS
PUBLIC add_mat2
PUBLIC sub_mat2
PUBLIC transmpose2to4
PUBLIC deinit_mat2
PUBLIC __JustMyCode_Default
EXTRN __imp__aligned_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN defaultVecPtr:QWORD
; COMDAT pdata
pdata SEGMENT
$pdata$add_mat2 DD imagerel $LN7
DD imagerel $LN7+79
DD imagerel $unwind$add_mat2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$sub_mat2 DD imagerel $LN7
DD imagerel $LN7+79
DD imagerel $unwind$sub_mat2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transmpose2to4 DD imagerel $LN4
DD imagerel $LN4+122
DD imagerel $unwind$transmpose2to4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinit_mat2 DD imagerel $LN4
DD imagerel $LN4+36
DD imagerel $unwind$deinit_mat2
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinit_mat2 DD 020601H
DD 030023206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transmpose2to4 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sub_mat2 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$add_mat2 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT deinit_mat2
_TEXT SEGMENT
mat$ = 48
deinit_mat2 PROC ; COMDAT
; 43 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8b cb mov rcx, rbx
; 44 : _aligned_free(mat);
; 45 : }
00018 48 83 c4 20 add rsp, 32 ; 00000020H
0001c 5b pop rbx
0001d 48 ff 25 00 00
00 00 rex_jmp QWORD PTR __imp__aligned_free
deinit_mat2 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT transmpose2to4
_TEXT SEGMENT
source$ = 48
target$ = 56
transmpose2to4 PROC ; COMDAT
; 32 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b d9 mov rbx, rcx
0000d 48 8b fa mov rdi, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c 0f 10 43 10 movups xmm0, XMMWORD PTR [rbx+16]
00020 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
00027 0f 10 13 movups xmm2, XMMWORD PTR [rbx]
0002a 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0002f 0f 28 ca movaps xmm1, xmm2
00032 0f c6 d0 ee shufps xmm2, xmm0, 238 ; 000000eeH
00036 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0003a 0f 28 c1 movaps xmm0, xmm1
0003d 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00041 0f 11 07 movups XMMWORD PTR [rdi], xmm0
00044 0f 28 c2 movaps xmm0, xmm2
00047 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0004e 0f c6 08 dd shufps xmm1, XMMWORD PTR [rax], 221 ; 000000ddH
00052 0f 11 4f 10 movups XMMWORD PTR [rdi+16], xmm1
00056 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0005d 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00061 0f 11 47 20 movups XMMWORD PTR [rdi+32], xmm0
00065 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0006c 0f c6 10 dd shufps xmm2, XMMWORD PTR [rax], 221 ; 000000ddH
00070 0f 11 57 30 movups XMMWORD PTR [rdi+48], xmm2
; 33 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
; 34 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
; 35 :
; 36 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 37 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 38 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 39 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 40 : }
00074 48 83 c4 20 add rsp, 32 ; 00000020H
00078 5f pop rdi
00079 c3 ret 0
transmpose2to4 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT sub_mat2
_TEXT SEGMENT
mat1$ = 48
mat2$ = 56
sub_mat2 PROC ; COMDAT
; 18 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a 10 lea ecx, QWORD PTR [rdx+16]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 15 je SHORT $LN4@sub_mat2
; 19 : matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
; 20 :
; 21 : if (ret != 0)
; 22 : {
; 23 : ret->colum[0] = _mm_sub_ps(mat1->colum[0], mat2->colum[0]);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 24 : ret->colum[1] = _mm_sub_ps(mat1->colum[1], mat2->colum[1]);
00038 0f 10 4f 10 movups xmm1, XMMWORD PTR [rdi+16]
0003c 0f 5c 4b 10 subps xmm1, XMMWORD PTR [rbx+16]
00040 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN4@sub_mat2:
; 25 : }
; 26 :
; 27 : return ret;
; 28 : }
00044 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00049 48 83 c4 20 add rsp, 32 ; 00000020H
0004d 5f pop rdi
0004e c3 ret 0
sub_mat2 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT add_mat2
_TEXT SEGMENT
mat1$ = 48
mat2$ = 56
add_mat2 PROC ; COMDAT
; 5 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a 10 lea ecx, QWORD PTR [rdx+16]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 15 je SHORT $LN4@add_mat2
; 6 : matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
; 7 :
; 8 : if (ret != 0)
; 9 : {
; 10 : ret->colum[0] = _mm_add_ps(mat1->colum[0], mat2->colum[0]);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 11 : ret->colum[1] = _mm_add_ps(mat1->colum[1], mat2->colum[1]);
00038 0f 10 4f 10 movups xmm1, XMMWORD PTR [rdi+16]
0003c 0f 58 4b 10 addps xmm1, XMMWORD PTR [rbx+16]
00040 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN4@add_mat2:
; 12 : }
; 13 :
; 14 : return ret;
; 15 : }
00044 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00049 48 83 c4 20 add rsp, 32 ; 00000020H
0004d 5f pop rdi
0004e c3 ret 0
add_mat2 ENDP
_TEXT ENDS
END
Binary file not shown.
@@ -1,138 +0,0 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__C44F8F6B_corecrt_stdio_config@h DB 01H
__A7F89B2B_corecrt_wstdio@h DB 01H
__B5C48800_stdio@h DB 01H
__68875EC1_mat3@c DB 01H
msvcjmc ENDS
PUBLIC det_mat3_internal
PUBLIC __JustMyCode_Default
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat3_internal DD imagerel $LN4
DD imagerel $LN4+109
DD imagerel $unwind$det_mat3_internal
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat3_internal DD 060f01H
DD 07640fH
DD 06340fH
DD 0700b320fH
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat3.c
; COMDAT det_mat3_internal
_TEXT SEGMENT
c0$ = 48
c1$ = 56
c2$ = 64
det_mat3_internal PROC ; COMDAT
; 5 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
0000a 57 push rdi
0000b 48 83 ec 20 sub rsp, 32 ; 00000020H
0000f 48 8b f9 mov rdi, rcx
00012 49 8b f0 mov rsi, r8
00015 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__68875EC1_mat3@c
0001c 48 8b da mov rbx, rdx
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 0f 10 1b movups xmm3, XMMWORD PTR [rbx]
00027 0f 10 16 movups xmm2, XMMWORD PTR [rsi]
0002a 0f 28 e3 movaps xmm4, xmm3
0002d 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00032 0f 28 c2 movaps xmm0, xmm2
00035 48 8b 74 24 38 mov rsi, QWORD PTR [rsp+56]
0003a 0f c6 e3 c9 shufps xmm4, xmm3, 201 ; 000000c9H
0003e 0f 59 27 mulps xmm4, XMMWORD PTR [rdi]
00041 0f c6 c2 d2 shufps xmm0, xmm2, 210 ; 000000d2H
00045 0f c6 db d2 shufps xmm3, xmm3, 210 ; 000000d2H
00049 0f 59 1f mulps xmm3, XMMWORD PTR [rdi]
0004c 0f 59 e0 mulps xmm4, xmm0
0004f 0f c6 d2 c9 shufps xmm2, xmm2, 201 ; 000000c9H
00053 0f 59 da mulps xmm3, xmm2
00056 0f 5c e3 subps xmm4, xmm3
00059 0f 28 c4 movaps xmm0, xmm4
0005c f2 0f 7c c4 haddps xmm0, xmm4
00060 0f 58 c4 addps xmm0, xmm4
00063 0f c6 c0 aa shufps xmm0, xmm0, 170 ; 000000aaH
; 6 :
; 7 : //let adding row aligned
; 8 : __m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
; 9 : __m128 addc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 1, 0, 2));
; 10 :
; 11 : //let sub row aligned
; 12 : __m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2));
; 13 : __m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1));
; 14 :
; 15 : //multple all add row
; 16 : __m128 cache = _mm_mul_ps(c0,addc1);
; 17 : cache = _mm_mul_ps(cache,addc2);
; 18 :
; 19 : //multiple all sub row
; 20 : __m128 sub = _mm_mul_ps(c0, subc1);
; 21 : sub = _mm_mul_ps(sub, subc2);
; 22 :
; 23 : //main-corner sub sub-corner
; 24 : cache = _mm_sub_ps(cache,sub);
; 25 :
; 26 : __m128 ret = _mm_hadd_ps(cache,cache); //element 1 add element 2
; 27 : ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3
; 28 :
; 29 :
; 30 : return ret.m128_f32[2];
; 31 : }
00067 48 83 c4 20 add rsp, 32 ; 00000020H
0006b 5f pop rdi
0006c c3 ret 0
det_mat3_internal ENDP
_TEXT ENDS
END
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,33 +1,193 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
INCLUDELIB OLDNAMES
PUBLIC infolog
EXTRN glfwGetProcAddress:PROC
EXTRN glfwWindowHint:PROC
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN glfwInit:PROC
EXTRN __imp___acrt_iob_func:PROC
infolog DQ 0200H DUP (?)
_BSS ENDS
PUBLIC readLog
PUBLIC linkShaderProgram
PUBLIC loadShaderCode
PUBLIC initGLAD
PUBLIC initGL
PUBLIC printShaderCode
PUBLIC printf
PUBLIC _vfprintf_l
PUBLIC __local_stdio_printf_options
; COMDAT pdata
pdata SEGMENT
$pdata$linkShaderProgram DD imagerel $LN7@linkShader
DD imagerel $LN7@linkShader+131
DD imagerel $unwind$linkShaderProgram
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$loadShaderCode DD imagerel $LN7
DD imagerel $LN7+177
DD imagerel $unwind$loadShaderCode
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$initGL DD imagerel $LN4@initGL
DD imagerel $LN4@initGL+68
DD imagerel $unwind$initGL
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN6@printf
DD imagerel $LN6@printf+85
DD imagerel $unwind$printf
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN4@vfprintf_l
DD imagerel $LN4@vfprintf_l+68
DD imagerel $unwind$_vfprintf_l
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_vfprintf_l DQ 00009640f00060f01r ; 1.30596e-308
DQ 0700b520f0008340fr ; 5.30195e+231
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printf DQ 07017521b00041b01r ; 9.05146e+231
DD 030156016H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$initGL DQ 00006340a00040a01r ; 8.62672e-309
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$loadShaderCode DD 021519H
DD 030027206H
DD imagerel __GSHandlerCheck
DD 030H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$linkShaderProgram DQ 03002520600021519r ; 1.97773e-77
DD imagerel __GSHandlerCheck
DD 028H
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT initGLAD
; COMDAT loadShaderCode
_TEXT SEGMENT
initGLAD PROC ; COMDAT
shaderCode$GSCopy$ = 32
success$ = 40
__$ArrayPad$ = 48
shaderCode$ = 80
shadertype$ = 88
loadShaderCode PROC ; COMDAT
; 27 : return gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
; 37 : {
00000 e9 00 00 00 00 jmp gladLoadGLLoader
initGLAD ENDP
$LN7:
00000 40 53 push rbx
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
00006 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0000d 48 33 c4 xor rax, rsp
00010 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax
00015 48 89 4c 24 20 mov QWORD PTR shaderCode$GSCopy$[rsp], rcx
; 38 : unsigned int shader = glCreateShader(shadertype);
0001a 8b ca mov ecx, edx
0001c ff 15 00 00 00
00 call QWORD PTR glad_glCreateShader
; 39 : glShaderSource(shader, 1, &shaderCode, NULL);
00022 45 33 c9 xor r9d, r9d
00025 4c 8d 44 24 20 lea r8, QWORD PTR shaderCode$GSCopy$[rsp]
0002a 8b c8 mov ecx, eax
0002c 8b d8 mov ebx, eax
0002e 41 8d 51 01 lea edx, QWORD PTR [r9+1]
00032 ff 15 00 00 00
00 call QWORD PTR glad_glShaderSource
; 40 : glCompileShader(shader);
00038 8b cb mov ecx, ebx
0003a ff 15 00 00 00
00 call QWORD PTR glad_glCompileShader
; 41 : int success;
; 42 : glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
00040 4c 8d 44 24 28 lea r8, QWORD PTR success$[rsp]
00045 ba 81 8b 00 00 mov edx, 35713 ; 00008b81H
0004a 8b cb mov ecx, ebx
0004c ff 15 00 00 00
00 call QWORD PTR glad_glGetShaderiv
; 43 : if (!success)
00052 83 7c 24 28 00 cmp DWORD PTR success$[rsp], 0
00057 75 43 jne SHORT $LN2@loadShader
; 44 : {
; 45 : glGetShaderInfoLog(shader, 512, NULL, infolog);
00059 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:infolog
00060 45 33 c0 xor r8d, r8d
00063 ba 00 02 00 00 mov edx, 512 ; 00000200H
00068 8b cb mov ecx, ebx
0006a ff 15 00 00 00
00 call QWORD PTR glad_glGetShaderInfoLog
; 46 : infolog[511] = '\0';
; 47 : printf(infolog);
00070 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:infolog
00077 48 c7 05 f8 0f
00 00 00 00 00
00 mov QWORD PTR infolog+4088, 0
00082 e8 00 00 00 00 call printf
; 48 : return 0;
00087 33 c0 xor eax, eax
; 53 : }
; 54 : }
00089 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp]
0008e 48 33 cc xor rcx, rsp
00091 e8 00 00 00 00 call __security_check_cookie
00096 48 83 c4 40 add rsp, 64 ; 00000040H
0009a 5b pop rbx
0009b c3 ret 0
$LN2@loadShader:
; 49 : }
; 50 : else
; 51 : {
; 52 : return shader;
0009c 8b c3 mov eax, ebx
; 53 : }
; 54 : }
0009e 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp]
000a3 48 33 cc xor rcx, rsp
000a6 e8 00 00 00 00 call __security_check_cookie
000ab 48 83 c4 40 add rsp, 64 ; 00000040H
000af 5b pop rbx
000b0 c3 ret 0
loadShaderCode ENDP
_TEXT ENDS
END
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32822.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
Binary file not shown.
Binary file not shown.