3397 lines
107 KiB
Plaintext
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
|