Files
stgsharp/源代码/StgSharpGraphic/x64/Release/wgl_context.cod
T

3397 lines
107 KiB
Plaintext

; 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