; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB OLDNAMES PUBLIC ??_C@_0CO@KALOHMEN@WGL?3?5Unknown?5pixel?5format?5attri@ ; `string' PUBLIC ??_C@_0DA@LMPKCOPB@WGL?3?5Failed?5to?5retrieve?5pixel?5f@ ; `string' PUBLIC ??_C@_0CF@OGLFKBHA@WGL?3?5Failed?5to?5describe?5pixel?5f@ ; `string' PUBLIC ??_C@_0DC@HFHALHIB@WGL?3?5The?5driver?5does?5not?5appear@ ; `string' PUBLIC ??_C@_0CM@DGJKGOGD@WGL?3?5Failed?5to?5find?5a?5suitable?5@ ; `string' PUBLIC ??_C@_0CE@FEGPCKPN@WGL?3?5Failed?5to?5make?5context?5cur@ ; `string' PUBLIC ??_C@_0CF@EKIADPFB@WGL?3?5Failed?5to?5clear?5current?5co@ ; `string' PUBLIC ??_C@_0CB@FLGENKMO@WGL?3?5Failed?5to?5load?5opengl32?4dl@ ; `string' PUBLIC ??_C@_0BB@GHMBNOIP@wglCreateContext@ ; `string' PUBLIC ??_C@_0BB@OGAIJNNO@wglDeleteContext@ ; `string' PUBLIC ??_C@_0BA@BMKCDCKD@wglGetCurrentDC@ ; `string' PUBLIC ??_C@_0BF@HABDPBMA@wglGetCurrentContext@ ; `string' PUBLIC ??_C@_0P@BBBFNDGG@wglMakeCurrent@ ; `string' PUBLIC ??_C@_0O@GCGJMHDL@wglShareLists@ ; `string' PUBLIC ??_C@_0DC@IPDIACJO@WGL?3?5Failed?5to?5set?5pixel?5format@ ; `string' PUBLIC ??_C@_0CE@KAEELGKL@WGL?3?5Failed?5to?5create?5dummy?5con@ ; `string' PUBLIC ??_C@_0CK@JKJFDJLH@WGL?3?5Failed?5to?5make?5dummy?5conte@ ; `string' PUBLIC ??_C@_0CG@GMPEPNKL@WGL?3?5Failed?5to?5retrieve?5DC?5for?5@ ; `string' PUBLIC ??_C@_0DG@EPNPJJLB@WGL?3?5Failed?5to?5retrieve?5PFD?5for@ ; `string' PUBLIC ??_C@_0CJ@HAGOIHNO@WGL?3?5Failed?5to?5set?5selected?5pix@ ; `string' PUBLIC ??_C@_0FN@NPOMMKHN@WGL?3?5A?5forward?5compatible?5OpenG@ ; `string' PUBLIC ??_C@_0FA@OHOPKHFK@WGL?3?5OpenGL?5profile?5requested?5b@ ; `string' PUBLIC ??_C@_0EP@EKHGPGGO@WGL?3?5OpenGL?5ES?5requested?5but?5WG@ ; `string' PUBLIC ??_C@_0DC@CDLECLKD@WGL?3?5Driver?5does?5not?5support?5Op@ ; `string' PUBLIC ??_C@_0DF@NPMNAJFG@WGL?3?5Driver?5does?5not?5support?5Op@ ; `string' PUBLIC ??_C@_0DK@CDBDDLLM@WGL?3?5Driver?5does?5not?5support?5th@ ; `string' PUBLIC ??_C@_0EE@LGMAAPCC@WGL?3?5The?5share?5context?5is?5not?5c@ ; `string' PUBLIC ??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ ; `string' PUBLIC ??_C@_0CI@JNBCHAIF@WGL?3?5Failed?5to?5create?5OpenGL?5ES@ ; `string' PUBLIC ??_C@_0DM@FCAOPKO@WGL?3?5Failed?5to?5enable?5sharing?5w@ ; `string' PUBLIC ??_C@_0BO@NDHCIMGN@WGL?3?5Platform?5not?5initialized@ ; `string' EXTRN __imp_GetDC:PROC EXTRN __imp_DescribePixelFormat:PROC EXTRN __imp_GetLastError:PROC EXTRN __imp_ChoosePixelFormat:PROC EXTRN __imp_SwapBuffers:PROC EXTRN __imp_SetPixelFormat:PROC ; COMDAT ??_C@_0BO@NDHCIMGN@WGL?3?5Platform?5not?5initialized@ CONST SEGMENT ??_C@_0BO@NDHCIMGN@WGL?3?5Platform?5not?5initialized@ DB 'WGL: Platform n' DB 'ot initialized', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DM@FCAOPKO@WGL?3?5Failed?5to?5enable?5sharing?5w@ CONST SEGMENT ??_C@_0DM@FCAOPKO@WGL?3?5Failed?5to?5enable?5sharing?5w@ DB 'WGL: Failed ' DB 'to enable sharing with specified OpenGL context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CI@JNBCHAIF@WGL?3?5Failed?5to?5create?5OpenGL?5ES@ CONST SEGMENT ??_C@_0CI@JNBCHAIF@WGL?3?5Failed?5to?5create?5OpenGL?5ES@ DB 'WGL: Failed' DB ' to create OpenGL ES context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ CONST SEGMENT ??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ DB 'WGL: Failed ' DB 'to create OpenGL context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EE@LGMAAPCC@WGL?3?5The?5share?5context?5is?5not?5c@ CONST SEGMENT ??_C@_0EE@LGMAAPCC@WGL?3?5The?5share?5context?5is?5not?5c@ DB 'WGL: The s' DB 'hare context is not compatible with the requested context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DK@CDBDDLLM@WGL?3?5Driver?5does?5not?5support?5th@ CONST SEGMENT ??_C@_0DK@CDBDDLLM@WGL?3?5Driver?5does?5not?5support?5th@ DB 'WGL: Driver' DB ' does not support the requested OpenGL profile', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DF@NPMNAJFG@WGL?3?5Driver?5does?5not?5support?5Op@ CONST SEGMENT ??_C@_0DF@NPMNAJFG@WGL?3?5Driver?5does?5not?5support?5Op@ DB 'WGL: Driver' DB ' does not support OpenGL ES version %i.%i', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DC@CDLECLKD@WGL?3?5Driver?5does?5not?5support?5Op@ CONST SEGMENT ??_C@_0DC@CDLECLKD@WGL?3?5Driver?5does?5not?5support?5Op@ DB 'WGL: Driver' DB ' does not support OpenGL version %i.%i', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EP@EKHGPGGO@WGL?3?5OpenGL?5ES?5requested?5but?5WG@ CONST SEGMENT ??_C@_0EP@EKHGPGGO@WGL?3?5OpenGL?5ES?5requested?5but?5WG@ DB 'WGL: OpenGL' DB ' ES requested but WGL_ARB_create_context_es2_profile is unava' DB 'ilable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0FA@OHOPKHFK@WGL?3?5OpenGL?5profile?5requested?5b@ CONST SEGMENT ??_C@_0FA@OHOPKHFK@WGL?3?5OpenGL?5profile?5requested?5b@ DB 'WGL: OpenGL ' DB 'profile requested but WGL_ARB_create_context_profile is unava' DB 'ilable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0FN@NPOMMKHN@WGL?3?5A?5forward?5compatible?5OpenG@ CONST SEGMENT ??_C@_0FN@NPOMMKHN@WGL?3?5A?5forward?5compatible?5OpenG@ DB 'WGL: A forwa' DB 'rd compatible OpenGL context requested but WGL_ARB_create_con' DB 'text is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@HAGOIHNO@WGL?3?5Failed?5to?5set?5selected?5pix@ CONST SEGMENT ??_C@_0CJ@HAGOIHNO@WGL?3?5Failed?5to?5set?5selected?5pix@ DB 'WGL: Failed' DB ' to set selected pixel format', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DG@EPNPJJLB@WGL?3?5Failed?5to?5retrieve?5PFD?5for@ CONST SEGMENT ??_C@_0DG@EPNPJJLB@WGL?3?5Failed?5to?5retrieve?5PFD?5for@ DB 'WGL: Failed' DB ' to retrieve PFD for selected pixel format', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CG@GMPEPNKL@WGL?3?5Failed?5to?5retrieve?5DC?5for?5@ CONST SEGMENT ??_C@_0CG@GMPEPNKL@WGL?3?5Failed?5to?5retrieve?5DC?5for?5@ DB 'WGL: Faile' DB 'd to retrieve DC for window', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CK@JKJFDJLH@WGL?3?5Failed?5to?5make?5dummy?5conte@ CONST SEGMENT ??_C@_0CK@JKJFDJLH@WGL?3?5Failed?5to?5make?5dummy?5conte@ DB 'WGL: Failed' DB ' to make dummy context current', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@KAEELGKL@WGL?3?5Failed?5to?5create?5dummy?5con@ CONST SEGMENT ??_C@_0CE@KAEELGKL@WGL?3?5Failed?5to?5create?5dummy?5con@ DB 'WGL: Failed' DB ' to create dummy context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DC@IPDIACJO@WGL?3?5Failed?5to?5set?5pixel?5format@ CONST SEGMENT ??_C@_0DC@IPDIACJO@WGL?3?5Failed?5to?5set?5pixel?5format@ DB 'WGL: Failed' DB ' to set pixel format for dummy context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@GCGJMHDL@wglShareLists@ CONST SEGMENT ??_C@_0O@GCGJMHDL@wglShareLists@ DB 'wglShareLists', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@BBBFNDGG@wglMakeCurrent@ CONST SEGMENT ??_C@_0P@BBBFNDGG@wglMakeCurrent@ DB 'wglMakeCurrent', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BF@HABDPBMA@wglGetCurrentContext@ CONST SEGMENT ??_C@_0BF@HABDPBMA@wglGetCurrentContext@ DB 'wglGetCurrentContext', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BA@BMKCDCKD@wglGetCurrentDC@ CONST SEGMENT ??_C@_0BA@BMKCDCKD@wglGetCurrentDC@ DB 'wglGetCurrentDC', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BB@OGAIJNNO@wglDeleteContext@ CONST SEGMENT ??_C@_0BB@OGAIJNNO@wglDeleteContext@ DB 'wglDeleteContext', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BB@GHMBNOIP@wglCreateContext@ CONST SEGMENT ??_C@_0BB@GHMBNOIP@wglCreateContext@ DB 'wglCreateContext', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CB@FLGENKMO@WGL?3?5Failed?5to?5load?5opengl32?4dl@ CONST SEGMENT ??_C@_0CB@FLGENKMO@WGL?3?5Failed?5to?5load?5opengl32?4dl@ DB 'WGL: Failed' DB ' to load opengl32.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CF@EKIADPFB@WGL?3?5Failed?5to?5clear?5current?5co@ CONST SEGMENT ??_C@_0CF@EKIADPFB@WGL?3?5Failed?5to?5clear?5current?5co@ DB 'WGL: Failed' DB ' to clear current context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@FEGPCKPN@WGL?3?5Failed?5to?5make?5context?5cur@ CONST SEGMENT ??_C@_0CE@FEGPCKPN@WGL?3?5Failed?5to?5make?5context?5cur@ DB 'WGL: Failed' DB ' to make context current', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CM@DGJKGOGD@WGL?3?5Failed?5to?5find?5a?5suitable?5@ CONST SEGMENT ??_C@_0CM@DGJKGOGD@WGL?3?5Failed?5to?5find?5a?5suitable?5@ DB 'WGL: Faile' DB 'd to find a suitable pixel format', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DC@HFHALHIB@WGL?3?5The?5driver?5does?5not?5appear@ CONST SEGMENT ??_C@_0DC@HFHALHIB@WGL?3?5The?5driver?5does?5not?5appear@ DB 'WGL: The dr' DB 'iver does not appear to support OpenGL', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CF@OGLFKBHA@WGL?3?5Failed?5to?5describe?5pixel?5f@ CONST SEGMENT ??_C@_0CF@OGLFKBHA@WGL?3?5Failed?5to?5describe?5pixel?5f@ DB 'WGL: Failed' DB ' to describe pixel format', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DA@LMPKCOPB@WGL?3?5Failed?5to?5retrieve?5pixel?5f@ CONST SEGMENT ??_C@_0DA@LMPKCOPB@WGL?3?5Failed?5to?5retrieve?5pixel?5f@ DB 'WGL: Failed' DB ' to retrieve pixel format attributes', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CO@KALOHMEN@WGL?3?5Unknown?5pixel?5format?5attri@ CONST SEGMENT ??_C@_0CO@KALOHMEN@WGL?3?5Unknown?5pixel?5format?5attri@ DB 'WGL: Unknown' DB ' pixel format attribute requested', 00H ; `string' PUBLIC glfwGetWGLContext PUBLIC _glfwCreateContextWGL PUBLIC _glfwTerminateWGL PUBLIC _glfwInitWGL ; COMDAT pdata pdata SEGMENT $pdata$glfwGetWGLContext DD imagerel $LN7 DD imagerel $LN7+111 DD imagerel $unwind$glfwGetWGLContext pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateContextWGL DD imagerel $LN98 DD imagerel $LN98+1143 DD imagerel $unwind$_glfwCreateContextWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwInitWGL DD imagerel $LN34 DD imagerel $LN34+431 DD imagerel $unwind$_glfwInitWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwInitWGL DD imagerel $LN34+431 DD imagerel $LN34+474 DD imagerel $chain$1$_glfwInitWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$_glfwInitWGL DD imagerel $LN34+474 DD imagerel $LN34+912 DD imagerel $chain$3$_glfwInitWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$_glfwInitWGL DD imagerel $LN34+912 DD imagerel $LN34+917 DD imagerel $chain$4$_glfwInitWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwInitWGL DD imagerel $LN34+917 DD imagerel $LN34+941 DD imagerel $chain$5$_glfwInitWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$destroyContextWGL DD imagerel destroyContextWGL DD imagerel destroyContextWGL+44 DD imagerel $unwind$destroyContextWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getProcAddressWGL DD imagerel getProcAddressWGL DD imagerel getProcAddressWGL+48 DD imagerel $unwind$getProcAddressWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$extensionSupportedWGL DD imagerel extensionSupportedWGL DD imagerel extensionSupportedWGL+79 DD imagerel $unwind$extensionSupportedWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$swapIntervalWGL DD imagerel swapIntervalWGL DD imagerel swapIntervalWGL+73 DD imagerel $unwind$swapIntervalWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$swapIntervalWGL DD imagerel swapIntervalWGL+73 DD imagerel swapIntervalWGL+111 DD imagerel $chain$0$swapIntervalWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$swapIntervalWGL DD imagerel swapIntervalWGL+111 DD imagerel swapIntervalWGL+147 DD imagerel $chain$1$swapIntervalWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$swapBuffersWGL DD imagerel swapBuffersWGL DD imagerel swapBuffersWGL+93 DD imagerel $unwind$swapBuffersWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$swapBuffersWGL DD imagerel swapBuffersWGL+93 DD imagerel swapBuffersWGL+128 DD imagerel $chain$0$swapBuffersWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$swapBuffersWGL DD imagerel swapBuffersWGL+128 DD imagerel swapBuffersWGL+160 DD imagerel $chain$1$swapBuffersWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$makeContextCurrentWGL DD imagerel makeContextCurrentWGL DD imagerel makeContextCurrentWGL+119 DD imagerel $unwind$makeContextCurrentWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$choosePixelFormatWGL DD imagerel choosePixelFormatWGL DD imagerel choosePixelFormatWGL+270 DD imagerel $unwind$choosePixelFormatWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$choosePixelFormatWGL DD imagerel choosePixelFormatWGL+270 DD imagerel choosePixelFormatWGL+1500 DD imagerel $chain$1$choosePixelFormatWGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$findPixelFormatAttribValueWGL DD imagerel findPixelFormatAttribValueWGL DD imagerel findPixelFormatAttribValueWGL+295 DD imagerel $unwind$findPixelFormatAttribValueWGL ; COMDAT xdata xdata SEGMENT $unwind$findPixelFormatAttribValueWGL DD 031b19H DD 018a0109H DD 03002H DD imagerel __GSHandlerCheck DD 0c40H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$choosePixelFormatWGL DD 046f21H DD 041d46fH DD 038e408H DD imagerel choosePixelFormatWGL DD imagerel choosePixelFormatWGL+270 DD imagerel $unwind$choosePixelFormatWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$choosePixelFormatWGL DD 082919H DD 0390118H DD 0c007f009H DD 060047005H DD 050023003H DD imagerel __GSHandlerCheck DD 01b0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$makeContextCurrentWGL DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$swapBuffersWGL DD 021H DD imagerel swapBuffersWGL DD imagerel swapBuffersWGL+93 DD imagerel $unwind$swapBuffersWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$swapBuffersWGL DD 020521H DD 093405H DD imagerel swapBuffersWGL DD imagerel swapBuffersWGL+93 DD imagerel $unwind$swapBuffersWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$swapBuffersWGL DD 021519H DD 070025206H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$swapIntervalWGL DD 021H DD imagerel swapIntervalWGL DD imagerel swapIntervalWGL+73 DD imagerel $unwind$swapIntervalWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$swapIntervalWGL DD 020521H DD 097405H DD imagerel swapIntervalWGL DD imagerel swapIntervalWGL+73 DD imagerel $unwind$swapIntervalWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$swapIntervalWGL DD 021519H DD 030025206H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$extensionSupportedWGL DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$getProcAddressWGL DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$destroyContextWGL DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwInitWGL DD 021H DD imagerel $LN34 DD imagerel $LN34+431 DD imagerel $unwind$_glfwInitWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$_glfwInitWGL DD 021H DD imagerel $LN34+431 DD imagerel $LN34+474 DD imagerel $chain$1$_glfwInitWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$_glfwInitWGL DD 040a21H DD 0fe40aH DD 0d5405H DD imagerel $LN34+431 DD imagerel $LN34+474 DD imagerel $chain$1$_glfwInitWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwInitWGL DD 020521H DD 0c3405H DD imagerel $LN34 DD imagerel $LN34+431 DD imagerel $unwind$_glfwInitWGL xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwInitWGL DD 048219H DD 0e6482H DD 070029206H DD imagerel __GSHandlerCheck DD 048H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateContextWGL DD 072119H DD 027340fH DD 020010fH DD 060077008H DD 05006H DD imagerel __GSHandlerCheck DD 0f0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetWGLContext DD 010401H DD 04204H ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT findPixelFormatAttribValueWGL _TEXT SEGMENT message$1 = 64 buffer$2 = 1088 __$ArrayPad$ = 3136 attribs$ = 3168 attribCount$ = 3176 values$ = 3184 attrib$ = 3192 findPixelFormatAttribValueWGL PROC ; COMDAT ; 43 : { 00000 40 53 push rbx 00002 48 81 ec 50 0c 00 00 sub rsp, 3152 ; 00000c50H 00009 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00010 48 33 c4 xor rax, rsp 00013 48 89 84 24 40 0c 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax ; 44 : int i; ; 45 : ; 46 : for (i = 0; i < attribCount; i++) 0001b 33 db xor ebx, ebx 0001d 4c 63 da movsxd r11, edx 00020 44 8b d3 mov r10d, ebx 00023 85 d2 test edx, edx 00025 7e 1e jle SHORT $LN3@findPixelF 00027 8b c3 mov eax, ebx 00029 0f 1f 80 00 00 00 00 npad 7 $LL4@findPixelF: ; 47 : { ; 48 : if (attribs[i] == attrib) 00030 44 39 0c 81 cmp DWORD PTR [rcx+rax*4], r9d 00034 0f 84 e4 00 00 00 je $LN10@findPixelF ; 44 : int i; ; 45 : ; 46 : for (i = 0; i < attribCount; i++) 0003a 41 ff c2 inc r10d 0003d 48 ff c0 inc rax 00040 49 3b c3 cmp rax, r11 00043 7c eb jl SHORT $LL4@findPixelF $LN3@findPixelF: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_init.c ; 494 : WCHAR buffer[_GLFW_MESSAGE_SIZE] = L""; 00045 33 d2 xor edx, edx 00047 66 89 9c 24 40 04 00 00 mov WORD PTR buffer$2[rsp], bx 0004f 41 b8 fe 07 00 00 mov r8d, 2046 ; 000007feH 00055 48 8d 8c 24 42 04 00 00 lea rcx, QWORD PTR buffer$2[rsp+2] 0005d e8 00 00 00 00 call memset ; 495 : char message[_GLFW_MESSAGE_SIZE] = ""; 00062 33 d2 xor edx, edx 00064 88 5c 24 40 mov BYTE PTR message$1[rsp], bl 00068 41 b8 ff 03 00 00 mov r8d, 1023 ; 000003ffH 0006e 48 8d 4c 24 41 lea rcx, QWORD PTR message$1[rsp+1] 00073 e8 00 00 00 00 call memset ; 496 : ; 497 : FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | 00078 ff 15 00 00 00 00 call QWORD PTR __imp_GetLastError 0007e 48 89 5c 24 30 mov QWORD PTR [rsp+48], rbx 00083 33 d2 xor edx, edx 00085 44 0f b7 c0 movzx r8d, ax 00089 b9 ff 12 00 00 mov ecx, 4863 ; 000012ffH 0008e 48 8d 84 24 40 04 00 00 lea rax, QWORD PTR buffer$2[rsp] 00096 c7 44 24 28 00 04 00 00 mov DWORD PTR [rsp+40], 1024 ; 00000400H 0009e 41 b9 00 04 00 00 mov r9d, 1024 ; 00000400H 000a4 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000a9 ff 15 00 00 00 00 call QWORD PTR __imp_FormatMessageW ; 498 : FORMAT_MESSAGE_IGNORE_INSERTS | ; 499 : FORMAT_MESSAGE_MAX_WIDTH_MASK, ; 500 : NULL, ; 501 : GetLastError() & 0xffff, ; 502 : MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ; 503 : buffer, ; 504 : sizeof(buffer) / sizeof(WCHAR), ; 505 : NULL); ; 506 : WideCharToMultiByte(CP_UTF8, 0, buffer, -1, message, sizeof(message), NULL, NULL); 000af 48 89 5c 24 38 mov QWORD PTR [rsp+56], rbx 000b4 48 8d 44 24 40 lea rax, QWORD PTR message$1[rsp] 000b9 48 89 5c 24 30 mov QWORD PTR [rsp+48], rbx 000be 4c 8d 84 24 40 04 00 00 lea r8, QWORD PTR buffer$2[rsp] 000c6 c7 44 24 28 00 04 00 00 mov DWORD PTR [rsp+40], 1024 ; 00000400H 000ce 41 b9 ff ff ff ff mov r9d, -1 000d4 33 d2 xor edx, edx 000d6 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000db b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H 000e0 ff 15 00 00 00 00 call QWORD PTR __imp_WideCharToMultiByte ; 507 : ; 508 : _glfwInputError(error, "%s: %s", description, message); 000e6 4c 8d 4c 24 40 lea r9, QWORD PTR message$1[rsp] 000eb b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000f0 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:??_C@_0CO@KALOHMEN@WGL?3?5Unknown?5pixel?5format?5attri@ 000f7 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_06DJHOIPC@?$CFs?3?5?$CFs@ 000fe e8 00 00 00 00 call _glfwInputError ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 54 : return 0; 00103 33 c0 xor eax, eax $LN1@findPixelF: ; 55 : } 00105 48 8b 8c 24 40 0c 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0010d 48 33 cc xor rcx, rsp 00110 e8 00 00 00 00 call __security_check_cookie 00115 48 81 c4 50 0c 00 00 add rsp, 3152 ; 00000c50H 0011c 5b pop rbx 0011d c3 ret 0 $LN10@findPixelF: ; 49 : return values[i]; 0011e 49 63 c2 movsxd rax, r10d 00121 41 8b 04 80 mov eax, DWORD PTR [r8+rax*4] 00125 eb de jmp SHORT $LN1@findPixelF findPixelFormatAttribValueWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT choosePixelFormatWGL _TEXT SEGMENT nativeCount$1$ = 48 window$GSCopy$1$ = 56 ctxconfig$1$ = 64 pfd$1 = 72 attribs$ = 112 values$ = 272 __$ArrayPad$ = 432 window$ = 512 ctxconfig$ = 520 fbconfig$ = 528 choosePixelFormatWGL PROC ; COMDAT ; 70 : { 00000 40 55 push rbp 00002 53 push rbx 00003 56 push rsi 00004 57 push rdi 00005 41 54 push r12 00007 41 57 push r15 00009 48 8d ac 24 38 ff ff ff lea rbp, QWORD PTR [rsp-200] 00011 48 81 ec c8 01 00 00 sub rsp, 456 ; 000001c8H 00018 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0001f 48 33 c4 xor rax, rsp 00022 48 89 85 b0 00 00 00 mov QWORD PTR __$ArrayPad$[rbp-256], rax ; 71 : _GLFWfbconfig* usableConfigs; ; 72 : const _GLFWfbconfig* closest; ; 73 : int i, pixelFormat, nativeCount, usableCount = 0, attribCount = 0; 00029 45 33 ff xor r15d, r15d 0002c 48 89 54 24 40 mov QWORD PTR ctxconfig$1$[rsp], rdx 00031 4d 8b e0 mov r12, r8 00034 48 89 4c 24 38 mov QWORD PTR window$GSCopy$1$[rsp], rcx ; 74 : int attribs[40]; ; 75 : int values[sizeof(attribs) / sizeof(attribs[0])]; ; 76 : ; 77 : nativeCount = DescribePixelFormat(window->context.wgl.dc, 00039 48 8b 89 b8 02 00 00 mov rcx, QWORD PTR [rcx+696] 00040 48 8b da mov rbx, rdx 00043 45 33 c9 xor r9d, r9d 00046 41 8b ff mov edi, r15d 00049 41 8d 57 01 lea edx, QWORD PTR [r15+1] 0004d 45 8d 47 28 lea r8d, QWORD PTR [r15+40] 00051 ff 15 00 00 00 00 call QWORD PTR __imp_DescribePixelFormat ; 78 : 1, ; 79 : sizeof(PIXELFORMATDESCRIPTOR), ; 80 : NULL); ; 81 : ; 82 : if (_glfw.wgl.ARB_pixel_format) 00057 44 39 3d 0c 2d 00 00 cmp DWORD PTR _glfw+11532, r15d 0005e 48 63 f0 movsxd rsi, eax 00061 89 74 24 30 mov DWORD PTR nativeCount$1$[rsp], esi 00065 0f 84 a3 00 00 00 je $LN11@choosePixe ; 83 : { ; 84 : ADD_ATTRIB(WGL_SUPPORT_OPENGL_ARB); ; 85 : ADD_ATTRIB(WGL_DRAW_TO_WINDOW_ARB); ; 86 : ADD_ATTRIB(WGL_PIXEL_TYPE_ARB); ; 87 : ADD_ATTRIB(WGL_ACCELERATION_ARB); ; 88 : ADD_ATTRIB(WGL_RED_BITS_ARB); ; 89 : ADD_ATTRIB(WGL_RED_SHIFT_ARB); ; 90 : ADD_ATTRIB(WGL_GREEN_BITS_ARB); ; 91 : ADD_ATTRIB(WGL_GREEN_SHIFT_ARB); ; 92 : ADD_ATTRIB(WGL_BLUE_BITS_ARB); ; 93 : ADD_ATTRIB(WGL_BLUE_SHIFT_ARB); ; 94 : ADD_ATTRIB(WGL_ALPHA_BITS_ARB); ; 95 : ADD_ATTRIB(WGL_ALPHA_SHIFT_ARB); ; 96 : ADD_ATTRIB(WGL_DEPTH_BITS_ARB); ; 97 : ADD_ATTRIB(WGL_STENCIL_BITS_ARB); ; 98 : ADD_ATTRIB(WGL_ACCUM_BITS_ARB); ; 99 : ADD_ATTRIB(WGL_ACCUM_RED_BITS_ARB); ; 100 : ADD_ATTRIB(WGL_ACCUM_GREEN_BITS_ARB); ; 101 : ADD_ATTRIB(WGL_ACCUM_BLUE_BITS_ARB); ; 102 : ADD_ATTRIB(WGL_ACCUM_ALPHA_BITS_ARB); ; 103 : ADD_ATTRIB(WGL_AUX_BUFFERS_ARB); ; 104 : ADD_ATTRIB(WGL_STEREO_ARB); ; 105 : ADD_ATTRIB(WGL_DOUBLE_BUFFER_ARB); ; 106 : ; 107 : if (_glfw.wgl.ARB_multisample) 0006b 44 39 3d 00 2d 00 00 cmp DWORD PTR _glfw+11520, r15d 00072 41 8d 7f 16 lea edi, QWORD PTR [r15+22] 00076 66 0f 6f 05 00 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@00002003000020130000200100002010 0007e 66 0f 6f 0d 00 00 00 00 movdqa xmm1, XMMWORD PTR __xmm@00002018000020170000201600002015 00086 66 0f 7f 44 24 70 movdqa XMMWORD PTR attribs$[rsp], xmm0 0008c 66 0f 6f 05 00 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@0000201c0000201b0000201a00002019 00094 66 0f 7f 45 90 movdqa XMMWORD PTR attribs$[rbp-224], xmm0 00099 66 0f 6f 05 00 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@0000202400002021000020200000201f 000a1 66 0f 7f 4d 80 movdqa XMMWORD PTR attribs$[rbp-240], xmm1 000a6 66 0f 6f 0d 00 00 00 00 movdqa xmm1, XMMWORD PTR __xmm@0000201e0000201d0000202300002022 000ae 66 0f 7f 45 b0 movdqa XMMWORD PTR attribs$[rbp-192], xmm0 000b3 66 0f 7f 4d a0 movdqa XMMWORD PTR attribs$[rbp-208], xmm1 000b8 c7 45 c0 12 20 00 00 mov DWORD PTR attribs$[rbp-176], 8210 ; 00002012H 000bf c7 45 c4 11 20 00 00 mov DWORD PTR attribs$[rbp-172], 8209 ; 00002011H 000c6 74 0b je SHORT $LN6@choosePixe ; 108 : ADD_ATTRIB(WGL_SAMPLES_ARB); 000c8 c7 45 c8 42 20 00 00 mov DWORD PTR attribs$[rbp-168], 8258 ; 00002042H 000cf 41 8d 7f 17 lea edi, QWORD PTR [r15+23] $LN6@choosePixe: ; 109 : ; 110 : if (ctxconfig->client == GLFW_OPENGL_API) 000d3 81 3b 01 00 03 00 cmp DWORD PTR [rbx], 196609 ; 00030001H 000d9 75 1e jne SHORT $LN7@choosePixe ; 111 : { ; 112 : if (_glfw.wgl.ARB_framebuffer_sRGB || _glfw.wgl.EXT_framebuffer_sRGB) 000db 44 39 3d 04 2d 00 00 cmp DWORD PTR _glfw+11524, r15d 000e2 75 09 jne SHORT $LN10@choosePixe 000e4 44 39 3d 08 2d 00 00 cmp DWORD PTR _glfw+11528, r15d 000eb 74 21 je SHORT $LN11@choosePixe $LN10@choosePixe: ; 113 : ADD_ATTRIB(WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB); 000ed 8b c7 mov eax, edi 000ef c7 44 84 70 a9 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8361 ; 000020a9H ; 114 : } 000f7 eb 13 jmp SHORT $LN119@choosePixe $LN7@choosePixe: ; 115 : else ; 116 : { ; 117 : if (_glfw.wgl.EXT_colorspace) 000f9 44 39 3d fc 2c 00 00 cmp DWORD PTR _glfw+11516, r15d 00100 74 0c je SHORT $LN11@choosePixe ; 118 : ADD_ATTRIB(WGL_COLORSPACE_EXT); 00102 8b c7 mov eax, edi 00104 c7 44 84 70 9d 30 00 00 mov DWORD PTR attribs$[rsp+rax*4], 12445 ; 0000309dH $LN119@choosePixe: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 273 : if (count && size) 0010c ff c7 inc edi $LN11@choosePixe: 0010e 4c 89 b4 24 c0 01 00 00 mov QWORD PTR [rsp+448], r14 00116 85 f6 test esi, esi 00118 74 58 je SHORT $LN55@choosePixe ; 274 : { ; 275 : void* block; ; 276 : ; 277 : if (count > SIZE_MAX / size) 0011a 48 b9 8e e3 38 8e e3 38 8e 03 mov rcx, 256204778801521550 ; 038e38e38e38e38eH 00124 48 3b f1 cmp rsi, rcx 00127 76 0e jbe SHORT $LN57@choosePixe ; 278 : { ; 279 : _glfwInputError(GLFW_INVALID_VALUE, "Allocation size overflow"); 00129 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ 00130 b9 04 00 01 00 mov ecx, 65540 ; 00010004H ; 280 : return NULL; 00135 eb 36 jmp SHORT $LN123@choosePixe $LN57@choosePixe: ; 281 : } ; 282 : ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 00137 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0013e 48 8d 1c f6 lea rbx, QWORD PTR [rsi+rsi*8] 00142 48 c1 e3 03 shl rbx, 3 00146 48 8b cb mov rcx, rbx 00149 ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 0014f 48 85 c0 test rax, rax 00152 74 12 je SHORT $LN58@choosePixe ; 285 : return memset(block, 0, count * size); 00154 4c 8b c3 mov r8, rbx 00157 33 d2 xor edx, edx 00159 48 8b c8 mov rcx, rax 0015c e8 00 00 00 00 call memset 00161 4c 8b f0 mov r14, rax 00164 eb 0f jmp SHORT $LN56@choosePixe $LN58@choosePixe: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 00166 33 d2 xor edx, edx 00168 b9 05 00 01 00 mov ecx, 65541 ; 00010005H $LN123@choosePixe: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 124 : for (i = 0; i < nativeCount; i++) 0016d e8 00 00 00 00 call _glfwInputError $LN55@choosePixe: 00172 4d 8b f7 mov r14, r15 $LN56@choosePixe: 00175 4c 89 ac 24 08 02 00 00 mov QWORD PTR [rsp+520], r13 0017d 85 f6 test esi, esi 0017f 0f 8e 00 04 00 00 jle $LN80@choosePixe 00185 be 01 00 00 00 mov esi, 1 0018a 49 8d 5e 34 lea rbx, QWORD PTR [r14+52] 0018e 66 90 npad 2 $LL4@choosePixe: ; 125 : { ; 126 : _GLFWfbconfig* u = usableConfigs + usableCount; ; 127 : pixelFormat = i + 1; ; 128 : ; 129 : if (_glfw.wgl.ARB_pixel_format) 00190 83 3d 0c 2d 00 00 00 cmp DWORD PTR _glfw+11532, 0 00197 44 8b ee mov r13d, esi 0019a 48 8b 44 24 38 mov rax, QWORD PTR window$GSCopy$1$[rsp] 0019f 8b d6 mov edx, esi 001a1 48 8b 88 b8 02 00 00 mov rcx, QWORD PTR [rax+696] 001a8 0f 84 9f 02 00 00 je $LN12@choosePixe ; 130 : { ; 131 : // Get pixel format attributes through "modern" extension ; 132 : ; 133 : if (!wglGetPixelFormatAttribivARB(window->context.wgl.dc, 001ae 48 8d 45 10 lea rax, QWORD PTR values$[rbp-256] 001b2 44 8b cf mov r9d, edi 001b5 48 89 44 24 28 mov QWORD PTR [rsp+40], rax 001ba 45 33 c0 xor r8d, r8d 001bd 48 8d 44 24 70 lea rax, QWORD PTR attribs$[rsp] 001c2 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 001c7 ff 15 d8 2c 00 00 call QWORD PTR _glfw+11480 001cd 85 c0 test eax, eax 001cf 0f 84 6e 03 00 00 je $LN62@choosePixe ; 139 : "WGL: Failed to retrieve pixel format attributes"); ; 140 : ; 141 : _glfw_free(usableConfigs); ; 142 : return 0; ; 143 : } ; 144 : ; 145 : if (!FIND_ATTRIB_VALUE(WGL_SUPPORT_OPENGL_ARB) || 001d5 41 b9 10 20 00 00 mov r9d, 8208 ; 00002010H 001db 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 001df 8b d7 mov edx, edi 001e1 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 001e6 e8 00 00 00 00 call findPixelFormatAttribValueWGL 001eb 85 c0 test eax, eax 001ed 0f 84 1d 03 00 00 je $LN2@choosePixe 001f3 41 b9 01 20 00 00 mov r9d, 8193 ; 00002001H 001f9 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 001fd 8b d7 mov edx, edi 001ff 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00204 e8 00 00 00 00 call findPixelFormatAttribValueWGL 00209 85 c0 test eax, eax 0020b 0f 84 ff 02 00 00 je $LN2@choosePixe ; 146 : !FIND_ATTRIB_VALUE(WGL_DRAW_TO_WINDOW_ARB)) ; 147 : { ; 148 : continue; ; 149 : } ; 150 : ; 151 : if (FIND_ATTRIB_VALUE(WGL_PIXEL_TYPE_ARB) != WGL_TYPE_RGBA_ARB) 00211 41 b9 13 20 00 00 mov r9d, 8211 ; 00002013H 00217 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0021b 8b d7 mov edx, edi 0021d 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00222 e8 00 00 00 00 call findPixelFormatAttribValueWGL 00227 3d 2b 20 00 00 cmp eax, 8235 ; 0000202bH 0022c 0f 85 de 02 00 00 jne $LN2@choosePixe ; 152 : continue; ; 153 : ; 154 : if (FIND_ATTRIB_VALUE(WGL_ACCELERATION_ARB) == WGL_NO_ACCELERATION_ARB) 00232 44 8d 48 d8 lea r9d, QWORD PTR [rax-40] 00236 8b d7 mov edx, edi 00238 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0023c 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00241 e8 00 00 00 00 call findPixelFormatAttribValueWGL 00246 3d 25 20 00 00 cmp eax, 8229 ; 00002025H 0024b 0f 84 bf 02 00 00 je $LN2@choosePixe ; 155 : continue; ; 156 : ; 157 : if (FIND_ATTRIB_VALUE(WGL_DOUBLE_BUFFER_ARB) != fbconfig->doublebuffer) 00251 41 b9 11 20 00 00 mov r9d, 8209 ; 00002011H 00257 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0025b 8b d7 mov edx, edi 0025d 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00262 e8 00 00 00 00 call findPixelFormatAttribValueWGL 00267 41 3b 44 24 38 cmp eax, DWORD PTR [r12+56] 0026c 0f 85 9e 02 00 00 jne $LN2@choosePixe ; 158 : continue; ; 159 : ; 160 : u->redBits = FIND_ATTRIB_VALUE(WGL_RED_BITS_ARB); 00272 41 b9 15 20 00 00 mov r9d, 8213 ; 00002015H 00278 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0027c 8b d7 mov edx, edi 0027e 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00283 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 161 : u->greenBits = FIND_ATTRIB_VALUE(WGL_GREEN_BITS_ARB); 00288 41 b9 17 20 00 00 mov r9d, 8215 ; 00002017H 0028e 89 43 cc mov DWORD PTR [rbx-52], eax 00291 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 00295 8b d7 mov edx, edi 00297 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 0029c e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 162 : u->blueBits = FIND_ATTRIB_VALUE(WGL_BLUE_BITS_ARB); 002a1 41 b9 19 20 00 00 mov r9d, 8217 ; 00002019H 002a7 89 43 d0 mov DWORD PTR [rbx-48], eax 002aa 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 002ae 8b d7 mov edx, edi 002b0 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 002b5 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 163 : u->alphaBits = FIND_ATTRIB_VALUE(WGL_ALPHA_BITS_ARB); 002ba 41 b9 1b 20 00 00 mov r9d, 8219 ; 0000201bH 002c0 89 43 d4 mov DWORD PTR [rbx-44], eax 002c3 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 002c7 8b d7 mov edx, edi 002c9 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 002ce e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 164 : ; 165 : u->depthBits = FIND_ATTRIB_VALUE(WGL_DEPTH_BITS_ARB); 002d3 41 b9 22 20 00 00 mov r9d, 8226 ; 00002022H 002d9 89 43 d8 mov DWORD PTR [rbx-40], eax 002dc 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 002e0 8b d7 mov edx, edi 002e2 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 002e7 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 166 : u->stencilBits = FIND_ATTRIB_VALUE(WGL_STENCIL_BITS_ARB); 002ec 41 b9 23 20 00 00 mov r9d, 8227 ; 00002023H 002f2 89 43 dc mov DWORD PTR [rbx-36], eax 002f5 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 002f9 8b d7 mov edx, edi 002fb 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00300 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 167 : ; 168 : u->accumRedBits = FIND_ATTRIB_VALUE(WGL_ACCUM_RED_BITS_ARB); 00305 41 b9 1e 20 00 00 mov r9d, 8222 ; 0000201eH 0030b 89 43 e0 mov DWORD PTR [rbx-32], eax 0030e 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 00312 8b d7 mov edx, edi 00314 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00319 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 169 : u->accumGreenBits = FIND_ATTRIB_VALUE(WGL_ACCUM_GREEN_BITS_ARB); 0031e 41 b9 1f 20 00 00 mov r9d, 8223 ; 0000201fH 00324 89 43 e4 mov DWORD PTR [rbx-28], eax 00327 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0032b 8b d7 mov edx, edi 0032d 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00332 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 170 : u->accumBlueBits = FIND_ATTRIB_VALUE(WGL_ACCUM_BLUE_BITS_ARB); 00337 41 b9 20 20 00 00 mov r9d, 8224 ; 00002020H 0033d 89 43 e8 mov DWORD PTR [rbx-24], eax 00340 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 00344 8b d7 mov edx, edi 00346 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 0034b e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 171 : u->accumAlphaBits = FIND_ATTRIB_VALUE(WGL_ACCUM_ALPHA_BITS_ARB); 00350 41 b9 21 20 00 00 mov r9d, 8225 ; 00002021H 00356 89 43 ec mov DWORD PTR [rbx-20], eax 00359 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0035d 8b d7 mov edx, edi 0035f 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00364 e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 172 : ; 173 : u->auxBuffers = FIND_ATTRIB_VALUE(WGL_AUX_BUFFERS_ARB); 00369 41 b9 24 20 00 00 mov r9d, 8228 ; 00002024H 0036f 89 43 f0 mov DWORD PTR [rbx-16], eax 00372 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 00376 8b d7 mov edx, edi 00378 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 0037d e8 00 00 00 00 call findPixelFormatAttribValueWGL ; 174 : ; 175 : if (FIND_ATTRIB_VALUE(WGL_STEREO_ARB)) 00382 41 b9 12 20 00 00 mov r9d, 8210 ; 00002012H 00388 89 43 f4 mov DWORD PTR [rbx-12], eax 0038b 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0038f 8b d7 mov edx, edi 00391 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00396 e8 00 00 00 00 call findPixelFormatAttribValueWGL 0039b 85 c0 test eax, eax 0039d 74 07 je SHORT $LN20@choosePixe ; 176 : u->stereo = GLFW_TRUE; 0039f c7 43 f8 01 00 00 00 mov DWORD PTR [rbx-8], 1 $LN20@choosePixe: ; 177 : ; 178 : if (_glfw.wgl.ARB_multisample) 003a6 83 3d 00 2d 00 00 00 cmp DWORD PTR _glfw+11520, 0 003ad 74 19 je SHORT $LN21@choosePixe ; 179 : u->samples = FIND_ATTRIB_VALUE(WGL_SAMPLES_ARB); 003af 41 b9 42 20 00 00 mov r9d, 8258 ; 00002042H 003b5 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 003b9 8b d7 mov edx, edi 003bb 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 003c0 e8 00 00 00 00 call findPixelFormatAttribValueWGL 003c5 89 43 fc mov DWORD PTR [rbx-4], eax $LN21@choosePixe: ; 180 : ; 181 : if (ctxconfig->client == GLFW_OPENGL_API) 003c8 48 8b 44 24 40 mov rax, QWORD PTR ctxconfig$1$[rsp] 003cd 81 38 01 00 03 00 cmp DWORD PTR [rax], 196609 ; 00030001H 003d3 75 3f jne SHORT $LN22@choosePixe ; 182 : { ; 183 : if (_glfw.wgl.ARB_framebuffer_sRGB || 003d5 83 3d 04 2d 00 00 00 cmp DWORD PTR _glfw+11524, 0 003dc 75 0d jne SHORT $LN25@choosePixe 003de 83 3d 08 2d 00 00 00 cmp DWORD PTR _glfw+11528, 0 003e5 0f 84 17 01 00 00 je $LN35@choosePixe $LN25@choosePixe: ; 184 : _glfw.wgl.EXT_framebuffer_sRGB) ; 185 : { ; 186 : if (FIND_ATTRIB_VALUE(WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB)) 003eb 41 b9 a9 20 00 00 mov r9d, 8361 ; 000020a9H 003f1 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 003f5 8b d7 mov edx, edi 003f7 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 003fc e8 00 00 00 00 call findPixelFormatAttribValueWGL 00401 85 c0 test eax, eax 00403 0f 84 f9 00 00 00 je $LN35@choosePixe ; 187 : u->sRGB = GLFW_TRUE; 00409 c7 03 01 00 00 00 mov DWORD PTR [rbx], 1 ; 188 : } ; 189 : } 0040f e9 ee 00 00 00 jmp $LN35@choosePixe $LN22@choosePixe: ; 190 : else ; 191 : { ; 192 : if (_glfw.wgl.EXT_colorspace) 00414 83 3d fc 2c 00 00 00 cmp DWORD PTR _glfw+11516, 0 0041b 0f 84 e1 00 00 00 je $LN35@choosePixe ; 193 : { ; 194 : if (FIND_ATTRIB_VALUE(WGL_COLORSPACE_EXT) == WGL_COLORSPACE_SRGB_EXT) 00421 41 b9 9d 30 00 00 mov r9d, 12445 ; 0000309dH 00427 4c 8d 45 10 lea r8, QWORD PTR values$[rbp-256] 0042b 8b d7 mov edx, edi 0042d 48 8d 4c 24 70 lea rcx, QWORD PTR attribs$[rsp] 00432 e8 00 00 00 00 call findPixelFormatAttribValueWGL 00437 3d 89 30 00 00 cmp eax, 12425 ; 00003089H 0043c 0f 85 c0 00 00 00 jne $LN35@choosePixe ; 195 : u->sRGB = GLFW_TRUE; 00442 c7 03 01 00 00 00 mov DWORD PTR [rbx], 1 ; 196 : } ; 197 : } ; 198 : } 00448 e9 b5 00 00 00 jmp $LN35@choosePixe $LN12@choosePixe: ; 199 : else ; 200 : { ; 201 : // Get pixel format attributes through legacy PFDs ; 202 : ; 203 : PIXELFORMATDESCRIPTOR pfd; ; 204 : ; 205 : if (!DescribePixelFormat(window->context.wgl.dc, 0044d 4c 8d 4c 24 48 lea r9, QWORD PTR pfd$1[rsp] 00452 41 b8 28 00 00 00 mov r8d, 40 ; 00000028H 00458 ff 15 00 00 00 00 call QWORD PTR __imp_DescribePixelFormat 0045e 85 c0 test eax, eax 00460 0f 84 0c 01 00 00 je $LN63@choosePixe ; 211 : "WGL: Failed to describe pixel format"); ; 212 : ; 213 : _glfw_free(usableConfigs); ; 214 : return 0; ; 215 : } ; 216 : ; 217 : if (!(pfd.dwFlags & PFD_DRAW_TO_WINDOW) || 00466 8b 4c 24 4c mov ecx, DWORD PTR pfd$1[rsp+4] 0046a f6 c1 04 test cl, 4 0046d 0f 84 9d 00 00 00 je $LN2@choosePixe 00473 f6 c1 20 test cl, 32 ; 00000020H 00476 0f 84 94 00 00 00 je $LN2@choosePixe ; 218 : !(pfd.dwFlags & PFD_SUPPORT_OPENGL)) ; 219 : { ; 220 : continue; ; 221 : } ; 222 : ; 223 : if (!(pfd.dwFlags & PFD_GENERIC_ACCELERATED) && 0047c 0f ba e1 0c bt ecx, 12 00480 72 09 jb SHORT $LN32@choosePixe 00482 f6 c1 40 test cl, 64 ; 00000040H 00485 0f 85 85 00 00 00 jne $LN2@choosePixe $LN32@choosePixe: ; 224 : (pfd.dwFlags & PFD_GENERIC_FORMAT)) ; 225 : { ; 226 : continue; ; 227 : } ; 228 : ; 229 : if (pfd.iPixelType != PFD_TYPE_RGBA) 0048b 80 7c 24 50 00 cmp BYTE PTR pfd$1[rsp+8], 0 00490 75 7e jne SHORT $LN2@choosePixe ; 230 : continue; ; 231 : ; 232 : if (!!(pfd.dwFlags & PFD_DOUBLEBUFFER) != fbconfig->doublebuffer) 00492 8b c1 mov eax, ecx 00494 83 e0 01 and eax, 1 00497 41 3b 44 24 38 cmp eax, DWORD PTR [r12+56] 0049c 75 72 jne SHORT $LN2@choosePixe ; 233 : continue; ; 234 : ; 235 : u->redBits = pfd.cRedBits; 0049e 0f b6 44 24 52 movzx eax, BYTE PTR pfd$1[rsp+10] 004a3 89 43 cc mov DWORD PTR [rbx-52], eax ; 236 : u->greenBits = pfd.cGreenBits; 004a6 0f b6 44 24 54 movzx eax, BYTE PTR pfd$1[rsp+12] 004ab 89 43 d0 mov DWORD PTR [rbx-48], eax ; 237 : u->blueBits = pfd.cBlueBits; 004ae 0f b6 44 24 56 movzx eax, BYTE PTR pfd$1[rsp+14] 004b3 89 43 d4 mov DWORD PTR [rbx-44], eax ; 238 : u->alphaBits = pfd.cAlphaBits; 004b6 0f b6 44 24 58 movzx eax, BYTE PTR pfd$1[rsp+16] 004bb 89 43 d8 mov DWORD PTR [rbx-40], eax ; 239 : ; 240 : u->depthBits = pfd.cDepthBits; 004be 0f b6 44 24 5f movzx eax, BYTE PTR pfd$1[rsp+23] 004c3 89 43 dc mov DWORD PTR [rbx-36], eax ; 241 : u->stencilBits = pfd.cStencilBits; 004c6 0f b6 44 24 60 movzx eax, BYTE PTR pfd$1[rsp+24] 004cb 89 43 e0 mov DWORD PTR [rbx-32], eax ; 242 : ; 243 : u->accumRedBits = pfd.cAccumRedBits; 004ce 0f b6 44 24 5b movzx eax, BYTE PTR pfd$1[rsp+19] 004d3 89 43 e4 mov DWORD PTR [rbx-28], eax ; 244 : u->accumGreenBits = pfd.cAccumGreenBits; 004d6 0f b6 44 24 5c movzx eax, BYTE PTR pfd$1[rsp+20] 004db 89 43 e8 mov DWORD PTR [rbx-24], eax ; 245 : u->accumBlueBits = pfd.cAccumBlueBits; 004de 0f b6 44 24 5d movzx eax, BYTE PTR pfd$1[rsp+21] 004e3 89 43 ec mov DWORD PTR [rbx-20], eax ; 246 : u->accumAlphaBits = pfd.cAccumAlphaBits; 004e6 0f b6 44 24 5e movzx eax, BYTE PTR pfd$1[rsp+22] 004eb 89 43 f0 mov DWORD PTR [rbx-16], eax ; 247 : ; 248 : u->auxBuffers = pfd.cAuxBuffers; 004ee 0f b6 44 24 61 movzx eax, BYTE PTR pfd$1[rsp+25] 004f3 89 43 f4 mov DWORD PTR [rbx-12], eax ; 249 : ; 250 : if (pfd.dwFlags & PFD_STEREO) 004f6 f6 c1 02 test cl, 2 004f9 74 07 je SHORT $LN35@choosePixe ; 251 : u->stereo = GLFW_TRUE; 004fb c7 43 f8 01 00 00 00 mov DWORD PTR [rbx-8], 1 $LN35@choosePixe: ; 252 : } ; 253 : ; 254 : u->handle = pixelFormat; 00502 48 63 c6 movsxd rax, esi ; 255 : usableCount++; 00505 41 ff c7 inc r15d 00508 48 89 43 0c mov QWORD PTR [rbx+12], rax 0050c 48 83 c3 48 add rbx, 72 ; 00000048H $LN2@choosePixe: ; 124 : for (i = 0; i < nativeCount; i++) 00510 ff c6 inc esi 00512 44 3b 6c 24 30 cmp r13d, DWORD PTR nativeCount$1$[rsp] 00517 0f 8c 73 fc ff ff jl $LL4@choosePixe ; 256 : } ; 257 : ; 258 : if (!usableCount) 0051d 45 85 ff test r15d, r15d 00520 74 63 je SHORT $LN80@choosePixe ; 261 : "WGL: The driver does not appear to support OpenGL"); ; 262 : ; 263 : _glfw_free(usableConfigs); ; 264 : return 0; ; 265 : } ; 266 : ; 267 : closest = _glfwChooseFBConfig(fbconfig, usableConfigs, usableCount); 00522 45 8b c7 mov r8d, r15d 00525 49 8b d6 mov rdx, r14 00528 49 8b cc mov rcx, r12 0052b e8 00 00 00 00 call _glfwChooseFBConfig ; 268 : if (!closest) 00530 48 85 c0 test rax, rax 00533 75 21 jne SHORT $LN37@choosePixe ; 269 : { ; 270 : _glfwInputError(GLFW_FORMAT_UNAVAILABLE, 00535 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CM@DGJKGOGD@WGL?3?5Failed?5to?5find?5a?5suitable?5@ 0053c b9 09 00 01 00 mov ecx, 65545 ; 00010009H ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00541 eb 4e jmp SHORT $LN122@choosePixe $LN62@choosePixe: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 138 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00543 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DA@LMPKCOPB@WGL?3?5Failed?5to?5retrieve?5pixel?5f@ 0054a b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0054f e8 00 00 00 00 call _glfwInputErrorWin32 00554 eb 40 jmp SHORT $LN121@choosePixe $LN37@choosePixe: ; 275 : } ; 276 : ; 277 : pixelFormat = (int) closest->handle; 00556 8b 58 40 mov ebx, DWORD PTR [rax+64] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 00559 4d 85 f6 test r14, r14 0055c 74 10 je SHORT $LN52@choosePixe ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 0055e 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00565 49 8b ce mov rcx, r14 00568 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN52@choosePixe: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 280 : return pixelFormat; 0056e 8b c3 mov eax, ebx 00570 eb 3b jmp SHORT $LN1@choosePixe $LN63@choosePixe: ; 206 : pixelFormat, ; 207 : sizeof(PIXELFORMATDESCRIPTOR), ; 208 : &pfd)) ; 209 : { ; 210 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00572 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CF@OGLFKBHA@WGL?3?5Failed?5to?5describe?5pixel?5f@ 00579 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0057e e8 00 00 00 00 call _glfwInputErrorWin32 00583 eb 11 jmp SHORT $LN121@choosePixe $LN80@choosePixe: ; 259 : { ; 260 : _glfwInputError(GLFW_API_UNAVAILABLE, 00585 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DC@HFHALHIB@WGL?3?5The?5driver?5does?5not?5appear@ 0058c b9 06 00 01 00 mov ecx, 65542 ; 00010006H $LN122@choosePixe: ; 271 : "WGL: Failed to find a suitable pixel format"); ; 272 : ; 273 : _glfw_free(usableConfigs); ; 274 : return 0; 00591 e8 00 00 00 00 call _glfwInputError $LN121@choosePixe: 00596 4d 85 f6 test r14, r14 00599 74 10 je SHORT $LN49@choosePixe 0059b 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 005a2 49 8b ce mov rcx, r14 005a5 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN49@choosePixe: 005ab 33 c0 xor eax, eax $LN1@choosePixe: 005ad 4c 8b b4 24 c0 01 00 00 mov r14, QWORD PTR [rsp+448] ; 281 : } 005b5 4c 8b ac 24 08 02 00 00 mov r13, QWORD PTR [rsp+520] 005bd 48 8b 8d b0 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp-256] 005c4 48 33 cc xor rcx, rsp 005c7 e8 00 00 00 00 call __security_check_cookie 005cc 48 81 c4 c8 01 00 00 add rsp, 456 ; 000001c8H 005d3 41 5f pop r15 005d5 41 5c pop r12 005d7 5f pop rdi 005d8 5e pop rsi 005d9 5b pop rbx 005da 5d pop rbp 005db c3 ret 0 choosePixelFormatWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT makeContextCurrentWGL _TEXT SEGMENT window$ = 48 makeContextCurrentWGL PROC ; COMDAT ; 287 : { 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 288 : if (window) 00009 48 85 c9 test rcx, rcx 0000c 74 36 je SHORT $LN2@makeContex ; 289 : { ; 290 : if (wglMakeCurrent(window->context.wgl.dc, window->context.wgl.handle)) 0000e 48 8b 91 c0 02 00 00 mov rdx, QWORD PTR [rcx+704] 00015 48 8b 89 b8 02 00 00 mov rcx, QWORD PTR [rcx+696] 0001c ff 15 c0 2c 00 00 call QWORD PTR _glfw+11456 00022 85 c0 test eax, eax 00024 74 15 je SHORT $LN4@makeContex ; 309 : } 00026 8b 0d a8 19 00 00 mov ecx, DWORD PTR _glfw+6568 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 72 : TlsSetValue(tls->win32.index, value); 0002c 48 8b d3 mov rdx, rbx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 309 : } 0002f 48 83 c4 20 add rsp, 32 ; 00000020H 00033 5b pop rbx 00034 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_TlsSetValue $LN4@makeContex: ; 291 : _glfwPlatformSetTls(&_glfw.contextSlot, window); ; 292 : else ; 293 : { ; 294 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0003b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@FEGPCKPN@WGL?3?5Failed?5to?5make?5context?5cur@ ; 295 : "WGL: Failed to make context current"); ; 296 : _glfwPlatformSetTls(&_glfw.contextSlot, NULL); ; 297 : } ; 298 : } 00042 eb 15 jmp SHORT $LN18@makeContex $LN2@makeContex: ; 299 : else ; 300 : { ; 301 : if (!wglMakeCurrent(NULL, NULL)) 00044 33 d2 xor edx, edx 00046 33 c9 xor ecx, ecx 00048 ff 15 c0 2c 00 00 call QWORD PTR _glfw+11456 0004e 85 c0 test eax, eax 00050 75 11 jne SHORT $LN6@makeContex ; 302 : { ; 303 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00052 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CF@EKIADPFB@WGL?3?5Failed?5to?5clear?5current?5co@ $LN18@makeContex: ; 309 : } 00059 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0005e e8 00 00 00 00 call _glfwInputErrorWin32 $LN6@makeContex: 00063 8b 0d a8 19 00 00 mov ecx, DWORD PTR _glfw+6568 00069 33 d2 xor edx, edx 0006b 48 83 c4 20 add rsp, 32 ; 00000020H 0006f 5b pop rbx 00070 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_TlsSetValue makeContextCurrentWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT swapBuffersWGL _TEXT SEGMENT enabled$1 = 32 __$ArrayPad$ = 40 window$ = 64 swapBuffersWGL PROC ; COMDAT ; 312 : { 00000 40 57 push rdi 00002 48 83 ec 30 sub rsp, 48 ; 00000030H 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 28 mov QWORD PTR __$ArrayPad$[rsp], rax ; 313 : if (!window->monitor) 00015 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 0001a 48 8b f9 mov rdi, rcx 0001d 75 61 jne SHORT $LN9@swapBuffer ; 314 : { ; 315 : // HACK: Use DwmFlush when desktop composition is enabled on Windows Vista and 7 ; 316 : if (!IsWindows8OrGreater() && IsWindowsVistaOrGreater()) 0001f ba 02 00 00 00 mov edx, 2 00024 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00029 85 c0 test eax, eax 0002b 75 53 jne SHORT $LN9@swapBuffer 0002d 33 d2 xor edx, edx 0002f e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00034 85 c0 test eax, eax 00036 74 48 je SHORT $LN9@swapBuffer ; 317 : { ; 318 : BOOL enabled = FALSE; ; 319 : ; 320 : if (SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled) 00038 48 8d 4c 24 20 lea rcx, QWORD PTR enabled$1[rsp] 0003d c7 44 24 20 00 00 00 00 mov DWORD PTR enabled$1[rsp], 0 00045 ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 0004b 85 c0 test eax, eax 0004d 78 31 js SHORT $LN9@swapBuffer 0004f 83 7c 24 20 00 cmp DWORD PTR enabled$1[rsp], 0 00054 74 2a je SHORT $LN9@swapBuffer ; 321 : { ; 322 : int count = abs(window->context.wgl.interval); 00056 8b 87 c8 02 00 00 mov eax, DWORD PTR [rdi+712] 0005c 99 cdq 0005d 48 89 5c 24 48 mov QWORD PTR [rsp+72], rbx 00062 8b d8 mov ebx, eax 00064 33 da xor ebx, edx 00066 2b da sub ebx, edx ; 323 : while (count--) 00068 74 11 je SHORT $LN19@swapBuffer 0006a 66 0f 1f 44 00 00 npad 6 $LL2@swapBuffer: ; 324 : DwmFlush(); 00070 ff 15 e8 29 00 00 call QWORD PTR _glfw+10728 00076 83 eb 01 sub ebx, 1 00079 75 f5 jne SHORT $LL2@swapBuffer $LN19@swapBuffer: 0007b 48 8b 5c 24 48 mov rbx, QWORD PTR [rsp+72] $LN9@swapBuffer: ; 325 : } ; 326 : } ; 327 : } ; 328 : ; 329 : SwapBuffers(window->context.wgl.dc); 00080 48 8b 8f b8 02 00 00 mov rcx, QWORD PTR [rdi+696] 00087 ff 15 00 00 00 00 call QWORD PTR __imp_SwapBuffers ; 330 : } 0008d 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00092 48 33 cc xor rcx, rsp 00095 e8 00 00 00 00 call __security_check_cookie 0009a 48 83 c4 30 add rsp, 48 ; 00000030H 0009e 5f pop rdi 0009f c3 ret 0 swapBuffersWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT swapIntervalWGL _TEXT SEGMENT enabled$1 = 32 __$ArrayPad$ = 40 interval$ = 64 swapIntervalWGL PROC ; COMDAT ; 333 : { 00000 40 53 push rbx 00002 48 83 ec 30 sub rsp, 48 ; 00000030H 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 28 mov QWORD PTR __$ArrayPad$[rsp], rax 00015 8b d9 mov ebx, ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 66 : return TlsGetValue(tls->win32.index); 00017 8b 0d a8 19 00 00 mov ecx, DWORD PTR _glfw+6568 0001d ff 15 00 00 00 00 call QWORD PTR __imp_TlsGetValue ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 338 : if (!window->monitor) 00023 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00028 89 98 c8 02 00 00 mov DWORD PTR [rax+712], ebx 0002e 75 3f jne SHORT $LN4@swapInterv ; 339 : { ; 340 : // HACK: Disable WGL swap interval when desktop composition is enabled on Windows ; 341 : // Vista and 7 to avoid interfering with DWM vsync ; 342 : if (!IsWindows8OrGreater() && IsWindowsVistaOrGreater()) 00030 ba 02 00 00 00 mov edx, 2 00035 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0003a 85 c0 test eax, eax 0003c 75 31 jne SHORT $LN4@swapInterv 0003e 33 d2 xor edx, edx 00040 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00045 85 c0 test eax, eax 00047 74 26 je SHORT $LN4@swapInterv 00049 48 89 7c 24 48 mov QWORD PTR [rsp+72], rdi ; 343 : { ; 344 : BOOL enabled = FALSE; ; 345 : ; 346 : if (SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled) 0004e 48 8d 4c 24 20 lea rcx, QWORD PTR enabled$1[rsp] 00053 33 ff xor edi, edi 00055 89 7c 24 20 mov DWORD PTR enabled$1[rsp], edi 00059 ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 0005f 85 c0 test eax, eax 00061 78 07 js SHORT $LN14@swapInterv 00063 39 7c 24 20 cmp DWORD PTR enabled$1[rsp], edi 00067 0f 45 df cmovne ebx, edi $LN14@swapInterv: 0006a 48 8b 7c 24 48 mov rdi, QWORD PTR [rsp+72] $LN4@swapInterv: ; 347 : interval = 0; ; 348 : } ; 349 : } ; 350 : ; 351 : if (_glfw.wgl.EXT_swap_control) 0006f 83 3d f8 2c 00 00 00 cmp DWORD PTR _glfw+11512, 0 00076 74 08 je SHORT $LN5@swapInterv ; 352 : wglSwapIntervalEXT(interval); 00078 8b cb mov ecx, ebx 0007a ff 15 d0 2c 00 00 call QWORD PTR _glfw+11472 $LN5@swapInterv: ; 353 : } 00080 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00085 48 33 cc xor rcx, rsp 00088 e8 00 00 00 00 call __security_check_cookie 0008d 48 83 c4 30 add rsp, 48 ; 00000030H 00091 5b pop rbx 00092 c3 ret 0 swapIntervalWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT extensionSupportedWGL _TEXT SEGMENT extension$ = 48 extensionSupportedWGL PROC ; COMDAT ; 356 : { 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H ; 357 : const char* extensions = NULL; ; 358 : ; 359 : if (_glfw.wgl.GetExtensionsStringARB) 00006 48 83 3d e8 2c 00 00 00 cmp QWORD PTR _glfw+11496, 0 0000e 48 8b d9 mov rbx, rcx 00011 74 11 je SHORT $LN2@extensionS ; 360 : extensions = wglGetExtensionsStringARB(wglGetCurrentDC()); 00013 ff 15 b0 2c 00 00 call QWORD PTR _glfw+11440 00019 48 8b c8 mov rcx, rax 0001c ff 15 e8 2c 00 00 call QWORD PTR _glfw+11496 00022 eb 0e jmp SHORT $LN4@extensionS $LN2@extensionS: ; 361 : else if (_glfw.wgl.GetExtensionsStringEXT) 00024 48 8b 05 e0 2c 00 00 mov rax, QWORD PTR _glfw+11488 0002b 48 85 c0 test rax, rax 0002e 74 17 je SHORT $LN7@extensionS ; 362 : extensions = wglGetExtensionsStringEXT(); 00030 ff d0 call rax $LN4@extensionS: ; 363 : ; 364 : if (!extensions) 00032 48 85 c0 test rax, rax 00035 74 10 je SHORT $LN7@extensionS ; 366 : ; 367 : return _glfwStringInExtensionString(extension, extensions); 00037 48 8b d0 mov rdx, rax 0003a 48 8b cb mov rcx, rbx ; 368 : } 0003d 48 83 c4 20 add rsp, 32 ; 00000020H 00041 5b pop rbx ; 366 : ; 367 : return _glfwStringInExtensionString(extension, extensions); 00042 e9 00 00 00 00 jmp _glfwStringInExtensionString $LN7@extensionS: ; 365 : return GLFW_FALSE; 00047 33 c0 xor eax, eax ; 368 : } 00049 48 83 c4 20 add rsp, 32 ; 00000020H 0004d 5b pop rbx 0004e c3 ret 0 extensionSupportedWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT getProcAddressWGL _TEXT SEGMENT procname$ = 48 getProcAddressWGL PROC ; COMDAT ; 371 : { 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 372 : const GLFWglproc proc = (GLFWglproc) wglGetProcAddress(procname); 00009 ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 373 : if (proc) 0000f 48 85 c0 test rax, rax 00012 75 16 jne SHORT $LN1@getProcAdd ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 49 : return (GLFWproc)GetProcAddress((HMODULE)module, name); 00014 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 0001b 48 8b d3 mov rdx, rbx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 377 : } 0001e 48 83 c4 20 add rsp, 32 ; 00000020H 00022 5b pop rbx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 49 : return (GLFWproc)GetProcAddress((HMODULE)module, name); 00023 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_GetProcAddress $LN1@getProcAdd: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 377 : } 0002a 48 83 c4 20 add rsp, 32 ; 00000020H 0002e 5b pop rbx 0002f c3 ret 0 getProcAddressWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT destroyContextWGL _TEXT SEGMENT window$ = 48 destroyContextWGL PROC ; COMDAT ; 380 : { 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 381 : if (window->context.wgl.handle) 00009 48 8b 89 c0 02 00 00 mov rcx, QWORD PTR [rcx+704] 00010 48 85 c9 test rcx, rcx 00013 74 11 je SHORT $LN2@destroyCon ; 382 : { ; 383 : wglDeleteContext(window->context.wgl.handle); 00015 ff 15 a0 2c 00 00 call QWORD PTR _glfw+11424 ; 384 : window->context.wgl.handle = NULL; 0001b 48 c7 83 c0 02 00 00 00 00 00 00 mov QWORD PTR [rbx+704], 0 $LN2@destroyCon: ; 385 : } ; 386 : } 00026 48 83 c4 20 add rsp, 32 ; 00000020H 0002a 5b pop rbx 0002b c3 ret 0 destroyContextWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT _glfwInitWGL _TEXT SEGMENT pfd$ = 32 __$ArrayPad$ = 72 _glfwInitWGL PROC ; COMDAT ; 391 : { $LN34: 00000 40 57 push rdi 00002 48 83 ec 50 sub rsp, 80 ; 00000050H 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 48 mov QWORD PTR __$ArrayPad$[rsp], rax ; 392 : PIXELFORMATDESCRIPTOR pfd; ; 393 : HGLRC prc, rc; ; 394 : HDC pdc, dc; ; 395 : ; 396 : if (_glfw.wgl.instance) 00015 48 83 3d 90 2c 00 00 00 cmp QWORD PTR _glfw+11408, 0 0001d 74 18 je SHORT $LN2@glfwInitWG ; 397 : return GLFW_TRUE; 0001f b8 01 00 00 00 mov eax, 1 ; 506 : } 00024 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00029 48 33 cc xor rcx, rsp 0002c e8 00 00 00 00 call __security_check_cookie 00031 48 83 c4 50 add rsp, 80 ; 00000050H 00035 5f pop rdi 00036 c3 ret 0 $LN2@glfwInitWG: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 39 : return LoadLibraryA(path); 00037 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0N@DOKAJOHF@opengl32?4dll@ 0003e ff 15 00 00 00 00 call QWORD PTR __imp_LoadLibraryA ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 399 : _glfw.wgl.instance = _glfwPlatformLoadModule("opengl32.dll"); 00044 48 89 05 90 2c 00 00 mov QWORD PTR _glfw+11408, rax 0004b 48 85 c0 test rax, rax ; 400 : if (!_glfw.wgl.instance) 0004e 75 26 jne SHORT $LN3@glfwInitWG ; 401 : { ; 402 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00050 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CB@FLGENKMO@WGL?3?5Failed?5to?5load?5opengl32?4dl@ 00057 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0005c e8 00 00 00 00 call _glfwInputErrorWin32 ; 403 : "WGL: Failed to load opengl32.dll"); ; 404 : return GLFW_FALSE; 00061 33 c0 xor eax, eax ; 506 : } 00063 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00068 48 33 cc xor rcx, rsp 0006b e8 00 00 00 00 call __security_check_cookie 00070 48 83 c4 50 add rsp, 80 ; 00000050H 00074 5f pop rdi 00075 c3 ret 0 $LN3@glfwInitWG: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 49 : return (GLFWproc)GetProcAddress((HMODULE)module, name); 00076 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BB@GHMBNOIP@wglCreateContext@ 0007d 48 89 74 24 70 mov QWORD PTR [rsp+112], rsi 00082 48 8b c8 mov rcx, rax 00085 ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 0008b 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 00092 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BB@OGAIJNNO@wglDeleteContext@ 00099 48 89 05 98 2c 00 00 mov QWORD PTR _glfw+11416, rax 000a0 ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 000a6 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 000ad 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BC@FFKMKEGM@wglGetProcAddress@ 000b4 48 89 05 a0 2c 00 00 mov QWORD PTR _glfw+11424, rax 000bb ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 000c1 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 000c8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BA@BMKCDCKD@wglGetCurrentDC@ 000cf 48 89 05 a8 2c 00 00 mov QWORD PTR _glfw+11432, rax 000d6 ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 000dc 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 000e3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BF@HABDPBMA@wglGetCurrentContext@ 000ea 48 89 05 b0 2c 00 00 mov QWORD PTR _glfw+11440, rax 000f1 ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 000f7 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 000fe 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0P@BBBFNDGG@wglMakeCurrent@ 00105 48 89 05 b8 2c 00 00 mov QWORD PTR _glfw+11448, rax 0010c ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress 00112 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 00119 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0O@GCGJMHDL@wglShareLists@ 00120 48 89 05 c0 2c 00 00 mov QWORD PTR _glfw+11456, rax 00127 ff 15 00 00 00 00 call QWORD PTR __imp_GetProcAddress ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 427 : dc = GetDC(_glfw.win32.helperWindowHandle); 0012d 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 49 : return (GLFWproc)GetProcAddress((HMODULE)module, name); 00134 48 89 05 c8 2c 00 00 mov QWORD PTR _glfw+11464, rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 427 : dc = GetDC(_glfw.win32.helperWindowHandle); 0013b ff 15 00 00 00 00 call QWORD PTR __imp_GetDC 00141 0f 57 c0 xorps xmm0, xmm0 ; 428 : ; 429 : ZeroMemory(&pfd, sizeof(pfd)); ; 430 : pfd.nSize = sizeof(pfd); ; 431 : pfd.nVersion = 1; ; 432 : pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; ; 433 : pfd.iPixelType = PFD_TYPE_RGBA; ; 434 : pfd.cColorBits = 24; ; 435 : ; 436 : if (!SetPixelFormat(dc, ChoosePixelFormat(dc, &pfd), &pfd)) 00144 48 8d 54 24 20 lea rdx, QWORD PTR pfd$[rsp] 00149 0f 11 44 24 20 movups XMMWORD PTR pfd$[rsp], xmm0 0014e 48 8b f0 mov rsi, rax 00151 c7 44 24 20 28 00 01 00 mov DWORD PTR pfd$[rsp], 65576 ; 00010028H 00159 33 c0 xor eax, eax 0015b c7 44 24 24 25 00 00 00 mov DWORD PTR pfd$[rsp+4], 37 ; 00000025H 00163 48 8b ce mov rcx, rsi 00166 48 89 44 24 40 mov QWORD PTR pfd$[rsp+32], rax 0016b 0f 11 44 24 30 movups XMMWORD PTR pfd$[rsp+16], xmm0 00170 66 c7 44 24 28 00 18 mov WORD PTR pfd$[rsp+8], 6144 ; 00001800H 00177 8d 78 01 lea edi, QWORD PTR [rax+1] 0017a ff 15 00 00 00 00 call QWORD PTR __imp_ChoosePixelFormat 00180 4c 8d 44 24 20 lea r8, QWORD PTR pfd$[rsp] 00185 48 8b ce mov rcx, rsi 00188 8b d0 mov edx, eax 0018a ff 15 00 00 00 00 call QWORD PTR __imp_SetPixelFormat 00190 85 c0 test eax, eax 00192 75 18 jne SHORT $LN4@glfwInitWG ; 437 : { ; 438 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00194 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DC@IPDIACJO@WGL?3?5Failed?5to?5set?5pixel?5format@ 0019b b9 08 00 01 00 mov ecx, 65544 ; 00010008H 001a0 e8 00 00 00 00 call _glfwInputErrorWin32 ; 439 : "WGL: Failed to set pixel format for dummy context"); ; 440 : return GLFW_FALSE; 001a5 33 c0 xor eax, eax 001a7 e9 e9 01 00 00 jmp $LN29@glfwInitWG $LN4@glfwInitWG: ; 441 : } ; 442 : ; 443 : rc = wglCreateContext(dc); 001ac 48 8b ce mov rcx, rsi 001af 48 89 5c 24 60 mov QWORD PTR [rsp+96], rbx 001b4 ff 15 98 2c 00 00 call QWORD PTR _glfw+11416 001ba 48 8b d8 mov rbx, rax ; 444 : if (!rc) 001bd 48 85 c0 test rax, rax 001c0 75 18 jne SHORT $LN5@glfwInitWG ; 445 : { ; 446 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 001c2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@KAEELGKL@WGL?3?5Failed?5to?5create?5dummy?5con@ 001c9 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 001ce e8 00 00 00 00 call _glfwInputErrorWin32 ; 447 : "WGL: Failed to create dummy context"); ; 448 : return GLFW_FALSE; 001d3 33 c0 xor eax, eax 001d5 e9 b6 01 00 00 jmp $LN30@glfwInitWG $LN5@glfwInitWG: 001da 48 89 6c 24 68 mov QWORD PTR [rsp+104], rbp 001df 4c 89 74 24 78 mov QWORD PTR [rsp+120], r14 ; 449 : } ; 450 : ; 451 : pdc = wglGetCurrentDC(); 001e4 ff 15 b0 2c 00 00 call QWORD PTR _glfw+11440 001ea 48 8b e8 mov rbp, rax ; 452 : prc = wglGetCurrentContext(); 001ed ff 15 b8 2c 00 00 call QWORD PTR _glfw+11448 ; 453 : ; 454 : if (!wglMakeCurrent(dc, rc)) 001f3 48 8b d3 mov rdx, rbx 001f6 48 8b ce mov rcx, rsi 001f9 4c 8b f0 mov r14, rax 001fc ff 15 c0 2c 00 00 call QWORD PTR _glfw+11456 00202 85 c0 test eax, eax 00204 75 2d jne SHORT $LN6@glfwInitWG ; 455 : { ; 456 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00206 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CK@JKJFDJLH@WGL?3?5Failed?5to?5make?5dummy?5conte@ 0020d b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00212 e8 00 00 00 00 call _glfwInputErrorWin32 ; 457 : "WGL: Failed to make dummy context current"); ; 458 : wglMakeCurrent(pdc, prc); 00217 49 8b d6 mov rdx, r14 0021a 48 8b cd mov rcx, rbp 0021d ff 15 c0 2c 00 00 call QWORD PTR _glfw+11456 ; 459 : wglDeleteContext(rc); 00223 48 8b cb mov rcx, rbx 00226 ff 15 a0 2c 00 00 call QWORD PTR _glfw+11424 ; 460 : return GLFW_FALSE; 0022c 33 c0 xor eax, eax 0022e e9 53 01 00 00 jmp $LN32@glfwInitWG $LN6@glfwInitWG: ; 461 : } ; 462 : ; 463 : // NOTE: Functions must be loaded first as they're needed to retrieve the ; 464 : // extension string that tells us whether the functions are supported ; 465 : _glfw.wgl.GetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC) 00233 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BK@HGDBIG@wglGetExtensionsStringEXT@ 0023a ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 466 : wglGetProcAddress("wglGetExtensionsStringEXT"); ; 467 : _glfw.wgl.GetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC) 00240 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BK@JOBLJGNA@wglGetExtensionsStringARB@ 00247 48 89 05 e0 2c 00 00 mov QWORD PTR _glfw+11488, rax 0024e ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 468 : wglGetProcAddress("wglGetExtensionsStringARB"); ; 469 : _glfw.wgl.CreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC) 00254 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BL@PDDHMPGF@wglCreateContextAttribsARB@ 0025b 48 89 05 e8 2c 00 00 mov QWORD PTR _glfw+11496, rax 00262 ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 470 : wglGetProcAddress("wglCreateContextAttribsARB"); ; 471 : _glfw.wgl.SwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) 00268 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@IINOPBDD@wglSwapIntervalEXT@ 0026f 48 89 05 f0 2c 00 00 mov QWORD PTR _glfw+11504, rax 00276 ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 472 : wglGetProcAddress("wglSwapIntervalEXT"); ; 473 : _glfw.wgl.GetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC) 0027c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BN@GDKHKIAN@wglGetPixelFormatAttribivARB@ 00283 48 89 05 d0 2c 00 00 mov QWORD PTR _glfw+11472, rax 0028a ff 15 a8 2c 00 00 call QWORD PTR _glfw+11432 ; 474 : wglGetProcAddress("wglGetPixelFormatAttribivARB"); ; 475 : ; 476 : // NOTE: WGL_ARB_extensions_string and WGL_EXT_extensions_string are not ; 477 : // checked below as we are already using them ; 478 : _glfw.wgl.ARB_multisample = 00290 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@BMOJHNDI@WGL_ARB_multisample@ 00297 48 89 05 d8 2c 00 00 mov QWORD PTR _glfw+11480, rax 0029e e8 00 00 00 00 call extensionSupportedWGL ; 479 : extensionSupportedWGL("WGL_ARB_multisample"); ; 480 : _glfw.wgl.ARB_framebuffer_sRGB = 002a3 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@CIMJOHKL@WGL_ARB_framebuffer_sRGB@ 002aa 89 05 00 2d 00 00 mov DWORD PTR _glfw+11520, eax 002b0 e8 00 00 00 00 call extensionSupportedWGL ; 481 : extensionSupportedWGL("WGL_ARB_framebuffer_sRGB"); ; 482 : _glfw.wgl.EXT_framebuffer_sRGB = 002b5 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@ODLLHDDH@WGL_EXT_framebuffer_sRGB@ 002bc 89 05 04 2d 00 00 mov DWORD PTR _glfw+11524, eax 002c2 e8 00 00 00 00 call extensionSupportedWGL ; 483 : extensionSupportedWGL("WGL_EXT_framebuffer_sRGB"); ; 484 : _glfw.wgl.ARB_create_context = 002c7 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@NCJDMLMG@WGL_ARB_create_context@ 002ce 89 05 08 2d 00 00 mov DWORD PTR _glfw+11528, eax 002d4 e8 00 00 00 00 call extensionSupportedWGL ; 485 : extensionSupportedWGL("WGL_ARB_create_context"); ; 486 : _glfw.wgl.ARB_create_context_profile = 002d9 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BP@JAOBDJGN@WGL_ARB_create_context_profile@ 002e0 89 05 10 2d 00 00 mov DWORD PTR _glfw+11536, eax 002e6 e8 00 00 00 00 call extensionSupportedWGL ; 487 : extensionSupportedWGL("WGL_ARB_create_context_profile"); ; 488 : _glfw.wgl.EXT_create_context_es2_profile = 002eb 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CD@FOMFMBIL@WGL_EXT_create_context_es2_prof@ 002f2 89 05 14 2d 00 00 mov DWORD PTR _glfw+11540, eax 002f8 e8 00 00 00 00 call extensionSupportedWGL ; 489 : extensionSupportedWGL("WGL_EXT_create_context_es2_profile"); ; 490 : _glfw.wgl.ARB_create_context_robustness = 002fd 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CC@BFGHOMNL@WGL_ARB_create_context_robustne@ 00304 89 05 18 2d 00 00 mov DWORD PTR _glfw+11544, eax 0030a e8 00 00 00 00 call extensionSupportedWGL ; 491 : extensionSupportedWGL("WGL_ARB_create_context_robustness"); ; 492 : _glfw.wgl.ARB_create_context_no_error = 0030f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CA@CJLAIOKE@WGL_ARB_create_context_no_error@ 00316 89 05 1c 2d 00 00 mov DWORD PTR _glfw+11548, eax 0031c e8 00 00 00 00 call extensionSupportedWGL ; 493 : extensionSupportedWGL("WGL_ARB_create_context_no_error"); ; 494 : _glfw.wgl.EXT_swap_control = 00321 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@NPDKPIKE@WGL_EXT_swap_control@ 00328 89 05 20 2d 00 00 mov DWORD PTR _glfw+11552, eax 0032e e8 00 00 00 00 call extensionSupportedWGL ; 495 : extensionSupportedWGL("WGL_EXT_swap_control"); ; 496 : _glfw.wgl.EXT_colorspace = 00333 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@KGLHBPN@WGL_EXT_colorspace@ 0033a 89 05 f8 2c 00 00 mov DWORD PTR _glfw+11512, eax 00340 e8 00 00 00 00 call extensionSupportedWGL ; 497 : extensionSupportedWGL("WGL_EXT_colorspace"); ; 498 : _glfw.wgl.ARB_pixel_format = 00345 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@OGGDOHFN@WGL_ARB_pixel_format@ 0034c 89 05 fc 2c 00 00 mov DWORD PTR _glfw+11516, eax 00352 e8 00 00 00 00 call extensionSupportedWGL ; 499 : extensionSupportedWGL("WGL_ARB_pixel_format"); ; 500 : _glfw.wgl.ARB_context_flush_control = 00357 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BO@FABLLHKK@WGL_ARB_context_flush_control@ 0035e 89 05 0c 2d 00 00 mov DWORD PTR _glfw+11532, eax 00364 e8 00 00 00 00 call extensionSupportedWGL ; 501 : extensionSupportedWGL("WGL_ARB_context_flush_control"); ; 502 : ; 503 : wglMakeCurrent(pdc, prc); 00369 49 8b d6 mov rdx, r14 0036c 89 05 24 2d 00 00 mov DWORD PTR _glfw+11556, eax 00372 48 8b cd mov rcx, rbp 00375 ff 15 c0 2c 00 00 call QWORD PTR _glfw+11456 ; 504 : wglDeleteContext(rc); 0037b 48 8b cb mov rcx, rbx 0037e ff 15 a0 2c 00 00 call QWORD PTR _glfw+11424 ; 505 : return GLFW_TRUE; 00384 8b c7 mov eax, edi $LN32@glfwInitWG: 00386 48 8b 6c 24 68 mov rbp, QWORD PTR [rsp+104] 0038b 4c 8b 74 24 78 mov r14, QWORD PTR [rsp+120] $LN30@glfwInitWG: 00390 48 8b 5c 24 60 mov rbx, QWORD PTR [rsp+96] $LN29@glfwInitWG: 00395 48 8b 74 24 70 mov rsi, QWORD PTR [rsp+112] ; 506 : } 0039a 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0039f 48 33 cc xor rcx, rsp 003a2 e8 00 00 00 00 call __security_check_cookie 003a7 48 83 c4 50 add rsp, 80 ; 00000050H 003ab 5f pop rdi 003ac c3 ret 0 _glfwInitWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT _glfwTerminateWGL _TEXT SEGMENT _glfwTerminateWGL PROC ; COMDAT ; 512 : if (_glfw.wgl.instance) 00000 48 8b 0d 90 2c 00 00 mov rcx, QWORD PTR _glfw+11408 00007 48 85 c9 test rcx, rcx 0000a 74 07 je SHORT $LN4@glfwTermin ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 44 : FreeLibrary((HMODULE)module); 0000c 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_FreeLibrary $LN4@glfwTermin: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; 514 : } 00013 c3 ret 0 _glfwTerminateWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT _glfwCreateContextWGL _TEXT SEGMENT pfd$ = 32 attribs$ = 80 __$ArrayPad$ = 240 window$ = 288 ctxconfig$ = 296 fbconfig$ = 304 _glfwCreateContextWGL PROC ; COMDAT ; 528 : { $LN98: 00000 48 89 5c 24 20 mov QWORD PTR [rsp+32], rbx 00005 55 push rbp 00006 56 push rsi 00007 57 push rdi 00008 48 81 ec 00 01 00 00 sub rsp, 256 ; 00000100H 0000f 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00016 48 33 c4 xor rax, rsp 00019 48 89 84 24 f0 00 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax ; 529 : int attribs[40]; ; 530 : int pixelFormat; ; 531 : PIXELFORMATDESCRIPTOR pfd; ; 532 : HGLRC share = NULL; ; 533 : ; 534 : if (ctxconfig->share) 00021 48 8b 42 28 mov rax, QWORD PTR [rdx+40] 00025 33 ed xor ebp, ebp 00027 49 8b f0 mov rsi, r8 0002a 48 8b fa mov rdi, rdx 0002d 48 8b d9 mov rbx, rcx 00030 48 85 c0 test rax, rax 00033 74 07 je SHORT $LN2@glfwCreate ; 535 : share = ctxconfig->share->context.wgl.handle; 00035 48 8b a8 c0 02 00 00 mov rbp, QWORD PTR [rax+704] $LN2@glfwCreate: ; 536 : ; 537 : window->context.wgl.dc = GetDC(window->win32.handle); 0003c 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00043 ff 15 00 00 00 00 call QWORD PTR __imp_GetDC 00049 48 89 83 b8 02 00 00 mov QWORD PTR [rbx+696], rax ; 538 : if (!window->context.wgl.dc) 00050 48 85 c0 test rax, rax 00053 75 11 jne SHORT $LN3@glfwCreate ; 539 : { ; 540 : _glfwInputError(GLFW_PLATFORM_ERROR, 00055 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CG@GMPEPNKL@WGL?3?5Failed?5to?5retrieve?5DC?5for?5@ 0005c b9 08 00 01 00 mov ecx, 65544 ; 00010008H ; 541 : "WGL: Failed to retrieve DC for window"); ; 542 : return GLFW_FALSE; 00061 e9 e7 03 00 00 jmp $LN96@glfwCreate $LN3@glfwCreate: ; 543 : } ; 544 : ; 545 : pixelFormat = choosePixelFormatWGL(window, ctxconfig, fbconfig); 00066 4c 8b c6 mov r8, rsi 00069 48 8b d7 mov rdx, rdi 0006c 48 8b cb mov rcx, rbx 0006f e8 00 00 00 00 call choosePixelFormatWGL 00074 8b f0 mov esi, eax ; 546 : if (!pixelFormat) 00076 85 c0 test eax, eax 00078 0f 84 d4 03 00 00 je $LN50@glfwCreate ; 547 : return GLFW_FALSE; ; 548 : ; 549 : if (!DescribePixelFormat(window->context.wgl.dc, 0007e 48 8b 8b b8 02 00 00 mov rcx, QWORD PTR [rbx+696] 00085 4c 8d 4c 24 20 lea r9, QWORD PTR pfd$[rsp] 0008a 41 b8 28 00 00 00 mov r8d, 40 ; 00000028H 00090 8b d0 mov edx, eax 00092 ff 15 00 00 00 00 call QWORD PTR __imp_DescribePixelFormat 00098 85 c0 test eax, eax 0009a 75 16 jne SHORT $LN5@glfwCreate ; 550 : pixelFormat, sizeof(pfd), &pfd)) ; 551 : { ; 552 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0009c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DG@EPNPJJLB@WGL?3?5Failed?5to?5retrieve?5PFD?5for@ 000a3 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000a8 e8 00 00 00 00 call _glfwInputErrorWin32 ; 553 : "WGL: Failed to retrieve PFD for selected pixel format"); ; 554 : return GLFW_FALSE; 000ad e9 a0 03 00 00 jmp $LN50@glfwCreate $LN5@glfwCreate: ; 555 : } ; 556 : ; 557 : if (!SetPixelFormat(window->context.wgl.dc, pixelFormat, &pfd)) 000b2 48 8b 8b b8 02 00 00 mov rcx, QWORD PTR [rbx+696] 000b9 4c 8d 44 24 20 lea r8, QWORD PTR pfd$[rsp] 000be 8b d6 mov edx, esi 000c0 ff 15 00 00 00 00 call QWORD PTR __imp_SetPixelFormat 000c6 85 c0 test eax, eax 000c8 75 16 jne SHORT $LN6@glfwCreate ; 558 : { ; 559 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 000ca 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@HAGOIHNO@WGL?3?5Failed?5to?5set?5selected?5pix@ 000d1 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000d6 e8 00 00 00 00 call _glfwInputErrorWin32 ; 560 : "WGL: Failed to set selected pixel format"); ; 561 : return GLFW_FALSE; 000db e9 72 03 00 00 jmp $LN50@glfwCreate $LN6@glfwCreate: ; 562 : } ; 563 : ; 564 : if (ctxconfig->client == GLFW_OPENGL_API) 000e0 44 8b 07 mov r8d, DWORD PTR [rdi] 000e3 8b 05 10 2d 00 00 mov eax, DWORD PTR _glfw+11536 000e9 41 81 f8 01 00 03 00 cmp r8d, 196609 ; 00030001H 000f0 75 3b jne SHORT $LN7@glfwCreate ; 565 : { ; 566 : if (ctxconfig->forward) 000f2 83 7f 10 00 cmp DWORD PTR [rdi+16], 0 000f6 74 15 je SHORT $LN10@glfwCreate ; 567 : { ; 568 : if (!_glfw.wgl.ARB_create_context) 000f8 85 c0 test eax, eax 000fa 75 11 jne SHORT $LN10@glfwCreate ; 569 : { ; 570 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 000fc 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0FN@NPOMMKHN@WGL?3?5A?5forward?5compatible?5OpenG@ 00103 b9 07 00 01 00 mov ecx, 65543 ; 00010007H ; 571 : "WGL: A forward compatible OpenGL context requested but WGL_ARB_create_context is unavailable"); ; 572 : return GLFW_FALSE; 00108 e9 40 03 00 00 jmp $LN96@glfwCreate $LN10@glfwCreate: ; 573 : } ; 574 : } ; 575 : ; 576 : if (ctxconfig->profile) 0010d 83 7f 1c 00 cmp DWORD PTR [rdi+28], 0 00111 74 3c je SHORT $LN13@glfwCreate ; 577 : { ; 578 : if (!_glfw.wgl.ARB_create_context_profile) 00113 83 3d 14 2d 00 00 00 cmp DWORD PTR _glfw+11540, 0 0011a 75 33 jne SHORT $LN13@glfwCreate ; 579 : { ; 580 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 0011c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0FA@OHOPKHFK@WGL?3?5OpenGL?5profile?5requested?5b@ 00123 b9 07 00 01 00 mov ecx, 65543 ; 00010007H ; 581 : "WGL: OpenGL profile requested but WGL_ARB_create_context_profile is unavailable"); ; 582 : return GLFW_FALSE; 00128 e9 20 03 00 00 jmp $LN96@glfwCreate $LN7@glfwCreate: ; 583 : } ; 584 : } ; 585 : } ; 586 : else ; 587 : { ; 588 : if (!_glfw.wgl.ARB_create_context || ; 589 : !_glfw.wgl.ARB_create_context_profile || 0012d 85 c0 test eax, eax 0012f 0f 84 0c 03 00 00 je $LN14@glfwCreate 00135 83 3d 14 2d 00 00 00 cmp DWORD PTR _glfw+11540, 0 0013c 0f 84 ff 02 00 00 je $LN14@glfwCreate 00142 83 3d 18 2d 00 00 00 cmp DWORD PTR _glfw+11544, 0 00149 0f 84 f2 02 00 00 je $LN14@glfwCreate $LN13@glfwCreate: ; 593 : "WGL: OpenGL ES requested but WGL_ARB_create_context_es2_profile is unavailable"); ; 594 : return GLFW_FALSE; ; 595 : } ; 596 : } ; 597 : ; 598 : if (_glfw.wgl.ARB_create_context) 0014f 85 c0 test eax, eax 00151 0f 84 38 02 00 00 je $LN15@glfwCreate ; 599 : { ; 600 : int index = 0, mask = 0, flags = 0; 00157 33 d2 xor edx, edx 00159 33 c9 xor ecx, ecx ; 601 : ; 602 : if (ctxconfig->client == GLFW_OPENGL_API) 0015b 44 8d 52 02 lea r10d, QWORD PTR [rdx+2] 0015f 41 81 f8 01 00 03 00 cmp r8d, 196609 ; 00030001H 00166 75 28 jne SHORT $LN17@glfwCreate ; 603 : { ; 604 : if (ctxconfig->forward) ; 605 : flags |= WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB; ; 606 : ; 607 : if (ctxconfig->profile == GLFW_OPENGL_CORE_PROFILE) 00168 8b 47 10 mov eax, DWORD PTR [rdi+16] 0016b f7 d8 neg eax 0016d 8b 47 1c mov eax, DWORD PTR [rdi+28] 00170 1b c9 sbb ecx, ecx 00172 41 23 ca and ecx, r10d 00175 3d 01 20 03 00 cmp eax, 204801 ; 00032001H 0017a 75 06 jne SHORT $LN20@glfwCreate ; 608 : mask |= WGL_CONTEXT_CORE_PROFILE_BIT_ARB; 0017c 44 8d 4a 01 lea r9d, QWORD PTR [rdx+1] 00180 eb 14 jmp SHORT $LN18@glfwCreate $LN20@glfwCreate: ; 609 : else if (ctxconfig->profile == GLFW_OPENGL_COMPAT_PROFILE) 00182 45 33 c9 xor r9d, r9d 00185 3d 02 20 03 00 cmp eax, 204802 ; 00032002H 0018a 45 0f 44 ca cmove r9d, r10d ; 610 : mask |= WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; ; 611 : } 0018e eb 06 jmp SHORT $LN18@glfwCreate $LN17@glfwCreate: ; 612 : else ; 613 : mask |= WGL_CONTEXT_ES2_PROFILE_BIT_EXT; 00190 41 b9 04 00 00 00 mov r9d, 4 $LN18@glfwCreate: ; 614 : ; 615 : if (ctxconfig->debug) ; 616 : flags |= WGL_CONTEXT_DEBUG_BIT_ARB; ; 617 : ; 618 : if (ctxconfig->robustness) 00196 8b c1 mov eax, ecx 00198 83 c8 01 or eax, 1 0019b 39 57 14 cmp DWORD PTR [rdi+20], edx 0019e 0f 44 c1 cmove eax, ecx 001a1 8b 4f 20 mov ecx, DWORD PTR [rdi+32] 001a4 44 8b c0 mov r8d, eax 001a7 85 c9 test ecx, ecx 001a9 74 39 je SHORT $LN25@glfwCreate ; 619 : { ; 620 : if (_glfw.wgl.ARB_create_context_robustness) 001ab 39 15 1c 2d 00 00 cmp DWORD PTR _glfw+11548, edx 001b1 74 31 je SHORT $LN25@glfwCreate ; 621 : { ; 622 : if (ctxconfig->robustness == GLFW_NO_RESET_NOTIFICATION) 001b3 81 f9 01 10 03 00 cmp ecx, 200705 ; 00031001H 001b9 75 0a jne SHORT $LN26@glfwCreate ; 623 : { ; 624 : SET_ATTRIB(WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB, 001bb c7 44 24 54 61 82 00 00 mov DWORD PTR attribs$[rsp+4], 33377 ; 00008261H ; 625 : WGL_NO_RESET_NOTIFICATION_ARB); ; 626 : } 001c3 eb 10 jmp SHORT $LN94@glfwCreate $LN26@glfwCreate: ; 627 : else if (ctxconfig->robustness == GLFW_LOSE_CONTEXT_ON_RESET) 001c5 81 f9 02 10 03 00 cmp ecx, 200706 ; 00031002H 001cb 75 13 jne SHORT $LN28@glfwCreate ; 628 : { ; 629 : SET_ATTRIB(WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB, 001cd c7 44 24 54 52 82 00 00 mov DWORD PTR attribs$[rsp+4], 33362 ; 00008252H $LN94@glfwCreate: ; 630 : WGL_LOSE_CONTEXT_ON_RESET_ARB); ; 631 : } ; 632 : ; 633 : flags |= WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB; 001d5 41 8b d2 mov edx, r10d 001d8 c7 44 24 50 56 82 00 00 mov DWORD PTR attribs$[rsp], 33366 ; 00008256H $LN28@glfwCreate: 001e0 41 83 c8 04 or r8d, 4 $LN25@glfwCreate: ; 634 : } ; 635 : } ; 636 : ; 637 : if (ctxconfig->release) 001e4 8b 47 24 mov eax, DWORD PTR [rdi+36] 001e7 85 c0 test eax, eax 001e9 74 46 je SHORT $LN33@glfwCreate ; 638 : { ; 639 : if (_glfw.wgl.ARB_context_flush_control) 001eb 83 3d 24 2d 00 00 00 cmp DWORD PTR _glfw+11556, 0 001f2 74 3d je SHORT $LN33@glfwCreate ; 640 : { ; 641 : if (ctxconfig->release == GLFW_RELEASE_BEHAVIOR_NONE) 001f4 3d 02 50 03 00 cmp eax, 217090 ; 00035002H 001f9 75 17 jne SHORT $LN31@glfwCreate ; 642 : { ; 643 : SET_ATTRIB(WGL_CONTEXT_RELEASE_BEHAVIOR_ARB, 001fb 8b c2 mov eax, edx 001fd 8d 4a 01 lea ecx, DWORD PTR [rdx+1] 00200 c7 44 84 50 97 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8343 ; 00002097H 00208 c7 44 8c 50 00 00 00 00 mov DWORD PTR attribs$[rsp+rcx*4], 0 ; 644 : WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB); ; 645 : } 00210 eb 1c jmp SHORT $LN95@glfwCreate $LN31@glfwCreate: ; 646 : else if (ctxconfig->release == GLFW_RELEASE_BEHAVIOR_FLUSH) 00212 3d 01 50 03 00 cmp eax, 217089 ; 00035001H 00217 75 18 jne SHORT $LN33@glfwCreate ; 647 : { ; 648 : SET_ATTRIB(WGL_CONTEXT_RELEASE_BEHAVIOR_ARB, 00219 8b c2 mov eax, edx 0021b 8d 4a 01 lea ecx, DWORD PTR [rdx+1] 0021e c7 44 84 50 97 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8343 ; 00002097H 00226 c7 44 8c 50 98 20 00 00 mov DWORD PTR attribs$[rsp+rcx*4], 8344 ; 00002098H $LN95@glfwCreate: ; 649 : WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB); ; 650 : } ; 651 : } ; 652 : } ; 653 : ; 654 : if (ctxconfig->noerror) 0022e 8d 51 01 lea edx, DWORD PTR [rcx+1] $LN33@glfwCreate: 00231 83 7f 18 00 cmp DWORD PTR [rdi+24], 0 00235 74 21 je SHORT $LN35@glfwCreate ; 655 : { ; 656 : if (_glfw.wgl.ARB_create_context_no_error) 00237 83 3d 20 2d 00 00 00 cmp DWORD PTR _glfw+11552, 0 0023e 74 18 je SHORT $LN35@glfwCreate ; 657 : SET_ATTRIB(WGL_CONTEXT_OPENGL_NO_ERROR_ARB, GLFW_TRUE); 00240 8b c2 mov eax, edx 00242 8d 4a 01 lea ecx, DWORD PTR [rdx+1] 00245 8d 51 01 lea edx, DWORD PTR [rcx+1] 00248 c7 44 84 50 b3 31 00 00 mov DWORD PTR attribs$[rsp+rax*4], 12723 ; 000031b3H 00250 c7 44 8c 50 01 00 00 00 mov DWORD PTR attribs$[rsp+rcx*4], 1 $LN35@glfwCreate: ; 658 : } ; 659 : ; 660 : // NOTE: Only request an explicitly versioned context when necessary, as ; 661 : // explicitly requesting version 1.0 does not always return the ; 662 : // highest version supported by the driver ; 663 : if (ctxconfig->major != 1 || ctxconfig->minor != 0) 00258 8b 4f 08 mov ecx, DWORD PTR [rdi+8] 0025b 48 8d 77 0c lea rsi, QWORD PTR [rdi+12] 0025f 83 f9 01 cmp ecx, 1 00262 75 05 jne SHORT $LN55@glfwCreate 00264 83 3e 00 cmp DWORD PTR [rsi], 0 00267 74 2d je SHORT $LN36@glfwCreate $LN55@glfwCreate: ; 664 : { ; 665 : SET_ATTRIB(WGL_CONTEXT_MAJOR_VERSION_ARB, ctxconfig->major); 00269 8b c2 mov eax, edx 0026b ff c2 inc edx 0026d c7 44 84 50 91 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8337 ; 00002091H 00275 48 63 c2 movsxd rax, edx 00278 ff c2 inc edx 0027a 89 4c 84 50 mov DWORD PTR attribs$[rsp+rax*4], ecx ; 666 : SET_ATTRIB(WGL_CONTEXT_MINOR_VERSION_ARB, ctxconfig->minor); 0027e 48 63 c2 movsxd rax, edx 00281 ff c2 inc edx 00283 48 63 ca movsxd rcx, edx 00286 ff c2 inc edx 00288 c7 44 84 50 92 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8338 ; 00002092H 00290 8b 06 mov eax, DWORD PTR [rsi] 00292 89 44 8c 50 mov DWORD PTR attribs$[rsp+rcx*4], eax $LN36@glfwCreate: ; 667 : } ; 668 : ; 669 : if (flags) 00296 45 85 c0 test r8d, r8d 00299 74 17 je SHORT $LN38@glfwCreate ; 670 : SET_ATTRIB(WGL_CONTEXT_FLAGS_ARB, flags); 0029b 48 63 c2 movsxd rax, edx 0029e ff c2 inc edx 002a0 c7 44 84 50 94 20 00 00 mov DWORD PTR attribs$[rsp+rax*4], 8340 ; 00002094H 002a8 48 63 c2 movsxd rax, edx 002ab ff c2 inc edx 002ad 44 89 44 84 50 mov DWORD PTR attribs$[rsp+rax*4], r8d $LN38@glfwCreate: ; 671 : ; 672 : if (mask) 002b2 45 85 c9 test r9d, r9d 002b5 74 17 je SHORT $LN39@glfwCreate ; 673 : SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, mask); 002b7 48 63 c2 movsxd rax, edx 002ba ff c2 inc edx 002bc c7 44 84 50 26 91 00 00 mov DWORD PTR attribs$[rsp+rax*4], 37158 ; 00009126H 002c4 48 63 c2 movsxd rax, edx 002c7 ff c2 inc edx 002c9 44 89 4c 84 50 mov DWORD PTR attribs$[rsp+rax*4], r9d $LN39@glfwCreate: ; 674 : ; 675 : SET_ATTRIB(0, 0); ; 676 : ; 677 : window->context.wgl.handle = 002ce 48 8b 8b b8 02 00 00 mov rcx, QWORD PTR [rbx+696] 002d5 4c 8d 44 24 50 lea r8, QWORD PTR attribs$[rsp] 002da 48 63 c2 movsxd rax, edx 002dd 48 8b d5 mov rdx, rbp 002e0 48 c7 44 84 50 00 00 00 00 mov QWORD PTR attribs$[rsp+rax*4], 0 002e9 ff 15 f0 2c 00 00 call QWORD PTR _glfw+11504 002ef 48 89 83 c0 02 00 00 mov QWORD PTR [rbx+704], rax ; 678 : wglCreateContextAttribsARB(window->context.wgl.dc, share, attribs); ; 679 : if (!window->context.wgl.handle) 002f6 48 85 c0 test rax, rax 002f9 0f 85 e7 00 00 00 jne $LN53@glfwCreate ; 680 : { ; 681 : const DWORD error = GetLastError(); 002ff ff 15 00 00 00 00 call QWORD PTR __imp_GetLastError ; 682 : ; 683 : if (error == (0xc0070000 | ERROR_INVALID_VERSION_ARB)) 00305 3d 95 20 07 c0 cmp eax, -1073274731 ; c0072095H 0030a 75 2e jne SHORT $LN41@glfwCreate ; 684 : { ; 685 : if (ctxconfig->client == GLFW_OPENGL_API) ; 686 : { ; 687 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, ; 688 : "WGL: Driver does not support OpenGL version %i.%i", ; 689 : ctxconfig->major, ; 690 : ctxconfig->minor); ; 691 : } ; 692 : else ; 693 : { ; 694 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, ; 695 : "WGL: Driver does not support OpenGL ES version %i.%i", ; 696 : ctxconfig->major, ; 697 : ctxconfig->minor); ; 698 : } ; 699 : } 0030c 81 3f 01 00 03 00 cmp DWORD PTR [rdi], 196609 ; 00030001H 00312 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0DF@NPMNAJFG@WGL?3?5Driver?5does?5not?5support?5Op@ 00319 44 8b 0e mov r9d, DWORD PTR [rsi] 0031c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DC@CDLECLKD@WGL?3?5Driver?5does?5not?5support?5Op@ 00323 44 8b 47 08 mov r8d, DWORD PTR [rdi+8] 00327 48 0f 45 d0 cmovne rdx, rax 0032b b9 07 00 01 00 mov ecx, 65543 ; 00010007H 00330 e8 00 00 00 00 call _glfwInputError 00335 e9 18 01 00 00 jmp $LN50@glfwCreate $LN41@glfwCreate: ; 700 : else if (error == (0xc0070000 | ERROR_INVALID_PROFILE_ARB)) 0033a 3d 96 20 07 c0 cmp eax, -1073274730 ; c0072096H 0033f 75 11 jne SHORT $LN45@glfwCreate ; 701 : { ; 702 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 00341 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DK@CDBDDLLM@WGL?3?5Driver?5does?5not?5support?5th@ 00348 b9 07 00 01 00 mov ecx, 65543 ; 00010007H ; 703 : "WGL: Driver does not support the requested OpenGL profile"); ; 704 : } 0034d e9 fb 00 00 00 jmp $LN96@glfwCreate $LN45@glfwCreate: ; 705 : else if (error == (0xc0070000 | ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB)) 00352 3d 54 20 07 c0 cmp eax, -1073274796 ; c0072054H 00357 75 11 jne SHORT $LN47@glfwCreate ; 706 : { ; 707 : _glfwInputError(GLFW_INVALID_VALUE, 00359 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0EE@LGMAAPCC@WGL?3?5The?5share?5context?5is?5not?5c@ 00360 b9 04 00 01 00 mov ecx, 65540 ; 00010004H ; 708 : "WGL: The share context is not compatible with the requested context"); ; 709 : } 00365 e9 e3 00 00 00 jmp $LN96@glfwCreate $LN47@glfwCreate: ; 710 : else ; 711 : { ; 712 : if (ctxconfig->client == GLFW_OPENGL_API) 0036a 81 3f 01 00 03 00 cmp DWORD PTR [rdi], 196609 ; 00030001H 00370 b9 07 00 01 00 mov ecx, 65543 ; 00010007H 00375 75 0c jne SHORT $LN49@glfwCreate ; 713 : { ; 714 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 00377 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ ; 715 : "WGL: Failed to create OpenGL context"); ; 716 : } 0037e e9 ca 00 00 00 jmp $LN96@glfwCreate $LN49@glfwCreate: ; 717 : else ; 718 : { ; 719 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 00383 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CI@JNBCHAIF@WGL?3?5Failed?5to?5create?5OpenGL?5ES@ 0038a e9 be 00 00 00 jmp $LN96@glfwCreate $LN15@glfwCreate: ; 720 : "WGL: Failed to create OpenGL ES context"); ; 721 : } ; 722 : } ; 723 : ; 724 : return GLFW_FALSE; ; 725 : } ; 726 : } ; 727 : else ; 728 : { ; 729 : window->context.wgl.handle = wglCreateContext(window->context.wgl.dc); 0038f 48 8b 8b b8 02 00 00 mov rcx, QWORD PTR [rbx+696] 00396 ff 15 98 2c 00 00 call QWORD PTR _glfw+11416 0039c 48 89 83 c0 02 00 00 mov QWORD PTR [rbx+704], rax ; 730 : if (!window->context.wgl.handle) 003a3 48 85 c0 test rax, rax 003a6 75 16 jne SHORT $LN51@glfwCreate ; 731 : { ; 732 : _glfwInputErrorWin32(GLFW_VERSION_UNAVAILABLE, 003a8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ 003af b9 07 00 01 00 mov ecx, 65543 ; 00010007H 003b4 e8 00 00 00 00 call _glfwInputErrorWin32 ; 733 : "WGL: Failed to create OpenGL context"); ; 734 : return GLFW_FALSE; 003b9 e9 94 00 00 00 jmp $LN50@glfwCreate $LN51@glfwCreate: ; 735 : } ; 736 : ; 737 : if (share) 003be 48 85 ed test rbp, rbp 003c1 74 23 je SHORT $LN53@glfwCreate ; 738 : { ; 739 : if (!wglShareLists(share, window->context.wgl.handle)) 003c3 48 8b d0 mov rdx, rax 003c6 48 8b cd mov rcx, rbp 003c9 ff 15 c8 2c 00 00 call QWORD PTR _glfw+11464 003cf 85 c0 test eax, eax 003d1 75 13 jne SHORT $LN53@glfwCreate ; 740 : { ; 741 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 003d3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DM@FCAOPKO@WGL?3?5Failed?5to?5enable?5sharing?5w@ 003da b9 08 00 01 00 mov ecx, 65544 ; 00010008H 003df e8 00 00 00 00 call _glfwInputErrorWin32 ; 742 : "WGL: Failed to enable sharing with specified OpenGL context"); ; 743 : return GLFW_FALSE; 003e4 eb 6c jmp SHORT $LN50@glfwCreate $LN53@glfwCreate: ; 744 : } ; 745 : } ; 746 : } ; 747 : ; 748 : window->context.makeCurrent = makeContextCurrentWGL; 003e6 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:makeContextCurrentWGL ; 749 : window->context.swapBuffers = swapBuffersWGL; ; 750 : window->context.swapInterval = swapIntervalWGL; ; 751 : window->context.extensionSupported = extensionSupportedWGL; ; 752 : window->context.getProcAddress = getProcAddressWGL; ; 753 : window->context.destroy = destroyContextWGL; ; 754 : ; 755 : return GLFW_TRUE; 003ed b8 01 00 00 00 mov eax, 1 003f2 48 89 8b 50 02 00 00 mov QWORD PTR [rbx+592], rcx 003f9 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:swapBuffersWGL 00400 48 89 8b 58 02 00 00 mov QWORD PTR [rbx+600], rcx 00407 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:swapIntervalWGL 0040e 48 89 8b 60 02 00 00 mov QWORD PTR [rbx+608], rcx 00415 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:extensionSupportedWGL 0041c 48 89 8b 68 02 00 00 mov QWORD PTR [rbx+616], rcx 00423 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:getProcAddressWGL 0042a 48 89 8b 70 02 00 00 mov QWORD PTR [rbx+624], rcx 00431 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:destroyContextWGL 00438 48 89 8b 78 02 00 00 mov QWORD PTR [rbx+632], rcx 0043f eb 13 jmp SHORT $LN1@glfwCreate $LN14@glfwCreate: ; 590 : !_glfw.wgl.EXT_create_context_es2_profile) ; 591 : { ; 592 : _glfwInputError(GLFW_API_UNAVAILABLE, 00441 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0EP@EKHGPGGO@WGL?3?5OpenGL?5ES?5requested?5but?5WG@ 00448 b9 06 00 01 00 mov ecx, 65542 ; 00010006H $LN96@glfwCreate: ; 756 : } 0044d e8 00 00 00 00 call _glfwInputError $LN50@glfwCreate: 00452 33 c0 xor eax, eax $LN1@glfwCreate: 00454 48 8b 8c 24 f0 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0045c 48 33 cc xor rcx, rsp 0045f e8 00 00 00 00 call __security_check_cookie 00464 48 8b 9c 24 38 01 00 00 mov rbx, QWORD PTR [rsp+312] 0046c 48 81 c4 00 01 00 00 add rsp, 256 ; 00000100H 00473 5f pop rdi 00474 5e pop rsi 00475 5d pop rbp 00476 c3 ret 0 _glfwCreateContextWGL ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\wgl_context.c ; COMDAT glfwGetWGLContext _TEXT SEGMENT handle$ = 48 glfwGetWGLContext PROC ; COMDAT ; 761 : { $LN7: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 762 : _GLFWwindow* window = (_GLFWwindow*) handle; ; 763 : _GLFW_REQUIRE_INIT_OR_RETURN(NULL); 00004 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 0000b 75 13 jne SHORT $LN2@glfwGetWGL 0000d 33 d2 xor edx, edx 0000f b9 01 00 01 00 mov ecx, 65537 ; 00010001H 00014 e8 00 00 00 00 call _glfwInputError 00019 33 c0 xor eax, eax ; 779 : } 0001b 48 83 c4 28 add rsp, 40 ; 00000028H 0001f c3 ret 0 $LN2@glfwGetWGL: ; 764 : ; 765 : if (_glfw.platform.platformID != GLFW_PLATFORM_WIN32) 00020 81 3d 28 00 00 00 01 00 06 00 cmp DWORD PTR _glfw+40, 393217 ; 00060001H 0002a 74 18 je SHORT $LN3@glfwGetWGL ; 766 : { ; 767 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, 0002c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BO@NDHCIMGN@WGL?3?5Platform?5not?5initialized@ 00033 b9 0e 00 01 00 mov ecx, 65550 ; 0001000eH 00038 e8 00 00 00 00 call _glfwInputError ; 768 : "WGL: Platform not initialized"); ; 769 : return NULL; 0003d 33 c0 xor eax, eax ; 779 : } 0003f 48 83 c4 28 add rsp, 40 ; 00000028H 00043 c3 ret 0 $LN3@glfwGetWGL: ; 770 : } ; 771 : ; 772 : if (window->context.source != GLFW_NATIVE_CONTEXT_API) 00044 81 b9 0c 02 00 00 01 60 03 00 cmp DWORD PTR [rcx+524], 221185 ; 00036001H 0004e 74 13 je SHORT $LN4@glfwGetWGL ; 773 : { ; 774 : _glfwInputError(GLFW_NO_WINDOW_CONTEXT, NULL); 00050 33 d2 xor edx, edx 00052 b9 0a 00 01 00 mov ecx, 65546 ; 0001000aH 00057 e8 00 00 00 00 call _glfwInputError ; 775 : return NULL; 0005c 33 c0 xor eax, eax ; 779 : } 0005e 48 83 c4 28 add rsp, 40 ; 00000028H 00062 c3 ret 0 $LN4@glfwGetWGL: ; 776 : } ; 777 : ; 778 : return window->context.wgl.handle; 00063 48 8b 81 c0 02 00 00 mov rax, QWORD PTR [rcx+704] ; 779 : } 0006a 48 83 c4 28 add rsp, 40 ; 00000028H 0006e c3 ret 0 glfwGetWGLContext ENDP _TEXT ENDS END