; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES msvcjmc SEGMENT __9C03CD75_concurrencysal@h DB 01H __CA64BAF1_sal@h DB 01H __95655E73_vadefs@h DB 01H __1D560A45_vcruntime@h DB 01H __1B0272D9_corecrt@h DB 01H __13F5961F_stddef@h DB 01H __ED683015_stdint@h DB 01H __89F75FCD_ssgc_internal@h DB 01H __A5E73FD0_glfw3@h DB 01H __1D45B1A5_glfw_null_platform@h DB 01H __74484FB3_corecrt_wctype@h DB 01H __CBE172F9_wctype@h DB 01H __0ED14FEE_winpackagefamily@h DB 01H __F92EF742_winapifamily@h DB 01H __22E515EB_sdkddkver@h DB 01H __F214EFBF_excpt@h DB 01H __D9B78EDA_stdarg@h DB 01H __29F49F40_specstrings_undef@h DB 01H __D0F42932_specstrings_strict@h DB 01H __F00405FD_sdv_driverspecs@h DB 01H __173E09CA_driverspecs@h DB 01H __9A452361_specstrings@h DB 01H __1EC467ED_ctype@h DB 01H __98517906_kernelspecs@h DB 01H __D3497022_basetsd@h DB 01H __61CC25A1_errno@h DB 01H __7061C667_vcruntime_string@h DB 01H __E4C945B4_corecrt_memcpy_s@h DB 01H __8EAFF484_corecrt_memory@h DB 01H __6490AEC5_corecrt_wstring@h DB 01H __E8295E1E_string@h DB 01H __7FCB5136_guiddef@h DB 01H __FF8A9E11_pshpack4@h DB 01H __D5438902_poppack@h DB 01H __FB07E2A3_pshpack2@h DB 01H __F6906775_pshpack8@h DB 01H __F9415CFA_pshpack1@h DB 01H __E58C6F1C_apiset@h DB 01H __A5C52262_ktmtypes@h DB 01H __FBBA8F9D_winnt@h DB 01H __A32D3D2C_minwindef@h DB 01H __7D798299_windef@h DB 01H __9AE108E9_apisetcconv@h DB 01H __9CE53D2C_minwinbase@h DB 01H __5D0AA210_apiquery2@h DB 01H __4DD4E726_processenv@h DB 01H __3575CC96_fileapi@h DB 01H __8EA220E6_fileapifromapp@h DB 01H __BF9B31FE_debugapi@h DB 01H __C3AFE134_utilapiset@h DB 01H __76F69E51_handleapi@h DB 01H __7E63D784_errhandlingapi@h DB 01H __FFA7003C_fibersapi@h DB 01H __8971CECF_namedpipeapi@h DB 01H __46C9D8A6_profileapi@h DB 01H __98D4F0A3_heapapi@h DB 01H __50EF2A88_ioapiset@h DB 01H __92EA1464_synchapi@h DB 01H __A53D8AED_interlockedapi@h DB 01H __B506CAAF_processthreadsapi@h DB 01H __FF735694_sysinfoapi@h DB 01H __29589789_memoryapi@h DB 01H __E9C7A663_enclaveapi@h DB 01H __D035F9F7_threadpoollegacyapiset@h DB 01H __C899130C_threadpoolapiset@h DB 01H __E0441EE7_jobapi@h DB 01H __CEF86838_jobapi2@h DB 01H __35AC6B9A_wow64apiset@h DB 01H __C8AE41A5_libloaderapi@h DB 01H __CC9E232D_securitybaseapi@h DB 01H __C9D0C9B8_namespaceapi@h DB 01H __30FF9CAD_systemtopologyapi@h DB 01H __4D358795_processtopologyapi@h DB 01H __40446D10_securityappcontainer@h DB 01H __3A952EDF_realtimeapiset@h DB 01H __F4865F4B_winerror@h DB 01H __53C1BD93_timezoneapi@h DB 01H __1FFBEDBF_winbase@h DB 01H __43D3FA34_wingdi@h DB 01H __D24A7391_tvout@h DB 01H __7713A6C8_winuser@h DB 01H __0B345F71_datetimeapi@h DB 01H __9AC6960C_winnls@h DB 01H __973A40A8_stringapiset@h DB 01H __CC46FEE2_wincontypes@h DB 01H __97D70BE1_consoleapi@h DB 01H __27EC5E18_consoleapi2@h DB 01H __262E342F_consoleapi3@h DB 01H __641DCD70_wincon@h DB 01H __5A96C7A7_verrsrc@h DB 01H __B69C6FF2_winver@h DB 01H __7AEB8C37_reason@h DB 01H __59F1A8A9_winreg@h DB 01H __EE0E2B7F_wnnc@h DB 01H __DCDB7054_winnetwk@h DB 01H __81DDEDE3_stralign@h DB 01H __2134D1B4_winsvc@h DB 01H __11C07376_mcx@h DB 01H __577CE3E7_ime_cmodes@h DB 01H __1E72C31E_imm@h DB 01H __E15BF856_windows@h DB 01H __DF8704F0_rpcdcep@h DB 01H __5C6CA7BB_rpcdce@h DB 01H __853533C4_rpcnsi@h DB 01H __2D2406C3_rpcnterr@h DB 01H __64521D71_rpcasync@h DB 01H __AADCBA08_rpc@h DB 01H __1FE431C9_rpcnsip@h DB 01H __2B741F2D_rpcsal@h DB 01H __92623256_rpcndr@h DB 01H __45DED006_corecrt_malloc@h DB 01H __FD6DBD68_corecrt_search@h DB 01H __E2E33A61_corecrt_wstdlib@h DB 01H __531E1E2A_limits@h DB 01H __6E5ACABA_stdlib@h DB 01H __9C18532E_wtypesbase@h DB 01H __30B1AFDA_unknwnbase@h DB 01H __328C1996_objidlbase@h DB 01H __C4E06B6A_cguid@h DB 01H __434718C5_combaseapi@h DB 01H __EA2E1D6D_wtypes@h DB 01H __DE6FDEF1_unknwn@h DB 01H __CCE0BACC_objidl@h DB 01H __8C7011E5_oaidl@h DB 01H __2E0B7863_propidlbase@h DB 01H __BF4CF2EC_coml2api@h DB 01H __6D897344_oleidl@h DB 01H __1129FC2C_servprov@h DB 01H __757952E4_msxml@h DB 01H __B1191D53_urlmon@h DB 01H __404D1A47_propidl@h DB 01H __A1C63593_objbase@h DB 01H __9F7C87B7_dinput@h DB 01H __B468A3D3_xinput@h DB 01H __AD768F06_dbt@h DB 01H __D83367F8_glfw_win32_platform@h DB 01H __53CB9229_glfw_null_joystick@h DB 01H __96BD4474_glfw_win32_joystick@h DB 01H __7D74CEA8_glfw_win32_thread@h DB 01H __C7421531_glfw_win32_time@h DB 01H __43B1F397_glfw_platform@h DB 01H __A547227D_glfw_internal@h DB 01H __44420885_corecrt_stdio_config@h DB 01H __AB601D8D_corecrt_wstdio@h DB 01H __C1EC35D3_stdio@h DB 01H __19139D6C_assert@h DB 01H __E9A20A45_egl_context@c DB 01H msvcjmc ENDS PUBLIC _glfwInitEGL PUBLIC _glfwTerminateEGL PUBLIC _glfwCreateContextEGL PUBLIC glfwGetEGLDisplay PUBLIC glfwGetEGLContext PUBLIC glfwGetEGLSurface PUBLIC __JustMyCode_Default PUBLIC ??_C@_07PBILKAFL@Success@ ; `string' PUBLIC ??_C@_0CH@KLCPDMM@EGL?5is?5not?5or?5could?5not?5be?5init@ ; `string' PUBLIC ??_C@_0CH@MMCOKIKC@EGL?5cannot?5access?5a?5requested?5r@ ; `string' PUBLIC ??_C@_0DN@GNDEENDO@EGL?5failed?5to?5allocate?5resource@ ; `string' PUBLIC ??_C@_0EO@EKFIJHGG@An?5unrecognized?5attribute?5or?5at@ ; `string' PUBLIC ??_C@_0ED@GAJEHCGA@An?5EGLContext?5argument?5does?5not@ ; `string' PUBLIC ??_C@_0EL@BBAGGFOK@An?5EGLConfig?5argument?5does?5not?5@ ; `string' PUBLIC ??_C@_0GG@ODICGIHF@The?5current?5surface?5of?5the?5call@ ; `string' PUBLIC ??_C@_0EE@ICKHNPHB@An?5EGLDisplay?5argument?5does?5not@ ; `string' PUBLIC ??_C@_0FB@EPGEGHDL@An?5EGLSurface?5argument?5does?5not@ ; `string' PUBLIC ??_C@_0BL@OIILILNJ@Arguments?5are?5inconsistent@ ; `string' PUBLIC ??_C@_0CI@KAHNKLLC@One?5or?5more?5argument?5values?5are@ ; `string' PUBLIC ??_C@_0EE@NKCAIGPH@A?5NativePixmapType?5argument?5doe@ ; `string' PUBLIC ??_C@_0EE@FBMMOIJB@A?5NativeWindowType?5argument?5doe@ ; `string' PUBLIC ??_C@_0DL@GNLICFMC@The?5application?5must?5destroy?5al@ ; `string' PUBLIC ??_C@_0BJ@KDFAHDEK@ERROR?3?5UNKNOWN?5EGL?5ERROR@ ; `string' PUBLIC ??_C@_0CE@CNKFDGDO@EGL?3?5Stereo?5rendering?5not?5suppo@ ; `string' PUBLIC ??_C@_0BM@KHOPPJNJ@EGL?3?5No?5EGLConfigs?5returned@ ; `string' PUBLIC ??_C@_0CO@HAIMLOLL@EGL?3?5Failed?5to?5find?5support?5for@ ; `string' PUBLIC ??_C@_0DF@BPPFPGID@EGL?3?5Failed?5to?5find?5support?5for@ ; `string' PUBLIC ??_C@_0CH@EMJGILEP@EGL?3?5Failed?5to?5find?5support?5for@ ; `string' PUBLIC ??_C@_0CJ@JPDPLHCM@EGL?3?5Failed?5to?5find?5a?5suitable?5@ ; `string' PUBLIC ??_C@_0CI@MPJNGPNP@EGL?3?5Failed?5to?5make?5context?5cur@ ; `string' PUBLIC ??_C@_0CJ@NBJEEEJD@EGL?3?5Failed?5to?5clear?5current?5co@ ; `string' PUBLIC ??_C@_0EN@CIIGDABJ@EGL?3?5The?5context?5must?5be?5curren@ ; `string' PUBLIC ??_C@_0L@ELKKGGMD@libEGL?4dll@ ; `string' PUBLIC ??_C@_07EAKGIKCB@EGL?4dll@ ; `string' PUBLIC ??_C@_0BH@NFNALLIN@EGL?3?5Library?5not?5found@ ; `string' PUBLIC ??_C@_03LPIGJBNC@lib@ ; `string' PUBLIC ??_C@_0BD@MAEGKKAE@eglGetConfigAttrib@ ; `string' PUBLIC ??_C@_0O@OMNEJBKO@eglGetConfigs@ ; `string' PUBLIC ??_C@_0O@BMJFLKOA@eglGetDisplay@ ; `string' PUBLIC ??_C@_0M@PPADKGOK@eglGetError@ ; `string' PUBLIC ??_C@_0O@EEJFKEKH@eglInitialize@ ; `string' PUBLIC ??_C@_0N@IGFNFAOP@eglTerminate@ ; `string' PUBLIC ??_C@_0L@HJOCIPHF@eglBindAPI@ ; `string' PUBLIC ??_C@_0BB@KEKMNHDF@eglCreateContext@ ; `string' PUBLIC ??_C@_0BC@ICHKG@eglDestroySurface@ ; `string' PUBLIC ??_C@_0BC@BNOBCLNJ@eglDestroyContext@ ; `string' PUBLIC ??_C@_0BH@MDMCFBDG@eglCreateWindowSurface@ ; `string' PUBLIC ??_C@_0P@PNPBPNLI@eglMakeCurrent@ ; `string' PUBLIC ??_C@_0P@DEBOOHKH@eglSwapBuffers@ ; `string' PUBLIC ??_C@_0BA@BGJPOLDF@eglSwapInterval@ ; `string' PUBLIC ??_C@_0P@HJKEKLKD@eglQueryString@ ; `string' PUBLIC ??_C@_0BC@HONLJDPH@eglGetProcAddress@ ; `string' PUBLIC ??_C@_0CK@DCPJCPHH@EGL?3?5Failed?5to?5load?5required?5en@ ; `string' PUBLIC ??_C@_0BG@IPJFJLIC@EGL_EXT_platform_base@ ; `string' PUBLIC ??_C@_0BF@FMIKFMMH@EGL_EXT_platform_x11@ ; `string' PUBLIC ??_C@_0BJ@KIPDFNMM@EGL_EXT_platform_wayland@ ; `string' PUBLIC ??_C@_0BJ@MBCLFEBK@EGL_ANGLE_platform_angle@ ; `string' PUBLIC ??_C@_0CA@NIHAEPLD@EGL_ANGLE_platform_angle_opengl@ ; `string' PUBLIC ??_C@_0BN@OHLJPDPM@EGL_ANGLE_platform_angle_d3d@ ; `string' PUBLIC ??_C@_0CA@HGIOILGO@EGL_ANGLE_platform_angle_vulkan@ ; `string' PUBLIC ??_C@_0BP@NMKFFDCO@EGL_ANGLE_platform_angle_metal@ ; `string' PUBLIC ??_C@_0BJ@KEAIGPHD@eglGetPlatformDisplayEXT@ ; `string' PUBLIC ??_C@_0CC@NGDHIGBI@eglCreatePlatformWindowSurfaceE@ ; `string' PUBLIC ??_C@_0CD@CODEPNKE@EGL?3?5Failed?5to?5get?5EGL?5display?3@ ; `string' PUBLIC ??_C@_0CC@DOIEFDD@EGL?3?5Failed?5to?5initialize?5EGL?3?5@ ; `string' PUBLIC ??_C@_0BH@GIBFIFPN@EGL_KHR_create_context@ ; `string' PUBLIC ??_C@_0CA@OJFEOPKP@EGL_KHR_create_context_no_error@ ; `string' PUBLIC ??_C@_0BG@GOAKKGGB@EGL_KHR_gl_colorspace@ ; `string' PUBLIC ??_C@_0BP@CDGGFNNF@EGL_KHR_get_all_proc_addresses@ ; `string' PUBLIC ??_C@_0BO@IDEEMGNC@EGL_KHR_context_flush_control@ ; `string' PUBLIC ??_C@_0BH@JADLEPAM@EGL_EXT_present_opaque@ ; `string' PUBLIC ??_C@_0BH@PDIOJKKP@EGL?3?5API?5not?5available@ ; `string' PUBLIC ??_C@_0CC@NIBJMOI@EGL?3?5Failed?5to?5bind?5OpenGL?5ES?3?5@ ; `string' PUBLIC ??_C@_0BP@PHOHHIJJ@EGL?3?5Failed?5to?5bind?5OpenGL?3?5?$CFs@ ; `string' PUBLIC ??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ ; `string' PUBLIC ??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ ; `string' PUBLIC ??_C@_0CC@GOIKODMM@EGL?3?5Failed?5to?5create?5context?3?5@ ; `string' PUBLIC ??_C@_0CJ@MHLGDLLP@EGL?3?5Failed?5to?5create?5window?5su@ ; `string' PUBLIC ??_C@_0O@KOJFNJDA@GLESv1_CM?4dll@ ; `string' PUBLIC ??_C@_0P@MADFBLIB@libGLES_CM?4dll@ ; `string' PUBLIC ??_C@_0L@CEBLLDFF@GLESv2?4dll@ ; `string' PUBLIC ??_C@_0O@HFAAEHFL@libGLESv2?4dll@ ; `string' PUBLIC ??_C@_0CD@JDEAKJCI@EGL?3?5Failed?5to?5load?5client?5libr@ ; `string' EXTRN __imp_strncmp:PROC EXTRN _glfwPlatformGetTls:PROC EXTRN _glfwPlatformSetTls:PROC EXTRN _glfwPlatformLoadModule:PROC EXTRN _glfwPlatformFreeModule:PROC EXTRN _glfwPlatformGetModuleSymbol:PROC EXTRN _glfwInputError:PROC EXTRN _glfwStringInExtensionString:PROC EXTRN _glfwChooseFBConfig:PROC EXTRN _glfw_calloc:PROC EXTRN _glfw_free:PROC EXTRN __imp__wassert:PROC EXTRN _RTC_CheckStackVars:PROC EXTRN _RTC_InitBase:PROC EXTRN _RTC_Shutdown:PROC EXTRN __CheckForDebuggerJustMyCode:PROC EXTRN __GSHandlerCheck:PROC EXTRN __security_check_cookie:PROC EXTRN _glfw:BYTE EXTRN __ImageBase:BYTE EXTRN __security_cookie:QWORD ; COMDAT pdata pdata SEGMENT $pdata$_glfwInitEGL DD imagerel $LN20 DD imagerel $LN20+1563 DD imagerel $unwind$_glfwInitEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwTerminateEGL DD imagerel $LN5 DD imagerel $LN5+104 DD imagerel $unwind$_glfwTerminateEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateContextEGL DD imagerel $LN71 DD imagerel $LN71+3255 DD imagerel $unwind$_glfwCreateContextEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getEGLErrorString DD imagerel getEGLErrorString DD imagerel getEGLErrorString+316 DD imagerel $unwind$getEGLErrorString pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getEGLConfigAttrib DD imagerel getEGLConfigAttrib DD imagerel getEGLConfigAttrib+156 DD imagerel $unwind$getEGLConfigAttrib pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$chooseEGLConfig DD imagerel chooseEGLConfig DD imagerel chooseEGLConfig+1022 DD imagerel $unwind$chooseEGLConfig pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$makeContextCurrentEGL DD imagerel makeContextCurrentEGL DD imagerel makeContextCurrentEGL+226 DD imagerel $unwind$makeContextCurrentEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$swapBuffersEGL DD imagerel swapBuffersEGL DD imagerel swapBuffersEGL+108 DD imagerel $unwind$swapBuffersEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$swapIntervalEGL DD imagerel swapIntervalEGL DD imagerel swapIntervalEGL+59 DD imagerel $unwind$swapIntervalEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$extensionSupportedEGL DD imagerel extensionSupportedEGL DD imagerel extensionSupportedEGL+99 DD imagerel $unwind$extensionSupportedEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getProcAddressEGL DD imagerel getProcAddressEGL DD imagerel getProcAddressEGL+124 DD imagerel $unwind$getProcAddressEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$destroyContextEGL DD imagerel destroyContextEGL DD imagerel destroyContextEGL+250 DD imagerel $unwind$destroyContextEGL pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwGetEGLDisplay DD imagerel $LN4 DD imagerel $LN4+69 DD imagerel $unwind$glfwGetEGLDisplay pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwGetEGLContext DD imagerel $LN5 DD imagerel $LN5+120 DD imagerel $unwind$glfwGetEGLContext pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwGetEGLSurface DD imagerel $LN5 DD imagerel $LN5+120 DD imagerel $unwind$glfwGetEGLSurface pdata ENDS ; COMDAT rtc$TMZ rtc$TMZ SEGMENT _RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT _RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase rtc$IMZ ENDS ; COMDAT ??_C@_0CD@JDEAKJCI@EGL?3?5Failed?5to?5load?5client?5libr@ CONST SEGMENT ??_C@_0CD@JDEAKJCI@EGL?3?5Failed?5to?5load?5client?5libr@ DB 'EGL: Failed' DB ' to load client library', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@HFAAEHFL@libGLESv2?4dll@ CONST SEGMENT ??_C@_0O@HFAAEHFL@libGLESv2?4dll@ DB 'libGLESv2.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0L@CEBLLDFF@GLESv2?4dll@ CONST SEGMENT ??_C@_0L@CEBLLDFF@GLESv2?4dll@ DB 'GLESv2.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@MADFBLIB@libGLES_CM?4dll@ CONST SEGMENT ??_C@_0P@MADFBLIB@libGLES_CM?4dll@ DB 'libGLES_CM.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@KOJFNJDA@GLESv1_CM?4dll@ CONST SEGMENT ??_C@_0O@KOJFNJDA@GLESv1_CM?4dll@ DB 'GLESv1_CM.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@MHLGDLLP@EGL?3?5Failed?5to?5create?5window?5su@ CONST SEGMENT ??_C@_0CJ@MHLGDLLP@EGL?3?5Failed?5to?5create?5window?5su@ DB 'EGL: Failed' DB ' to create window surface: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CC@GOIKODMM@EGL?3?5Failed?5to?5create?5context?3?5@ CONST SEGMENT ??_C@_0CC@GOIKODMM@EGL?3?5Failed?5to?5create?5context?3?5@ DB 'EGL: Faile' DB 'd to create context: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ CONST SEGMENT ??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ DB '(' DB 00H, '(', 00H, 's', 00H, 'i', 00H, 'z', 00H, 'e', 00H, '_', 00H DB 't', 00H, ')', 00H, ' ', 00H, 'i', 00H, 'n', 00H, 'd', 00H, 'e' DB 00H, 'x', 00H, ' ', 00H, '+', 00H, ' ', 00H, '1', 00H, ')', 00H DB ' ', 00H, '<', 00H, ' ', 00H, 's', 00H, 'i', 00H, 'z', 00H, 'e' DB 00H, 'o', 00H, 'f', 00H, '(', 00H, 'a', 00H, 't', 00H, 't', 00H DB 'r', 00H, 'i', 00H, 'b', 00H, 's', 00H, ')', 00H, ' ', 00H, '/' DB 00H, ' ', 00H, 's', 00H, 'i', 00H, 'z', 00H, 'e', 00H, 'o', 00H DB 'f', 00H, '(', 00H, 'a', 00H, 't', 00H, 't', 00H, 'r', 00H, 'i' DB 00H, 'b', 00H, 's', 00H, '[', 00H, '0', 00H, ']', 00H, ')', 00H DB 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ CONST SEGMENT ??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ DB 'D' DB 00H, ':', 00H, '\', 00H, 'N', 00H, 'i', 00H, 't', 00H, 'l', 00H DB 'o', 00H, 'a', 00H, 'd', 00H, 'I', 00H, 'n', 00H, 'd', 00H, 'u' DB 00H, 's', 00H, 't', 00H, 'r', 00H, 'y', 00H, '\', 00H, 014H, 'x' DB 'vzy', 098H, 0eeH, 'v\', 00H, '1', 00H, '-', 00H, 'F', 00H, 'l' DB 00H, 'a', 00H, 'g', 00H, 's', 00H, 'h', 00H, 'i', 00H, 'p', 00H DB '\', 00H, 'T', 00H, 'H', 00H, '2', 00H, '0', 00H, '2', 00H, '0' DB 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'j', 00H, 'e', 00H DB 'c', 00H, 't', 00H, 'F', 00H, 'i', 00H, 'l', 00H, 'e', 00H, '\' DB 00H, 090H, 'n', 0e3H, 'N', 01H, 'x\', 00H, 'S', 00H, 't', 00H, 'g' DB 00H, 'S', 00H, 'h', 00H, 'a', 00H, 'r', 00H, 'p', 00H, 'G', 00H DB 'r', 00H, 'a', 00H, 'p', 00H, 'h', 00H, 'i', 00H, 'c', 00H, '\' DB 00H, 'c', 00H, 'o', 00H, 'd', 00H, 'e', 00H, '\', 00H, 'g', 00H DB 'l', 00H, 'f', 00H, 'w', 00H, '\', 00H, 'e', 00H, 'g', 00H, 'l' DB 00H, '_', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'e', 00H DB 'x', 00H, 't', 00H, '.', 00H, 'c', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@PHOHHIJJ@EGL?3?5Failed?5to?5bind?5OpenGL?3?5?$CFs@ CONST SEGMENT ??_C@_0BP@PHOHHIJJ@EGL?3?5Failed?5to?5bind?5OpenGL?3?5?$CFs@ DB 'EGL: Fai' DB 'led to bind OpenGL: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CC@NIBJMOI@EGL?3?5Failed?5to?5bind?5OpenGL?5ES?3?5@ CONST SEGMENT ??_C@_0CC@NIBJMOI@EGL?3?5Failed?5to?5bind?5OpenGL?5ES?3?5@ DB 'EGL: Faile' DB 'd to bind OpenGL ES: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BH@PDIOJKKP@EGL?3?5API?5not?5available@ CONST SEGMENT ??_C@_0BH@PDIOJKKP@EGL?3?5API?5not?5available@ DB 'EGL: API not available' DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BH@JADLEPAM@EGL_EXT_present_opaque@ CONST SEGMENT ??_C@_0BH@JADLEPAM@EGL_EXT_present_opaque@ DB 'EGL_EXT_present_opaque', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BO@IDEEMGNC@EGL_KHR_context_flush_control@ CONST SEGMENT ??_C@_0BO@IDEEMGNC@EGL_KHR_context_flush_control@ DB 'EGL_KHR_context_flu' DB 'sh_control', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@CDGGFNNF@EGL_KHR_get_all_proc_addresses@ CONST SEGMENT ??_C@_0BP@CDGGFNNF@EGL_KHR_get_all_proc_addresses@ DB 'EGL_KHR_get_all_pr' DB 'oc_addresses', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BG@GOAKKGGB@EGL_KHR_gl_colorspace@ CONST SEGMENT ??_C@_0BG@GOAKKGGB@EGL_KHR_gl_colorspace@ DB 'EGL_KHR_gl_colorspace', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CA@OJFEOPKP@EGL_KHR_create_context_no_error@ CONST SEGMENT ??_C@_0CA@OJFEOPKP@EGL_KHR_create_context_no_error@ DB 'EGL_KHR_create_co' DB 'ntext_no_error', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BH@GIBFIFPN@EGL_KHR_create_context@ CONST SEGMENT ??_C@_0BH@GIBFIFPN@EGL_KHR_create_context@ DB 'EGL_KHR_create_context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CC@DOIEFDD@EGL?3?5Failed?5to?5initialize?5EGL?3?5@ CONST SEGMENT ??_C@_0CC@DOIEFDD@EGL?3?5Failed?5to?5initialize?5EGL?3?5@ DB 'EGL: Failed' DB ' to initialize EGL: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CD@CODEPNKE@EGL?3?5Failed?5to?5get?5EGL?5display?3@ CONST SEGMENT ??_C@_0CD@CODEPNKE@EGL?3?5Failed?5to?5get?5EGL?5display?3@ DB 'EGL: Faile' DB 'd to get EGL display: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CC@NGDHIGBI@eglCreatePlatformWindowSurfaceE@ CONST SEGMENT ??_C@_0CC@NGDHIGBI@eglCreatePlatformWindowSurfaceE@ DB 'eglCreatePlatform' DB 'WindowSurfaceEXT', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@KEAIGPHD@eglGetPlatformDisplayEXT@ CONST SEGMENT ??_C@_0BJ@KEAIGPHD@eglGetPlatformDisplayEXT@ DB 'eglGetPlatformDisplayEXT' DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@NMKFFDCO@EGL_ANGLE_platform_angle_metal@ CONST SEGMENT ??_C@_0BP@NMKFFDCO@EGL_ANGLE_platform_angle_metal@ DB 'EGL_ANGLE_platform' DB '_angle_metal', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CA@HGIOILGO@EGL_ANGLE_platform_angle_vulkan@ CONST SEGMENT ??_C@_0CA@HGIOILGO@EGL_ANGLE_platform_angle_vulkan@ DB 'EGL_ANGLE_platfor' DB 'm_angle_vulkan', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BN@OHLJPDPM@EGL_ANGLE_platform_angle_d3d@ CONST SEGMENT ??_C@_0BN@OHLJPDPM@EGL_ANGLE_platform_angle_d3d@ DB 'EGL_ANGLE_platform_a' DB 'ngle_d3d', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CA@NIHAEPLD@EGL_ANGLE_platform_angle_opengl@ CONST SEGMENT ??_C@_0CA@NIHAEPLD@EGL_ANGLE_platform_angle_opengl@ DB 'EGL_ANGLE_platfor' DB 'm_angle_opengl', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@MBCLFEBK@EGL_ANGLE_platform_angle@ CONST SEGMENT ??_C@_0BJ@MBCLFEBK@EGL_ANGLE_platform_angle@ DB 'EGL_ANGLE_platform_angle' DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@KIPDFNMM@EGL_EXT_platform_wayland@ CONST SEGMENT ??_C@_0BJ@KIPDFNMM@EGL_EXT_platform_wayland@ DB 'EGL_EXT_platform_wayland' DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BF@FMIKFMMH@EGL_EXT_platform_x11@ CONST SEGMENT ??_C@_0BF@FMIKFMMH@EGL_EXT_platform_x11@ DB 'EGL_EXT_platform_x11', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BG@IPJFJLIC@EGL_EXT_platform_base@ CONST SEGMENT ??_C@_0BG@IPJFJLIC@EGL_EXT_platform_base@ DB 'EGL_EXT_platform_base', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CK@DCPJCPHH@EGL?3?5Failed?5to?5load?5required?5en@ CONST SEGMENT ??_C@_0CK@DCPJCPHH@EGL?3?5Failed?5to?5load?5required?5en@ DB 'EGL: Failed' DB ' to load required entry points', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BC@HONLJDPH@eglGetProcAddress@ CONST SEGMENT ??_C@_0BC@HONLJDPH@eglGetProcAddress@ DB 'eglGetProcAddress', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@HJKEKLKD@eglQueryString@ CONST SEGMENT ??_C@_0P@HJKEKLKD@eglQueryString@ DB 'eglQueryString', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BA@BGJPOLDF@eglSwapInterval@ CONST SEGMENT ??_C@_0BA@BGJPOLDF@eglSwapInterval@ DB 'eglSwapInterval', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@DEBOOHKH@eglSwapBuffers@ CONST SEGMENT ??_C@_0P@DEBOOHKH@eglSwapBuffers@ DB 'eglSwapBuffers', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@PNPBPNLI@eglMakeCurrent@ CONST SEGMENT ??_C@_0P@PNPBPNLI@eglMakeCurrent@ DB 'eglMakeCurrent', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BH@MDMCFBDG@eglCreateWindowSurface@ CONST SEGMENT ??_C@_0BH@MDMCFBDG@eglCreateWindowSurface@ DB 'eglCreateWindowSurface', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BC@BNOBCLNJ@eglDestroyContext@ CONST SEGMENT ??_C@_0BC@BNOBCLNJ@eglDestroyContext@ DB 'eglDestroyContext', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BC@ICHKG@eglDestroySurface@ CONST SEGMENT ??_C@_0BC@ICHKG@eglDestroySurface@ DB 'eglDestroySurface', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BB@KEKMNHDF@eglCreateContext@ CONST SEGMENT ??_C@_0BB@KEKMNHDF@eglCreateContext@ DB 'eglCreateContext', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0L@HJOCIPHF@eglBindAPI@ CONST SEGMENT ??_C@_0L@HJOCIPHF@eglBindAPI@ DB 'eglBindAPI', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0N@IGFNFAOP@eglTerminate@ CONST SEGMENT ??_C@_0N@IGFNFAOP@eglTerminate@ DB 'eglTerminate', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@EEJFKEKH@eglInitialize@ CONST SEGMENT ??_C@_0O@EEJFKEKH@eglInitialize@ DB 'eglInitialize', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0M@PPADKGOK@eglGetError@ CONST SEGMENT ??_C@_0M@PPADKGOK@eglGetError@ DB 'eglGetError', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@BMJFLKOA@eglGetDisplay@ CONST SEGMENT ??_C@_0O@BMJFLKOA@eglGetDisplay@ DB 'eglGetDisplay', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@OMNEJBKO@eglGetConfigs@ CONST SEGMENT ??_C@_0O@OMNEJBKO@eglGetConfigs@ DB 'eglGetConfigs', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BD@MAEGKKAE@eglGetConfigAttrib@ CONST SEGMENT ??_C@_0BD@MAEGKKAE@eglGetConfigAttrib@ DB 'eglGetConfigAttrib', 00H ; `string' CONST ENDS ; COMDAT ??_C@_03LPIGJBNC@lib@ CONST SEGMENT ??_C@_03LPIGJBNC@lib@ DB 'lib', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BH@NFNALLIN@EGL?3?5Library?5not?5found@ CONST SEGMENT ??_C@_0BH@NFNALLIN@EGL?3?5Library?5not?5found@ DB 'EGL: Library not found' DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_07EAKGIKCB@EGL?4dll@ CONST SEGMENT ??_C@_07EAKGIKCB@EGL?4dll@ DB 'EGL.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0L@ELKKGGMD@libEGL?4dll@ CONST SEGMENT ??_C@_0L@ELKKGGMD@libEGL?4dll@ DB 'libEGL.dll', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EN@CIIGDABJ@EGL?3?5The?5context?5must?5be?5curren@ CONST SEGMENT ??_C@_0EN@CIIGDABJ@EGL?3?5The?5context?5must?5be?5curren@ DB 'EGL: The co' DB 'ntext must be current on the calling thread when swapping buf' DB 'fers', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@NBJEEEJD@EGL?3?5Failed?5to?5clear?5current?5co@ CONST SEGMENT ??_C@_0CJ@NBJEEEJD@EGL?3?5Failed?5to?5clear?5current?5co@ DB 'EGL: Failed' DB ' to clear current context: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CI@MPJNGPNP@EGL?3?5Failed?5to?5make?5context?5cur@ CONST SEGMENT ??_C@_0CI@MPJNGPNP@EGL?3?5Failed?5to?5make?5context?5cur@ DB 'EGL: Failed' DB ' to make context current: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@JPDPLHCM@EGL?3?5Failed?5to?5find?5a?5suitable?5@ CONST SEGMENT ??_C@_0CJ@JPDPLHCM@EGL?3?5Failed?5to?5find?5a?5suitable?5@ DB 'EGL: Faile' DB 'd to find a suitable EGLConfig', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CH@EMJGILEP@EGL?3?5Failed?5to?5find?5support?5for@ CONST SEGMENT ??_C@_0CH@EMJGILEP@EGL?3?5Failed?5to?5find?5support?5for@ DB 'EGL: Failed' DB ' to find support for OpenGL', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DF@BPPFPGID@EGL?3?5Failed?5to?5find?5support?5for@ CONST SEGMENT ??_C@_0DF@BPPFPGID@EGL?3?5Failed?5to?5find?5support?5for@ DB 'EGL: Failed' DB ' to find support for OpenGL ES 2 or later', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CO@HAIMLOLL@EGL?3?5Failed?5to?5find?5support?5for@ CONST SEGMENT ??_C@_0CO@HAIMLOLL@EGL?3?5Failed?5to?5find?5support?5for@ DB 'EGL: Failed' DB ' to find support for OpenGL ES 1.x', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BM@KHOPPJNJ@EGL?3?5No?5EGLConfigs?5returned@ CONST SEGMENT ??_C@_0BM@KHOPPJNJ@EGL?3?5No?5EGLConfigs?5returned@ DB 'EGL: No EGLConfig' DB 's returned', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@CNKFDGDO@EGL?3?5Stereo?5rendering?5not?5suppo@ CONST SEGMENT ??_C@_0CE@CNKFDGDO@EGL?3?5Stereo?5rendering?5not?5suppo@ DB 'EGL: Stereo ' DB 'rendering not supported', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@KDFAHDEK@ERROR?3?5UNKNOWN?5EGL?5ERROR@ CONST SEGMENT ??_C@_0BJ@KDFAHDEK@ERROR?3?5UNKNOWN?5EGL?5ERROR@ DB 'ERROR: UNKNOWN EGL E' DB 'RROR', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DL@GNLICFMC@The?5application?5must?5destroy?5al@ CONST SEGMENT ??_C@_0DL@GNLICFMC@The?5application?5must?5destroy?5al@ DB 'The applicati' DB 'on must destroy all contexts and reinitialise', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EE@FBMMOIJB@A?5NativeWindowType?5argument?5doe@ CONST SEGMENT ??_C@_0EE@FBMMOIJB@A?5NativeWindowType?5argument?5doe@ DB 'A NativeWindow' DB 'Type argument does not refer to a valid native window', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EE@NKCAIGPH@A?5NativePixmapType?5argument?5doe@ CONST SEGMENT ??_C@_0EE@NKCAIGPH@A?5NativePixmapType?5argument?5doe@ DB 'A NativePixmap' DB 'Type argument does not refer to a valid native pixmap', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CI@KAHNKLLC@One?5or?5more?5argument?5values?5are@ CONST SEGMENT ??_C@_0CI@KAHNKLLC@One?5or?5more?5argument?5values?5are@ DB 'One or more ' DB 'argument values are invalid', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BL@OIILILNJ@Arguments?5are?5inconsistent@ CONST SEGMENT ??_C@_0BL@OIILILNJ@Arguments?5are?5inconsistent@ DB 'Arguments are incons' DB 'istent', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0FB@EPGEGHDL@An?5EGLSurface?5argument?5does?5not@ CONST SEGMENT ??_C@_0FB@EPGEGHDL@An?5EGLSurface?5argument?5does?5not@ DB 'An EGLSurface' DB ' argument does not name a valid surface configured for GL ren' DB 'dering', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EE@ICKHNPHB@An?5EGLDisplay?5argument?5does?5not@ CONST SEGMENT ??_C@_0EE@ICKHNPHB@An?5EGLDisplay?5argument?5does?5not@ DB 'An EGLDisplay' DB ' argument does not name a valid EGL display connection', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0GG@ODICGIHF@The?5current?5surface?5of?5the?5call@ CONST SEGMENT ??_C@_0GG@ODICGIHF@The?5current?5surface?5of?5the?5call@ DB 'The current ' DB 'surface of the calling thread is a window, pixel buffer or pi' DB 'xmap that is no longer valid', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EL@BBAGGFOK@An?5EGLConfig?5argument?5does?5not?5@ CONST SEGMENT ??_C@_0EL@BBAGGFOK@An?5EGLConfig?5argument?5does?5not?5@ DB 'An EGLConfig' DB ' argument does not name a valid EGL frame buffer configuratio' DB 'n', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0ED@GAJEHCGA@An?5EGLContext?5argument?5does?5not@ CONST SEGMENT ??_C@_0ED@GAJEHCGA@An?5EGLContext?5argument?5does?5not@ DB 'An EGLContext' DB ' argument does not name a valid EGL rendering context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EO@EKFIJHGG@An?5unrecognized?5attribute?5or?5at@ CONST SEGMENT ??_C@_0EO@EKFIJHGG@An?5unrecognized?5attribute?5or?5at@ DB 'An unrecogniz' DB 'ed attribute or attribute value was passed in the attribute l' DB 'ist', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DN@GNDEENDO@EGL?5failed?5to?5allocate?5resource@ CONST SEGMENT ??_C@_0DN@GNDEENDO@EGL?5failed?5to?5allocate?5resource@ DB 'EGL failed to' DB ' allocate resources for the requested operation', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CH@MMCOKIKC@EGL?5cannot?5access?5a?5requested?5r@ CONST SEGMENT ??_C@_0CH@MMCOKIKC@EGL?5cannot?5access?5a?5requested?5r@ DB 'EGL cannot a' DB 'ccess a requested resource', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CH@KLCPDMM@EGL?5is?5not?5or?5could?5not?5be?5init@ CONST SEGMENT ??_C@_0CH@KLCPDMM@EGL?5is?5not?5or?5could?5not?5be?5init@ DB 'EGL is not ' DB 'or could not be initialized', 00H ; `string' CONST ENDS ; COMDAT ??_C@_07PBILKAFL@Success@ CONST SEGMENT ??_C@_07PBILKAFL@Success@ DB 'Success', 00H ; `string' CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetEGLSurface DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetEGLContext DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetEGLDisplay DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$destroyContextEGL DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$getProcAddressEGL DD 025051301H DD 010e2313H DD 070070025H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$extensionSupportedEGL DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$swapIntervalEGL DD 025051201H DD 010d2312H DD 07006001dH DD 05005H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$swapBuffersEGL DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$makeContextCurrentEGL DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 040H DW 03e5H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$chooseEGLConfig DD 025054719H DD 0118231dH DD 070110045H DD 05010H DD imagerel __GSHandlerCheck DD 0218H xdata ENDS ; COMDAT CONST CONST SEGMENT chooseEGLConfig$rtcName$0 DB 06eH DB 061H DB 074H DB 069H DB 076H DB 065H DB 043H DB 06fH DB 075H DB 06eH DB 074H DB 00H ORG $+4 chooseEGLConfig$rtcVarDesc DD 0a4H DD 04H DQ FLAT:chooseEGLConfig$rtcName$0 ORG $+48 chooseEGLConfig$rtcFrameData DD 01H DD 00H DQ FLAT:chooseEGLConfig$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 03aH DB 083H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$getEGLConfigAttrib DD 025054119H DD 01122317H DD 0700b0021H DD 0500aH DD imagerel __GSHandlerCheck DD 0f8H xdata ENDS ; COMDAT CONST CONST SEGMENT getEGLConfigAttrib$rtcName$0 DB 076H DB 061H DB 06cH DB 075H DB 065H DB 00H ORG $+10 getEGLConfigAttrib$rtcVarDesc DD 024H DD 04H DQ FLAT:getEGLConfigAttrib$rtcName$0 ORG $+48 getEGLConfigAttrib$rtcFrameData DD 01H DD 00H DQ FLAT:getEGLConfigAttrib$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$getEGLErrorString DD 025051201H DD 010d2312H DD 07006001fH DD 05005H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 040H DW 0c9eH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateContextEGL DD 025054719H DD 0118231dH DD 07011007dH DD 05010H DD imagerel __GSHandlerCheck DD 03d8H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwCreateContextEGL$rtcName$0 DB 061H DB 074H DB 074H DB 072H DB 069H DB 062H DB 073H DB 00H _glfwCreateContextEGL$rtcName$1 DB 063H DB 06fH DB 06eH DB 066H DB 069H DB 067H DB 00H ORG $+1 _glfwCreateContextEGL$rtcName$2 DB 065H DB 073H DB 031H DB 073H DB 06fH DB 06eH DB 061H DB 06dH DB 065H DB 073H DB 00H ORG $+5 _glfwCreateContextEGL$rtcName$3 DB 065H DB 073H DB 032H DB 073H DB 06fH DB 06eH DB 061H DB 06dH DB 065H DB 073H DB 00H ORG $+5 _glfwCreateContextEGL$rtcName$4 DB 067H DB 06cH DB 073H DB 06fH DB 06eH DB 061H DB 06dH DB 065H DB 073H DB 00H ORG $+6 _glfwCreateContextEGL$rtcVarDesc DD 0248H DD 08H DQ FLAT:_glfwCreateContextEGL$rtcName$4 DD 0218H DD 018H DQ FLAT:_glfwCreateContextEGL$rtcName$3 DD 01e8H DD 018H DQ FLAT:_glfwCreateContextEGL$rtcName$2 DD 0e8H DD 08H DQ FLAT:_glfwCreateContextEGL$rtcName$1 DD 030H DD 0a0H DQ FLAT:_glfwCreateContextEGL$rtcName$0 ORG $+240 _glfwCreateContextEGL$rtcFrameData DD 05H DD 00H DQ FLAT:_glfwCreateContextEGL$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwTerminateEGL DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 02aH DW 0602H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwInitEGL DD 025053119H DD 010a230fH DD 07003002fH DD 05002H DD imagerel __GSHandlerCheck DD 0168H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwInitEGL$rtcName$0 DB 061H DB 074H DB 074H DB 072H DB 069H DB 062H DB 073H DB 00H _glfwInitEGL$rtcName$1 DB 073H DB 06fH DB 06eH DB 061H DB 06dH DB 065H DB 073H DB 00H _glfwInitEGL$rtcVarDesc DD 088H DD 018H DQ FLAT:_glfwInitEGL$rtcName$1 DD 048H DD 08H DQ FLAT:_glfwInitEGL$rtcName$0 ORG $+96 _glfwInitEGL$rtcFrameData DD 02H DD 00H DQ FLAT:_glfwInitEGL$rtcVarDesc CONST ENDS ; Function compile flags: /Odt ; COMDAT __JustMyCode_Default _TEXT SEGMENT __JustMyCode_Default PROC ; COMDAT 00000 c2 00 00 ret 0 __JustMyCode_Default ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT glfwGetEGLSurface _TEXT SEGMENT window$ = 8 handle$ = 256 glfwGetEGLSurface PROC ; COMDAT ; 897 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 898 : _GLFWwindow* window = (_GLFWwindow*)handle; 0001f 48 8b 85 00 01 00 00 mov rax, QWORD PTR handle$[rbp] 00026 48 89 45 08 mov QWORD PTR window$[rbp], rax ; 899 : _GLFW_REQUIRE_INIT_OR_RETURN(EGL_NO_SURFACE); 0002a 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 00031 75 10 jne SHORT $LN2@glfwGetEGL 00033 33 d2 xor edx, edx 00035 b9 01 00 01 00 mov ecx, 65537 ; 00010001H 0003a e8 00 00 00 00 call _glfwInputError 0003f 33 c0 xor eax, eax 00041 eb 2b jmp SHORT $LN1@glfwGetEGL $LN2@glfwGetEGL: ; 900 : ; 901 : if (window->context.source != GLFW_EGL_CONTEXT_API) 00043 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00047 81 b8 0c 02 00 00 02 60 03 00 cmp DWORD PTR [rax+524], 221186 ; 00036002H 00051 74 10 je SHORT $LN3@glfwGetEGL ; 902 : { ; 903 : _glfwInputError(GLFW_NO_WINDOW_CONTEXT, NULL); 00053 33 d2 xor edx, edx 00055 b9 0a 00 01 00 mov ecx, 65546 ; 0001000aH 0005a e8 00 00 00 00 call _glfwInputError ; 904 : return EGL_NO_SURFACE; 0005f 33 c0 xor eax, eax 00061 eb 0b jmp SHORT $LN1@glfwGetEGL $LN3@glfwGetEGL: ; 905 : } ; 906 : ; 907 : return window->context.egl.surface; 00063 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00067 48 8b 80 90 02 00 00 mov rax, QWORD PTR [rax+656] $LN1@glfwGetEGL: ; 908 : } 0006e 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00075 5f pop rdi 00076 5d pop rbp 00077 c3 ret 0 glfwGetEGLSurface ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT glfwGetEGLContext _TEXT SEGMENT window$ = 8 handle$ = 256 glfwGetEGLContext PROC ; COMDAT ; 883 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 884 : _GLFWwindow* window = (_GLFWwindow*)handle; 0001f 48 8b 85 00 01 00 00 mov rax, QWORD PTR handle$[rbp] 00026 48 89 45 08 mov QWORD PTR window$[rbp], rax ; 885 : _GLFW_REQUIRE_INIT_OR_RETURN(EGL_NO_CONTEXT); 0002a 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 00031 75 10 jne SHORT $LN2@glfwGetEGL 00033 33 d2 xor edx, edx 00035 b9 01 00 01 00 mov ecx, 65537 ; 00010001H 0003a e8 00 00 00 00 call _glfwInputError 0003f 33 c0 xor eax, eax 00041 eb 2b jmp SHORT $LN1@glfwGetEGL $LN2@glfwGetEGL: ; 886 : ; 887 : if (window->context.source != GLFW_EGL_CONTEXT_API) 00043 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00047 81 b8 0c 02 00 00 02 60 03 00 cmp DWORD PTR [rax+524], 221186 ; 00036002H 00051 74 10 je SHORT $LN3@glfwGetEGL ; 888 : { ; 889 : _glfwInputError(GLFW_NO_WINDOW_CONTEXT, NULL); 00053 33 d2 xor edx, edx 00055 b9 0a 00 01 00 mov ecx, 65546 ; 0001000aH 0005a e8 00 00 00 00 call _glfwInputError ; 890 : return EGL_NO_CONTEXT; 0005f 33 c0 xor eax, eax 00061 eb 0b jmp SHORT $LN1@glfwGetEGL $LN3@glfwGetEGL: ; 891 : } ; 892 : ; 893 : return window->context.egl.handle; 00063 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00067 48 8b 80 88 02 00 00 mov rax, QWORD PTR [rax+648] $LN1@glfwGetEGL: ; 894 : } 0006e 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00075 5f pop rdi 00076 5d pop rbp 00077 c3 ret 0 glfwGetEGLContext ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT glfwGetEGLDisplay _TEXT SEGMENT glfwGetEGLDisplay PROC ; COMDAT ; 877 : { $LN4: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 878 : _GLFW_REQUIRE_INIT_OR_RETURN(EGL_NO_DISPLAY); 0001b 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 00022 75 10 jne SHORT $LN2@glfwGetEGL 00024 33 d2 xor edx, edx 00026 b9 01 00 01 00 mov ecx, 65537 ; 00010001H 0002b e8 00 00 00 00 call _glfwInputError 00030 33 c0 xor eax, eax 00032 eb 07 jmp SHORT $LN1@glfwGetEGL $LN2@glfwGetEGL: ; 879 : return _glfw.egl.display; 00034 48 8b 05 f8 19 00 00 mov rax, QWORD PTR _glfw+6648 $LN1@glfwGetEGL: ; 880 : } 0003b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00042 5f pop rdi 00043 5d pop rbp 00044 c3 ret 0 glfwGetEGLDisplay ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT destroyContextEGL _TEXT SEGMENT window$ = 224 destroyContextEGL PROC ; COMDAT ; 327 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 328 : // NOTE: Do not unload libGL.so.1 while the X11 display is still open, ; 329 : // as it will make XCloseDisplay segfault ; 330 : if (_glfw.platform.platformID != GLFW_PLATFORM_X11 || 0001f 81 3d 28 00 00 00 04 00 06 00 cmp DWORD PTR _glfw+40, 393220 ; 00060004H 00029 75 13 jne SHORT $LN3@destroyCon 0002b 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00032 81 b8 08 02 00 00 01 00 03 00 cmp DWORD PTR [rax+520], 196609 ; 00030001H 0003c 74 36 je SHORT $LN2@destroyCon $LN3@destroyCon: ; 331 : window->context.client != GLFW_OPENGL_API) ; 332 : { ; 333 : if (window->context.egl.client) 0003e 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00045 48 83 b8 98 02 00 00 00 cmp QWORD PTR [rax+664], 0 0004d 74 25 je SHORT $LN4@destroyCon ; 334 : { ; 335 : _glfwPlatformFreeModule(window->context.egl.client); 0004f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00056 48 8b 88 98 02 00 00 mov rcx, QWORD PTR [rax+664] 0005d e8 00 00 00 00 call _glfwPlatformFreeModule ; 336 : window->context.egl.client = NULL; 00062 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00069 48 c7 80 98 02 00 00 00 00 00 00 mov QWORD PTR [rax+664], 0 $LN4@destroyCon: $LN2@destroyCon: ; 337 : } ; 338 : } ; 339 : ; 340 : if (window->context.egl.surface) 00074 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0007b 48 83 b8 90 02 00 00 00 cmp QWORD PTR [rax+656], 0 00083 74 2d je SHORT $LN5@destroyCon ; 341 : { ; 342 : eglDestroySurface(_glfw.egl.display, window->context.egl.surface); 00085 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0008c 48 8b 90 90 02 00 00 mov rdx, QWORD PTR [rax+656] 00093 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0009a ff 15 90 1a 00 00 call QWORD PTR _glfw+6800 ; 343 : window->context.egl.surface = EGL_NO_SURFACE; 000a0 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000a7 48 c7 80 90 02 00 00 00 00 00 00 mov QWORD PTR [rax+656], 0 $LN5@destroyCon: ; 344 : } ; 345 : ; 346 : if (window->context.egl.handle) 000b2 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000b9 48 83 b8 88 02 00 00 00 cmp QWORD PTR [rax+648], 0 000c1 74 2d je SHORT $LN6@destroyCon ; 347 : { ; 348 : eglDestroyContext(_glfw.egl.display, window->context.egl.handle); 000c3 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000ca 48 8b 90 88 02 00 00 mov rdx, QWORD PTR [rax+648] 000d1 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 000d8 ff 15 98 1a 00 00 call QWORD PTR _glfw+6808 ; 349 : window->context.egl.handle = EGL_NO_CONTEXT; 000de 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000e5 48 c7 80 88 02 00 00 00 00 00 00 mov QWORD PTR [rax+648], 0 $LN6@destroyCon: ; 350 : } ; 351 : } 000f0 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 000f7 5f pop rdi 000f8 5d pop rbp 000f9 c3 ret 0 destroyContextEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT getProcAddressEGL _TEXT SEGMENT window$ = 8 proc$1 = 40 procname$ = 288 getProcAddressEGL PROC ; COMDAT ; 312 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 313 : _GLFWwindow* window = _glfwPlatformGetTls(&_glfw.contextSlot); 0001f 48 8d 0d a4 19 00 00 lea rcx, OFFSET FLAT:_glfw+6564 00026 e8 00 00 00 00 call _glfwPlatformGetTls 0002b 48 89 45 08 mov QWORD PTR window$[rbp], rax ; 314 : ; 315 : if (window->context.egl.client) 0002f 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00033 48 83 b8 98 02 00 00 00 cmp QWORD PTR [rax+664], 0 0003b 74 28 je SHORT $LN2@getProcAdd ; 316 : { ; 317 : GLFWglproc proc = (GLFWglproc) 0003d 48 8b 95 20 01 00 00 mov rdx, QWORD PTR procname$[rbp] 00044 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00048 48 8b 88 98 02 00 00 mov rcx, QWORD PTR [rax+664] 0004f e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00054 48 89 45 28 mov QWORD PTR proc$1[rbp], rax ; 318 : _glfwPlatformGetModuleSymbol(window->context.egl.client, procname); ; 319 : if (proc) 00058 48 83 7d 28 00 cmp QWORD PTR proc$1[rbp], 0 0005d 74 06 je SHORT $LN3@getProcAdd ; 320 : return proc; 0005f 48 8b 45 28 mov rax, QWORD PTR proc$1[rbp] 00063 eb 0d jmp SHORT $LN1@getProcAdd $LN3@getProcAdd: $LN2@getProcAdd: ; 321 : } ; 322 : ; 323 : return eglGetProcAddress(procname); 00065 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR procname$[rbp] 0006c ff 15 c8 1a 00 00 call QWORD PTR _glfw+6856 $LN1@getProcAdd: ; 324 : } 00072 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 00079 5f pop rdi 0007a 5d pop rbp 0007b c3 ret 0 getProcAddressEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT extensionSupportedEGL _TEXT SEGMENT extensions$ = 8 extension$ = 256 extensionSupportedEGL PROC ; COMDAT ; 300 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 301 : const char* extensions = eglQueryString(_glfw.egl.display, EGL_EXTENSIONS); 0001f ba 55 30 00 00 mov edx, 12373 ; 00003055H 00024 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0002b ff 15 c0 1a 00 00 call QWORD PTR _glfw+6848 00031 48 89 45 08 mov QWORD PTR extensions$[rbp], rax ; 302 : if (extensions) 00035 48 83 7d 08 00 cmp QWORD PTR extensions$[rbp], 0 0003a 74 1b je SHORT $LN2@extensionS ; 303 : { ; 304 : if (_glfwStringInExtensionString(extension, extensions)) 0003c 48 8b 55 08 mov rdx, QWORD PTR extensions$[rbp] 00040 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR extension$[rbp] 00047 e8 00 00 00 00 call _glfwStringInExtensionString 0004c 85 c0 test eax, eax 0004e 74 07 je SHORT $LN3@extensionS ; 305 : return GLFW_TRUE; 00050 b8 01 00 00 00 mov eax, 1 00055 eb 02 jmp SHORT $LN1@extensionS $LN3@extensionS: $LN2@extensionS: ; 306 : } ; 307 : ; 308 : return GLFW_FALSE; 00057 33 c0 xor eax, eax $LN1@extensionS: ; 309 : } 00059 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00060 5f pop rdi 00061 5d pop rbp 00062 c3 ret 0 extensionSupportedEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT swapIntervalEGL _TEXT SEGMENT interval$ = 224 swapIntervalEGL PROC ; COMDAT ; 295 : { 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 57 push rdi 00006 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00012 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 296 : eglSwapInterval(_glfw.egl.display, interval); 0001e 8b 95 e0 00 00 00 mov edx, DWORD PTR interval$[rbp] 00024 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0002b ff 15 b8 1a 00 00 call QWORD PTR _glfw+6840 ; 297 : } 00031 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00038 5f pop rdi 00039 5d pop rbp 0003a c3 ret 0 swapIntervalEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT swapBuffersEGL _TEXT SEGMENT window$ = 224 swapBuffersEGL PROC ; COMDAT ; 274 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 275 : if (window != _glfwPlatformGetTls(&_glfw.contextSlot)) 0001f 48 8d 0d a4 19 00 00 lea rcx, OFFSET FLAT:_glfw+6564 00026 e8 00 00 00 00 call _glfwPlatformGetTls 0002b 48 39 85 e0 00 00 00 cmp QWORD PTR window$[rbp], rax 00032 74 13 je SHORT $LN2@swapBuffer ; 276 : { ; 277 : _glfwInputError(GLFW_PLATFORM_ERROR, 00034 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0EN@CIIGDABJ@EGL?3?5The?5context?5must?5be?5curren@ 0003b b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00040 e8 00 00 00 00 call _glfwInputError ; 278 : "EGL: The context must be current on the calling thread when swapping buffers"); ; 279 : return; 00045 eb 1b jmp SHORT $LN1@swapBuffer $LN2@swapBuffer: ; 280 : } ; 281 : ; 282 : #if defined(_GLFW_WAYLAND) ; 283 : if (_glfw.platform.platformID == GLFW_PLATFORM_WAYLAND) ; 284 : { ; 285 : // NOTE: Swapping buffers on a hidden window on Wayland makes it visible ; 286 : if (!window->wl.visible) ; 287 : return; ; 288 : } ; 289 : #endif ; 290 : ; 291 : eglSwapBuffers(_glfw.egl.display, window->context.egl.surface); 00047 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0004e 48 8b 90 90 02 00 00 mov rdx, QWORD PTR [rax+656] 00055 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0005c ff 15 b0 1a 00 00 call QWORD PTR _glfw+6832 $LN1@swapBuffer: ; 292 : } 00062 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00069 5f pop rdi 0006a 5d pop rbp 0006b c3 ret 0 swapBuffersEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT makeContextCurrentEGL _TEXT SEGMENT window$ = 224 makeContextCurrentEGL PROC ; COMDAT ; 242 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 243 : if (window) 0001f 48 83 bd e0 00 00 00 00 cmp QWORD PTR window$[rbp], 0 00027 74 60 je SHORT $LN2@makeContex ; 244 : { ; 245 : if (!eglMakeCurrent(_glfw.egl.display, 00029 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00030 4c 8b 88 88 02 00 00 mov r9, QWORD PTR [rax+648] 00037 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0003e 4c 8b 80 90 02 00 00 mov r8, QWORD PTR [rax+656] 00045 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0004c 48 8b 90 90 02 00 00 mov rdx, QWORD PTR [rax+656] 00053 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0005a ff 15 a8 1a 00 00 call QWORD PTR _glfw+6824 00060 85 c0 test eax, eax 00062 75 23 jne SHORT $LN4@makeContex ; 246 : window->context.egl.surface, ; 247 : window->context.egl.surface, ; 248 : window->context.egl.handle)) ; 249 : { ; 250 : _glfwInputError(GLFW_PLATFORM_ERROR, 00064 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 0006a 8b c8 mov ecx, eax 0006c e8 00 00 00 00 call getEGLErrorString 00071 4c 8b c0 mov r8, rax 00074 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CI@MPJNGPNP@EGL?3?5Failed?5to?5make?5context?5cur@ 0007b b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00080 e8 00 00 00 00 call _glfwInputError ; 251 : "EGL: Failed to make context current: %s", ; 252 : getEGLErrorString(eglGetError())); ; 253 : return; 00085 eb 51 jmp SHORT $LN1@makeContex $LN4@makeContex: ; 254 : } ; 255 : } 00087 eb 3c jmp SHORT $LN3@makeContex $LN2@makeContex: ; 256 : else ; 257 : { ; 258 : if (!eglMakeCurrent(_glfw.egl.display, 00089 45 33 c9 xor r9d, r9d 0008c 45 33 c0 xor r8d, r8d 0008f 33 d2 xor edx, edx 00091 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 00098 ff 15 a8 1a 00 00 call QWORD PTR _glfw+6824 0009e 85 c0 test eax, eax 000a0 75 23 jne SHORT $LN5@makeContex ; 259 : EGL_NO_SURFACE, ; 260 : EGL_NO_SURFACE, ; 261 : EGL_NO_CONTEXT)) ; 262 : { ; 263 : _glfwInputError(GLFW_PLATFORM_ERROR, 000a2 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 000a8 8b c8 mov ecx, eax 000aa e8 00 00 00 00 call getEGLErrorString 000af 4c 8b c0 mov r8, rax 000b2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@NBJEEEJD@EGL?3?5Failed?5to?5clear?5current?5co@ 000b9 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000be e8 00 00 00 00 call _glfwInputError ; 264 : "EGL: Failed to clear current context: %s", ; 265 : getEGLErrorString(eglGetError())); ; 266 : return; 000c3 eb 13 jmp SHORT $LN1@makeContex $LN5@makeContex: $LN3@makeContex: ; 267 : } ; 268 : } ; 269 : ; 270 : _glfwPlatformSetTls(&_glfw.contextSlot, window); 000c5 48 8b 95 e0 00 00 00 mov rdx, QWORD PTR window$[rbp] 000cc 48 8d 0d a4 19 00 00 lea rcx, OFFSET FLAT:_glfw+6564 000d3 e8 00 00 00 00 call _glfwPlatformSetTls $LN1@makeContex: ; 271 : } 000d8 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 000df 5f pop rdi 000e0 5d pop rbp 000e1 c3 ret 0 makeContextCurrentEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT chooseEGLConfig _TEXT SEGMENT nativeConfigs$ = 8 usableConfigs$ = 40 closest$ = 72 i$ = 100 nativeCount$ = 132 usableCount$ = 164 apiBit$ = 196 wrongApiAvailable$ = 228 n$4 = 264 u$5 = 296 tv199 = 500 __$ArrayPad$ = 504 ctxconfig$ = 544 fbconfig$ = 552 result$ = 560 chooseEGLConfig PROC ; COMDAT ; 93 : { 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 28 02 00 00 sub rsp, 552 ; 00000228H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00022 b9 52 00 00 00 mov ecx, 82 ; 00000052H 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 48 02 00 00 mov rcx, QWORD PTR [rsp+584] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 f8 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 94 : EGLConfig* nativeConfigs; ; 95 : _GLFWfbconfig* usableConfigs; ; 96 : const _GLFWfbconfig* closest; ; 97 : int i, nativeCount, usableCount, apiBit; ; 98 : GLFWbool wrongApiAvailable = GLFW_FALSE; 00053 c7 85 e4 00 00 00 00 00 00 00 mov DWORD PTR wrongApiAvailable$[rbp], 0 ; 99 : ; 100 : if (ctxconfig->client == GLFW_OPENGL_ES_API) 0005d 48 8b 85 20 02 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00064 81 38 02 00 03 00 cmp DWORD PTR [rax], 196610 ; 00030002H 0006a 75 25 jne SHORT $LN5@chooseEGLC ; 101 : { ; 102 : if (ctxconfig->major == 1) 0006c 48 8b 85 20 02 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00073 83 78 08 01 cmp DWORD PTR [rax+8], 1 00077 75 0c jne SHORT $LN7@chooseEGLC ; 103 : apiBit = EGL_OPENGL_ES_BIT; 00079 c7 85 c4 00 00 00 01 00 00 00 mov DWORD PTR apiBit$[rbp], 1 00083 eb 0a jmp SHORT $LN8@chooseEGLC $LN7@chooseEGLC: ; 104 : else ; 105 : apiBit = EGL_OPENGL_ES2_BIT; 00085 c7 85 c4 00 00 00 04 00 00 00 mov DWORD PTR apiBit$[rbp], 4 $LN8@chooseEGLC: ; 106 : } 0008f eb 0a jmp SHORT $LN6@chooseEGLC $LN5@chooseEGLC: ; 107 : else ; 108 : apiBit = EGL_OPENGL_BIT; 00091 c7 85 c4 00 00 00 08 00 00 00 mov DWORD PTR apiBit$[rbp], 8 $LN6@chooseEGLC: ; 109 : ; 110 : if (fbconfig->stereo) 0009b 48 8b 85 28 02 00 00 mov rax, QWORD PTR fbconfig$[rbp] 000a2 83 78 2c 00 cmp DWORD PTR [rax+44], 0 000a6 74 18 je SHORT $LN9@chooseEGLC ; 111 : { ; 112 : _glfwInputError(GLFW_FORMAT_UNAVAILABLE, "EGL: Stereo rendering not supported"); 000a8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@CNKFDGDO@EGL?3?5Stereo?5rendering?5not?5suppo@ 000af b9 09 00 01 00 mov ecx, 65545 ; 00010009H 000b4 e8 00 00 00 00 call _glfwInputError ; 113 : return GLFW_FALSE; 000b9 33 c0 xor eax, eax 000bb e9 0f 03 00 00 jmp $LN1@chooseEGLC $LN9@chooseEGLC: ; 114 : } ; 115 : ; 116 : eglGetConfigs(_glfw.egl.display, NULL, 0, &nativeCount); 000c0 4c 8d 8d 84 00 00 00 lea r9, QWORD PTR nativeCount$[rbp] 000c7 45 33 c0 xor r8d, r8d 000ca 33 d2 xor edx, edx 000cc 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 000d3 ff 15 58 1a 00 00 call QWORD PTR _glfw+6744 ; 117 : if (!nativeCount) 000d9 83 bd 84 00 00 00 00 cmp DWORD PTR nativeCount$[rbp], 0 000e0 75 18 jne SHORT $LN10@chooseEGLC ; 118 : { ; 119 : _glfwInputError(GLFW_API_UNAVAILABLE, "EGL: No EGLConfigs returned"); 000e2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BM@KHOPPJNJ@EGL?3?5No?5EGLConfigs?5returned@ 000e9 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 000ee e8 00 00 00 00 call _glfwInputError ; 120 : return GLFW_FALSE; 000f3 33 c0 xor eax, eax 000f5 e9 d5 02 00 00 jmp $LN1@chooseEGLC $LN10@chooseEGLC: ; 121 : } ; 122 : ; 123 : nativeConfigs = _glfw_calloc(nativeCount, sizeof(EGLConfig)); 000fa 48 63 85 84 00 00 00 movsxd rax, DWORD PTR nativeCount$[rbp] 00101 ba 08 00 00 00 mov edx, 8 00106 48 8b c8 mov rcx, rax 00109 e8 00 00 00 00 call _glfw_calloc 0010e 48 89 45 08 mov QWORD PTR nativeConfigs$[rbp], rax ; 124 : eglGetConfigs(_glfw.egl.display, nativeConfigs, nativeCount, &nativeCount); 00112 4c 8d 8d 84 00 00 00 lea r9, QWORD PTR nativeCount$[rbp] 00119 44 8b 85 84 00 00 00 mov r8d, DWORD PTR nativeCount$[rbp] 00120 48 8b 55 08 mov rdx, QWORD PTR nativeConfigs$[rbp] 00124 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0012b ff 15 58 1a 00 00 call QWORD PTR _glfw+6744 ; 125 : ; 126 : usableConfigs = _glfw_calloc(nativeCount, sizeof(_GLFWfbconfig)); 00131 48 63 85 84 00 00 00 movsxd rax, DWORD PTR nativeCount$[rbp] 00138 ba 48 00 00 00 mov edx, 72 ; 00000048H 0013d 48 8b c8 mov rcx, rax 00140 e8 00 00 00 00 call _glfw_calloc 00145 48 89 45 28 mov QWORD PTR usableConfigs$[rbp], rax ; 127 : usableCount = 0; 00149 c7 85 a4 00 00 00 00 00 00 00 mov DWORD PTR usableCount$[rbp], 0 ; 128 : ; 129 : for (i = 0; i < nativeCount; i++) 00153 c7 45 64 00 00 00 00 mov DWORD PTR i$[rbp], 0 0015a eb 08 jmp SHORT $LN4@chooseEGLC $LN2@chooseEGLC: 0015c 8b 45 64 mov eax, DWORD PTR i$[rbp] 0015f ff c0 inc eax 00161 89 45 64 mov DWORD PTR i$[rbp], eax $LN4@chooseEGLC: 00164 8b 85 84 00 00 00 mov eax, DWORD PTR nativeCount$[rbp] 0016a 39 45 64 cmp DWORD PTR i$[rbp], eax 0016d 0f 8d 82 01 00 00 jge $LN3@chooseEGLC ; 130 : { ; 131 : const EGLConfig n = nativeConfigs[i]; 00173 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] 00177 48 8b 4d 08 mov rcx, QWORD PTR nativeConfigs$[rbp] 0017b 48 8b 04 c1 mov rax, QWORD PTR [rcx+rax*8] 0017f 48 89 85 08 01 00 00 mov QWORD PTR n$4[rbp], rax ; 132 : _GLFWfbconfig* u = usableConfigs + usableCount; 00186 48 63 85 a4 00 00 00 movsxd rax, DWORD PTR usableCount$[rbp] 0018d 48 6b c0 48 imul rax, rax, 72 ; 00000048H 00191 48 8b 4d 28 mov rcx, QWORD PTR usableConfigs$[rbp] 00195 48 03 c8 add rcx, rax 00198 48 8b c1 mov rax, rcx 0019b 48 89 85 28 01 00 00 mov QWORD PTR u$5[rbp], rax ; 133 : ; 134 : // Only consider RGB(A) EGLConfigs ; 135 : if (getEGLConfigAttrib(n, EGL_COLOR_BUFFER_TYPE) != EGL_RGB_BUFFER) 001a2 ba 3f 30 00 00 mov edx, 12351 ; 0000303fH 001a7 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 001ae e8 00 00 00 00 call getEGLConfigAttrib 001b3 3d 8e 30 00 00 cmp eax, 12430 ; 0000308eH 001b8 74 02 je SHORT $LN11@chooseEGLC ; 136 : continue; 001ba eb a0 jmp SHORT $LN2@chooseEGLC $LN11@chooseEGLC: ; 137 : ; 138 : // Only consider window EGLConfigs ; 139 : if (!(getEGLConfigAttrib(n, EGL_SURFACE_TYPE) & EGL_WINDOW_BIT)) 001bc ba 33 30 00 00 mov edx, 12339 ; 00003033H 001c1 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 001c8 e8 00 00 00 00 call getEGLConfigAttrib 001cd 83 e0 04 and eax, 4 001d0 85 c0 test eax, eax 001d2 75 02 jne SHORT $LN12@chooseEGLC ; 140 : continue; 001d4 eb 86 jmp SHORT $LN2@chooseEGLC $LN12@chooseEGLC: ; 141 : ; 142 : #if defined(_GLFW_X11) ; 143 : if (_glfw.platform.platformID == GLFW_PLATFORM_X11) ; 144 : { ; 145 : XVisualInfo vi = { 0 }; ; 146 : ; 147 : // Only consider EGLConfigs with associated Visuals ; 148 : vi.visualid = getEGLConfigAttrib(n, EGL_NATIVE_VISUAL_ID); ; 149 : if (!vi.visualid) ; 150 : continue; ; 151 : ; 152 : if (fbconfig->transparent) ; 153 : { ; 154 : int count; ; 155 : XVisualInfo* vis = ; 156 : XGetVisualInfo(_glfw.x11.display, VisualIDMask, &vi, &count); ; 157 : if (vis) ; 158 : { ; 159 : u->transparent = _glfwIsVisualTransparentX11(vis[0].visual); ; 160 : XFree(vis); ; 161 : } ; 162 : } ; 163 : } ; 164 : #endif // _GLFW_X11 ; 165 : ; 166 : if (!(getEGLConfigAttrib(n, EGL_RENDERABLE_TYPE) & apiBit)) 001d6 ba 40 30 00 00 mov edx, 12352 ; 00003040H 001db 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 001e2 e8 00 00 00 00 call getEGLConfigAttrib 001e7 23 85 c4 00 00 00 and eax, DWORD PTR apiBit$[rbp] 001ed 85 c0 test eax, eax 001ef 75 0f jne SHORT $LN13@chooseEGLC ; 167 : { ; 168 : wrongApiAvailable = GLFW_TRUE; 001f1 c7 85 e4 00 00 00 01 00 00 00 mov DWORD PTR wrongApiAvailable$[rbp], 1 ; 169 : continue; 001fb e9 5c ff ff ff jmp $LN2@chooseEGLC $LN13@chooseEGLC: ; 170 : } ; 171 : ; 172 : u->redBits = getEGLConfigAttrib(n, EGL_RED_SIZE); 00200 ba 24 30 00 00 mov edx, 12324 ; 00003024H 00205 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 0020c e8 00 00 00 00 call getEGLConfigAttrib 00211 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 00218 89 01 mov DWORD PTR [rcx], eax ; 173 : u->greenBits = getEGLConfigAttrib(n, EGL_GREEN_SIZE); 0021a ba 23 30 00 00 mov edx, 12323 ; 00003023H 0021f 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 00226 e8 00 00 00 00 call getEGLConfigAttrib 0022b 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 00232 89 41 04 mov DWORD PTR [rcx+4], eax ; 174 : u->blueBits = getEGLConfigAttrib(n, EGL_BLUE_SIZE); 00235 ba 22 30 00 00 mov edx, 12322 ; 00003022H 0023a 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 00241 e8 00 00 00 00 call getEGLConfigAttrib 00246 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 0024d 89 41 08 mov DWORD PTR [rcx+8], eax ; 175 : ; 176 : u->alphaBits = getEGLConfigAttrib(n, EGL_ALPHA_SIZE); 00250 ba 21 30 00 00 mov edx, 12321 ; 00003021H 00255 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 0025c e8 00 00 00 00 call getEGLConfigAttrib 00261 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 00268 89 41 0c mov DWORD PTR [rcx+12], eax ; 177 : u->depthBits = getEGLConfigAttrib(n, EGL_DEPTH_SIZE); 0026b ba 25 30 00 00 mov edx, 12325 ; 00003025H 00270 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 00277 e8 00 00 00 00 call getEGLConfigAttrib 0027c 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 00283 89 41 10 mov DWORD PTR [rcx+16], eax ; 178 : u->stencilBits = getEGLConfigAttrib(n, EGL_STENCIL_SIZE); 00286 ba 26 30 00 00 mov edx, 12326 ; 00003026H 0028b 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 00292 e8 00 00 00 00 call getEGLConfigAttrib 00297 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 0029e 89 41 14 mov DWORD PTR [rcx+20], eax ; 179 : ; 180 : #if defined(_GLFW_WAYLAND) ; 181 : if (_glfw.platform.platformID == GLFW_PLATFORM_WAYLAND) ; 182 : { ; 183 : // NOTE: The wl_surface opaque region is no guarantee that its buffer ; 184 : // is presented as opaque, if it also has an alpha channel ; 185 : // HACK: If EGL_EXT_present_opaque is unavailable, ignore any config ; 186 : // with an alpha channel to ensure the buffer is opaque ; 187 : if (!_glfw.egl.EXT_present_opaque) ; 188 : { ; 189 : if (!fbconfig->transparent && u->alphaBits > 0) ; 190 : continue; ; 191 : } ; 192 : } ; 193 : #endif // _GLFW_WAYLAND ; 194 : ; 195 : u->samples = getEGLConfigAttrib(n, EGL_SAMPLES); 002a1 ba 31 30 00 00 mov edx, 12337 ; 00003031H 002a6 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 002ad e8 00 00 00 00 call getEGLConfigAttrib 002b2 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR u$5[rbp] 002b9 89 41 30 mov DWORD PTR [rcx+48], eax ; 196 : u->doublebuffer = fbconfig->doublebuffer; 002bc 48 8b 85 28 01 00 00 mov rax, QWORD PTR u$5[rbp] 002c3 48 8b 8d 28 02 00 00 mov rcx, QWORD PTR fbconfig$[rbp] 002ca 8b 49 38 mov ecx, DWORD PTR [rcx+56] 002cd 89 48 38 mov DWORD PTR [rax+56], ecx ; 197 : ; 198 : u->handle = (uintptr_t)n; 002d0 48 8b 85 28 01 00 00 mov rax, QWORD PTR u$5[rbp] 002d7 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR n$4[rbp] 002de 48 89 48 40 mov QWORD PTR [rax+64], rcx ; 199 : usableCount++; 002e2 8b 85 a4 00 00 00 mov eax, DWORD PTR usableCount$[rbp] 002e8 ff c0 inc eax 002ea 89 85 a4 00 00 00 mov DWORD PTR usableCount$[rbp], eax ; 200 : } 002f0 e9 67 fe ff ff jmp $LN2@chooseEGLC $LN3@chooseEGLC: ; 201 : ; 202 : closest = _glfwChooseFBConfig(fbconfig, usableConfigs, usableCount); 002f5 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR usableCount$[rbp] 002fc 48 8b 55 28 mov rdx, QWORD PTR usableConfigs$[rbp] 00300 48 8b 8d 28 02 00 00 mov rcx, QWORD PTR fbconfig$[rbp] 00307 e8 00 00 00 00 call _glfwChooseFBConfig 0030c 48 89 45 48 mov QWORD PTR closest$[rbp], rax ; 203 : if (closest) 00310 48 83 7d 48 00 cmp QWORD PTR closest$[rbp], 0 00315 74 14 je SHORT $LN14@chooseEGLC ; 204 : *result = (EGLConfig)closest->handle; 00317 48 8b 85 30 02 00 00 mov rax, QWORD PTR result$[rbp] 0031e 48 8b 4d 48 mov rcx, QWORD PTR closest$[rbp] 00322 48 8b 49 40 mov rcx, QWORD PTR [rcx+64] 00326 48 89 08 mov QWORD PTR [rax], rcx 00329 eb 6f jmp SHORT $LN15@chooseEGLC $LN14@chooseEGLC: ; 205 : else ; 206 : { ; 207 : if (wrongApiAvailable) 0032b 83 bd e4 00 00 00 00 cmp DWORD PTR wrongApiAvailable$[rbp], 0 00332 74 55 je SHORT $LN16@chooseEGLC ; 208 : { ; 209 : if (ctxconfig->client == GLFW_OPENGL_ES_API) 00334 48 8b 85 20 02 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0033b 81 38 02 00 03 00 cmp DWORD PTR [rax], 196610 ; 00030002H 00341 75 33 jne SHORT $LN18@chooseEGLC ; 210 : { ; 211 : if (ctxconfig->major == 1) 00343 48 8b 85 20 02 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0034a 83 78 08 01 cmp DWORD PTR [rax+8], 1 0034e 75 13 jne SHORT $LN20@chooseEGLC ; 212 : { ; 213 : _glfwInputError(GLFW_API_UNAVAILABLE, 00350 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CO@HAIMLOLL@EGL?3?5Failed?5to?5find?5support?5for@ 00357 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 0035c e8 00 00 00 00 call _glfwInputError ; 214 : "EGL: Failed to find support for OpenGL ES 1.x"); ; 215 : } 00361 eb 11 jmp SHORT $LN21@chooseEGLC $LN20@chooseEGLC: ; 216 : else ; 217 : { ; 218 : _glfwInputError(GLFW_API_UNAVAILABLE, 00363 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DF@BPPFPGID@EGL?3?5Failed?5to?5find?5support?5for@ 0036a b9 06 00 01 00 mov ecx, 65542 ; 00010006H 0036f e8 00 00 00 00 call _glfwInputError $LN21@chooseEGLC: ; 219 : "EGL: Failed to find support for OpenGL ES 2 or later"); ; 220 : } ; 221 : } 00374 eb 11 jmp SHORT $LN19@chooseEGLC $LN18@chooseEGLC: ; 222 : else ; 223 : { ; 224 : _glfwInputError(GLFW_API_UNAVAILABLE, 00376 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CH@EMJGILEP@EGL?3?5Failed?5to?5find?5support?5for@ 0037d b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00382 e8 00 00 00 00 call _glfwInputError $LN19@chooseEGLC: ; 225 : "EGL: Failed to find support for OpenGL"); ; 226 : } ; 227 : } 00387 eb 11 jmp SHORT $LN17@chooseEGLC $LN16@chooseEGLC: ; 228 : else ; 229 : { ; 230 : _glfwInputError(GLFW_FORMAT_UNAVAILABLE, 00389 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@JPDPLHCM@EGL?3?5Failed?5to?5find?5a?5suitable?5@ 00390 b9 09 00 01 00 mov ecx, 65545 ; 00010009H 00395 e8 00 00 00 00 call _glfwInputError $LN17@chooseEGLC: $LN15@chooseEGLC: ; 231 : "EGL: Failed to find a suitable EGLConfig"); ; 232 : } ; 233 : } ; 234 : ; 235 : _glfw_free(nativeConfigs); 0039a 48 8b 4d 08 mov rcx, QWORD PTR nativeConfigs$[rbp] 0039e e8 00 00 00 00 call _glfw_free ; 236 : _glfw_free(usableConfigs); 003a3 48 8b 4d 28 mov rcx, QWORD PTR usableConfigs$[rbp] 003a7 e8 00 00 00 00 call _glfw_free ; 237 : ; 238 : return closest != NULL; 003ac 48 83 7d 48 00 cmp QWORD PTR closest$[rbp], 0 003b1 74 0c je SHORT $LN23@chooseEGLC 003b3 c7 85 f4 01 00 00 01 00 00 00 mov DWORD PTR tv199[rbp], 1 003bd eb 0a jmp SHORT $LN24@chooseEGLC $LN23@chooseEGLC: 003bf c7 85 f4 01 00 00 00 00 00 00 mov DWORD PTR tv199[rbp], 0 $LN24@chooseEGLC: 003c9 8b 85 f4 01 00 00 mov eax, DWORD PTR tv199[rbp] $LN1@chooseEGLC: ; 239 : } 003cf 48 8b f8 mov rdi, rax 003d2 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 003d6 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:chooseEGLConfig$rtcFrameData 003dd e8 00 00 00 00 call _RTC_CheckStackVars 003e2 48 8b c7 mov rax, rdi 003e5 48 8b 8d f8 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 003ec 48 33 cd xor rcx, rbp 003ef e8 00 00 00 00 call __security_check_cookie 003f4 48 8d a5 08 02 00 00 lea rsp, QWORD PTR [rbp+520] 003fb 5f pop rdi 003fc 5d pop rbp 003fd c3 ret 0 chooseEGLConfig ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT getEGLConfigAttrib _TEXT SEGMENT value$ = 4 __$ArrayPad$ = 216 config$ = 256 attrib$ = 264 getEGLConfigAttrib PROC ; COMDAT ; 82 : { 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 0001c b9 0a 00 00 00 mov ecx, 10 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00026 f3 ab rep stosd 00028 48 8b 8c 24 28 01 00 00 mov rcx, QWORD PTR [rsp+296] 00030 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00037 48 33 c5 xor rax, rbp 0003a 48 89 85 d8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00041 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 83 : int value; ; 84 : eglGetConfigAttrib(_glfw.egl.display, config, attrib, &value); 0004d 4c 8d 4d 04 lea r9, QWORD PTR value$[rbp] 00051 44 8b 85 08 01 00 00 mov r8d, DWORD PTR attrib$[rbp] 00058 48 8b 95 00 01 00 00 mov rdx, QWORD PTR config$[rbp] 0005f 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 00066 ff 15 50 1a 00 00 call QWORD PTR _glfw+6736 ; 85 : return value; 0006c 8b 45 04 mov eax, DWORD PTR value$[rbp] ; 86 : } 0006f 8b f8 mov edi, eax 00071 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 00075 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:getEGLConfigAttrib$rtcFrameData 0007c e8 00 00 00 00 call _RTC_CheckStackVars 00081 8b c7 mov eax, edi 00083 48 8b 8d d8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 0008a 48 33 cd xor rcx, rbp 0008d e8 00 00 00 00 call __security_check_cookie 00092 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00099 5f pop rdi 0009a 5d pop rbp 0009b c3 ret 0 getEGLConfigAttrib ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT getEGLErrorString _TEXT SEGMENT tv64 = 192 error$ = 240 getEGLErrorString PROC ; COMDAT ; 41 : { 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 57 push rdi 00006 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00012 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 42 : switch (error) 0001e 8b 85 f0 00 00 00 mov eax, DWORD PTR error$[rbp] 00024 89 85 c0 00 00 00 mov DWORD PTR tv64[rbp], eax 0002a 8b 85 c0 00 00 00 mov eax, DWORD PTR tv64[rbp] 00030 2d 00 30 00 00 sub eax, 12288 ; 00003000H 00035 89 85 c0 00 00 00 mov DWORD PTR tv64[rbp], eax 0003b 83 bd c0 00 00 00 0e cmp DWORD PTR tv64[rbp], 14 00042 0f 87 a4 00 00 00 ja $LN19@getEGLErro 00048 48 63 85 c0 00 00 00 movsxd rax, DWORD PTR tv64[rbp] 0004f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 00056 8b 84 81 00 00 00 00 mov eax, DWORD PTR $LN21@getEGLErro[rcx+rax*4] 0005d 48 03 c1 add rax, rcx 00060 ff e0 jmp rax $LN4@getEGLErro: ; 43 : { ; 44 : case EGL_SUCCESS: ; 45 : return "Success"; 00062 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_07PBILKAFL@Success@ 00069 e9 85 00 00 00 jmp $LN1@getEGLErro $LN5@getEGLErro: ; 46 : case EGL_NOT_INITIALIZED: ; 47 : return "EGL is not or could not be initialized"; 0006e 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0CH@KLCPDMM@EGL?5is?5not?5or?5could?5not?5be?5init@ 00075 eb 7c jmp SHORT $LN1@getEGLErro $LN6@getEGLErro: ; 48 : case EGL_BAD_ACCESS: ; 49 : return "EGL cannot access a requested resource"; 00077 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0CH@MMCOKIKC@EGL?5cannot?5access?5a?5requested?5r@ 0007e eb 73 jmp SHORT $LN1@getEGLErro $LN7@getEGLErro: ; 50 : case EGL_BAD_ALLOC: ; 51 : return "EGL failed to allocate resources for the requested operation"; 00080 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0DN@GNDEENDO@EGL?5failed?5to?5allocate?5resource@ 00087 eb 6a jmp SHORT $LN1@getEGLErro $LN8@getEGLErro: ; 52 : case EGL_BAD_ATTRIBUTE: ; 53 : return "An unrecognized attribute or attribute value was passed in the attribute list"; 00089 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0EO@EKFIJHGG@An?5unrecognized?5attribute?5or?5at@ 00090 eb 61 jmp SHORT $LN1@getEGLErro $LN9@getEGLErro: ; 54 : case EGL_BAD_CONTEXT: ; 55 : return "An EGLContext argument does not name a valid EGL rendering context"; 00092 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0ED@GAJEHCGA@An?5EGLContext?5argument?5does?5not@ 00099 eb 58 jmp SHORT $LN1@getEGLErro $LN10@getEGLErro: ; 56 : case EGL_BAD_CONFIG: ; 57 : return "An EGLConfig argument does not name a valid EGL frame buffer configuration"; 0009b 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0EL@BBAGGFOK@An?5EGLConfig?5argument?5does?5not?5@ 000a2 eb 4f jmp SHORT $LN1@getEGLErro $LN11@getEGLErro: ; 58 : case EGL_BAD_CURRENT_SURFACE: ; 59 : return "The current surface of the calling thread is a window, pixel buffer or pixmap that is no longer valid"; 000a4 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0GG@ODICGIHF@The?5current?5surface?5of?5the?5call@ 000ab eb 46 jmp SHORT $LN1@getEGLErro $LN12@getEGLErro: ; 60 : case EGL_BAD_DISPLAY: ; 61 : return "An EGLDisplay argument does not name a valid EGL display connection"; 000ad 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0EE@ICKHNPHB@An?5EGLDisplay?5argument?5does?5not@ 000b4 eb 3d jmp SHORT $LN1@getEGLErro $LN13@getEGLErro: ; 62 : case EGL_BAD_SURFACE: ; 63 : return "An EGLSurface argument does not name a valid surface configured for GL rendering"; 000b6 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0FB@EPGEGHDL@An?5EGLSurface?5argument?5does?5not@ 000bd eb 34 jmp SHORT $LN1@getEGLErro $LN14@getEGLErro: ; 64 : case EGL_BAD_MATCH: ; 65 : return "Arguments are inconsistent"; 000bf 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0BL@OIILILNJ@Arguments?5are?5inconsistent@ 000c6 eb 2b jmp SHORT $LN1@getEGLErro $LN15@getEGLErro: ; 66 : case EGL_BAD_PARAMETER: ; 67 : return "One or more argument values are invalid"; 000c8 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0CI@KAHNKLLC@One?5or?5more?5argument?5values?5are@ 000cf eb 22 jmp SHORT $LN1@getEGLErro $LN16@getEGLErro: ; 68 : case EGL_BAD_NATIVE_PIXMAP: ; 69 : return "A NativePixmapType argument does not refer to a valid native pixmap"; 000d1 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0EE@NKCAIGPH@A?5NativePixmapType?5argument?5doe@ 000d8 eb 19 jmp SHORT $LN1@getEGLErro $LN17@getEGLErro: ; 70 : case EGL_BAD_NATIVE_WINDOW: ; 71 : return "A NativeWindowType argument does not refer to a valid native window"; 000da 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0EE@FBMMOIJB@A?5NativeWindowType?5argument?5doe@ 000e1 eb 10 jmp SHORT $LN1@getEGLErro $LN18@getEGLErro: ; 72 : case EGL_CONTEXT_LOST: ; 73 : return "The application must destroy all contexts and reinitialise"; 000e3 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0DL@GNLICFMC@The?5application?5must?5destroy?5al@ 000ea eb 07 jmp SHORT $LN1@getEGLErro $LN19@getEGLErro: ; 74 : default: ; 75 : return "ERROR: UNKNOWN EGL ERROR"; 000ec 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0BJ@KDFAHDEK@ERROR?3?5UNKNOWN?5EGL?5ERROR@ $LN1@getEGLErro: ; 76 : } ; 77 : } 000f3 48 8d a5 d8 00 00 00 lea rsp, QWORD PTR [rbp+216] 000fa 5f pop rdi 000fb 5d pop rbp 000fc c3 ret 0 000fd 0f 1f 00 npad 3 $LN21@getEGLErro: 00100 00 00 00 00 DD $LN4@getEGLErro 00104 00 00 00 00 DD $LN5@getEGLErro 00108 00 00 00 00 DD $LN6@getEGLErro 0010c 00 00 00 00 DD $LN7@getEGLErro 00110 00 00 00 00 DD $LN8@getEGLErro 00114 00 00 00 00 DD $LN10@getEGLErro 00118 00 00 00 00 DD $LN9@getEGLErro 0011c 00 00 00 00 DD $LN11@getEGLErro 00120 00 00 00 00 DD $LN12@getEGLErro 00124 00 00 00 00 DD $LN14@getEGLErro 00128 00 00 00 00 DD $LN16@getEGLErro 0012c 00 00 00 00 DD $LN17@getEGLErro 00130 00 00 00 00 DD $LN15@getEGLErro 00134 00 00 00 00 DD $LN13@getEGLErro 00138 00 00 00 00 DD $LN18@getEGLErro getEGLErrorString ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT _glfwCreateContextEGL _TEXT SEGMENT attribs$ = 16 config$ = 200 share$ = 232 native$ = 264 index$ = 292 mask$8 = 324 flags$9 = 356 i$10 = 388 sonames$11 = 424 es1sonames$12 = 456 es2sonames$13 = 504 glsonames$14 = 552 tv492 = 948 tv401 = 948 __$ArrayPad$ = 952 window$ = 992 ctxconfig$ = 1000 fbconfig$ = 1008 _glfwCreateContextEGL PROC ; COMDAT ; 569 : { $LN71: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec e8 03 00 00 sub rsp, 1000 ; 000003e8H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00022 b9 92 00 00 00 mov ecx, 146 ; 00000092H 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 08 04 00 00 mov rcx, QWORD PTR [rsp+1032] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 b8 03 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 570 : EGLint attribs[40]; ; 571 : EGLConfig config; ; 572 : EGLContext share = NULL; 00053 48 c7 85 e8 00 00 00 00 00 00 00 mov QWORD PTR share$[rbp], 0 ; 573 : EGLNativeWindowType native; ; 574 : int index = 0; 0005e c7 85 24 01 00 00 00 00 00 00 mov DWORD PTR index$[rbp], 0 ; 575 : ; 576 : if (!_glfw.egl.display) 00068 48 83 3d f8 19 00 00 00 cmp QWORD PTR _glfw+6648, 0 00070 75 18 jne SHORT $LN5@glfwCreate ; 577 : { ; 578 : _glfwInputError(GLFW_API_UNAVAILABLE, "EGL: API not available"); 00072 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BH@PDIOJKKP@EGL?3?5API?5not?5available@ 00079 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 0007e e8 00 00 00 00 call _glfwInputError ; 579 : return GLFW_FALSE; 00083 33 c0 xor eax, eax 00085 e9 fe 0b 00 00 jmp $LN1@glfwCreate $LN5@glfwCreate: ; 580 : } ; 581 : ; 582 : if (ctxconfig->share) 0008a 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00091 48 83 78 28 00 cmp QWORD PTR [rax+40], 0 00096 74 19 je SHORT $LN6@glfwCreate ; 583 : share = ctxconfig->share->context.egl.handle; 00098 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0009f 48 8b 40 28 mov rax, QWORD PTR [rax+40] 000a3 48 8b 80 88 02 00 00 mov rax, QWORD PTR [rax+648] 000aa 48 89 85 e8 00 00 00 mov QWORD PTR share$[rbp], rax $LN6@glfwCreate: ; 584 : ; 585 : if (!chooseEGLConfig(ctxconfig, fbconfig, &config)) 000b1 4c 8d 85 c8 00 00 00 lea r8, QWORD PTR config$[rbp] 000b8 48 8b 95 f0 03 00 00 mov rdx, QWORD PTR fbconfig$[rbp] 000bf 48 8b 8d e8 03 00 00 mov rcx, QWORD PTR ctxconfig$[rbp] 000c6 e8 00 00 00 00 call chooseEGLConfig 000cb 85 c0 test eax, eax 000cd 75 07 jne SHORT $LN7@glfwCreate ; 586 : return GLFW_FALSE; 000cf 33 c0 xor eax, eax 000d1 e9 b2 0b 00 00 jmp $LN1@glfwCreate $LN7@glfwCreate: ; 587 : ; 588 : if (ctxconfig->client == GLFW_OPENGL_ES_API) 000d6 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 000dd 81 38 02 00 03 00 cmp DWORD PTR [rax], 196610 ; 00030002H 000e3 75 39 jne SHORT $LN8@glfwCreate ; 589 : { ; 590 : if (!eglBindAPI(EGL_OPENGL_ES_API)) 000e5 b9 a0 30 00 00 mov ecx, 12448 ; 000030a0H 000ea ff 15 80 1a 00 00 call QWORD PTR _glfw+6784 000f0 85 c0 test eax, eax 000f2 75 28 jne SHORT $LN10@glfwCreate ; 591 : { ; 592 : _glfwInputError(GLFW_API_UNAVAILABLE, 000f4 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 000fa 8b c8 mov ecx, eax 000fc e8 00 00 00 00 call getEGLErrorString 00101 4c 8b c0 mov r8, rax 00104 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CC@NIBJMOI@EGL?3?5Failed?5to?5bind?5OpenGL?5ES?3?5@ 0010b b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00110 e8 00 00 00 00 call _glfwInputError ; 593 : "EGL: Failed to bind OpenGL ES: %s", ; 594 : getEGLErrorString(eglGetError())); ; 595 : return GLFW_FALSE; 00115 33 c0 xor eax, eax 00117 e9 6c 0b 00 00 jmp $LN1@glfwCreate $LN10@glfwCreate: ; 596 : } ; 597 : } 0011c eb 37 jmp SHORT $LN9@glfwCreate $LN8@glfwCreate: ; 598 : else ; 599 : { ; 600 : if (!eglBindAPI(EGL_OPENGL_API)) 0011e b9 a2 30 00 00 mov ecx, 12450 ; 000030a2H 00123 ff 15 80 1a 00 00 call QWORD PTR _glfw+6784 00129 85 c0 test eax, eax 0012b 75 28 jne SHORT $LN11@glfwCreate ; 601 : { ; 602 : _glfwInputError(GLFW_API_UNAVAILABLE, 0012d ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 00133 8b c8 mov ecx, eax 00135 e8 00 00 00 00 call getEGLErrorString 0013a 4c 8b c0 mov r8, rax 0013d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@PHOHHIJJ@EGL?3?5Failed?5to?5bind?5OpenGL?3?5?$CFs@ 00144 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00149 e8 00 00 00 00 call _glfwInputError ; 603 : "EGL: Failed to bind OpenGL: %s", ; 604 : getEGLErrorString(eglGetError())); ; 605 : return GLFW_FALSE; 0014e 33 c0 xor eax, eax 00150 e9 33 0b 00 00 jmp $LN1@glfwCreate $LN11@glfwCreate: $LN9@glfwCreate: ; 606 : } ; 607 : } ; 608 : ; 609 : if (_glfw.egl.KHR_create_context) 00155 83 3d 0c 1a 00 00 00 cmp DWORD PTR _glfw+6668, 0 0015c 0f 84 ff 03 00 00 je $LN12@glfwCreate ; 610 : { ; 611 : int mask = 0, flags = 0; 00162 c7 85 44 01 00 00 00 00 00 00 mov DWORD PTR mask$8[rbp], 0 0016c c7 85 64 01 00 00 00 00 00 00 mov DWORD PTR flags$9[rbp], 0 ; 612 : ; 613 : if (ctxconfig->client == GLFW_OPENGL_API) 00176 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0017d 81 38 01 00 03 00 cmp DWORD PTR [rax], 196609 ; 00030001H 00183 75 5c jne SHORT $LN14@glfwCreate ; 614 : { ; 615 : if (ctxconfig->forward) 00185 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0018c 83 78 10 00 cmp DWORD PTR [rax+16], 0 00190 74 0f je SHORT $LN15@glfwCreate ; 616 : flags |= EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR; 00192 8b 85 64 01 00 00 mov eax, DWORD PTR flags$9[rbp] 00198 83 c8 02 or eax, 2 0019b 89 85 64 01 00 00 mov DWORD PTR flags$9[rbp], eax $LN15@glfwCreate: ; 617 : ; 618 : if (ctxconfig->profile == GLFW_OPENGL_CORE_PROFILE) 001a1 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 001a8 81 78 1c 01 20 03 00 cmp DWORD PTR [rax+28], 204801 ; 00032001H 001af 75 11 jne SHORT $LN16@glfwCreate ; 619 : mask |= EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR; 001b1 8b 85 44 01 00 00 mov eax, DWORD PTR mask$8[rbp] 001b7 83 c8 01 or eax, 1 001ba 89 85 44 01 00 00 mov DWORD PTR mask$8[rbp], eax 001c0 eb 1f jmp SHORT $LN17@glfwCreate $LN16@glfwCreate: ; 620 : else if (ctxconfig->profile == GLFW_OPENGL_COMPAT_PROFILE) 001c2 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 001c9 81 78 1c 02 20 03 00 cmp DWORD PTR [rax+28], 204802 ; 00032002H 001d0 75 0f jne SHORT $LN18@glfwCreate ; 621 : mask |= EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR; 001d2 8b 85 44 01 00 00 mov eax, DWORD PTR mask$8[rbp] 001d8 83 c8 02 or eax, 2 001db 89 85 44 01 00 00 mov DWORD PTR mask$8[rbp], eax $LN18@glfwCreate: $LN17@glfwCreate: $LN14@glfwCreate: ; 622 : } ; 623 : ; 624 : if (ctxconfig->debug) 001e1 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 001e8 83 78 14 00 cmp DWORD PTR [rax+20], 0 001ec 74 0f je SHORT $LN19@glfwCreate ; 625 : flags |= EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR; 001ee 8b 85 64 01 00 00 mov eax, DWORD PTR flags$9[rbp] 001f4 83 c8 01 or eax, 1 001f7 89 85 64 01 00 00 mov DWORD PTR flags$9[rbp], eax $LN19@glfwCreate: ; 626 : ; 627 : if (ctxconfig->robustness) 001fd 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00204 83 78 20 00 cmp DWORD PTR [rax+32], 0 00208 0f 84 fd 00 00 00 je $LN20@glfwCreate ; 628 : { ; 629 : if (ctxconfig->robustness == GLFW_NO_RESET_NOTIFICATION) 0020e 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00215 81 78 20 01 10 03 00 cmp DWORD PTR [rax+32], 200705 ; 00031001H 0021c 75 68 jne SHORT $LN21@glfwCreate ; 630 : { ; 631 : SET_ATTRIB(EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR, 0021e 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00225 48 ff c0 inc rax 00228 48 83 f8 28 cmp rax, 40 ; 00000028H 0022c 72 1c jb SHORT $LN52@glfwCreate 0022e 41 b8 78 02 00 00 mov r8d, 632 ; 00000278H 00234 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 0023b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00242 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 00248 33 c0 xor eax, eax $LN52@glfwCreate: 0024a 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00251 c7 44 85 10 bd 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12733 ; 000031bdH 00259 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 0025f ff c0 inc eax 00261 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 00267 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0026e c7 44 85 10 be 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12734 ; 000031beH 00276 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 0027c ff c0 inc eax 0027e 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax ; 632 : EGL_NO_RESET_NOTIFICATION_KHR); ; 633 : } 00284 eb 76 jmp SHORT $LN22@glfwCreate $LN21@glfwCreate: ; 634 : else if (ctxconfig->robustness == GLFW_LOSE_CONTEXT_ON_RESET) 00286 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0028d 81 78 20 02 10 03 00 cmp DWORD PTR [rax+32], 200706 ; 00031002H 00294 75 66 jne SHORT $LN23@glfwCreate ; 635 : { ; 636 : SET_ATTRIB(EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR, 00296 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0029d 48 ff c0 inc rax 002a0 48 83 f8 28 cmp rax, 40 ; 00000028H 002a4 72 1c jb SHORT $LN53@glfwCreate 002a6 41 b8 7d 02 00 00 mov r8d, 637 ; 0000027dH 002ac 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 002b3 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 002ba ff 15 00 00 00 00 call QWORD PTR __imp__wassert 002c0 33 c0 xor eax, eax $LN53@glfwCreate: 002c2 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 002c9 c7 44 85 10 bd 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12733 ; 000031bdH 002d1 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 002d7 ff c0 inc eax 002d9 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 002df 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 002e6 c7 44 85 10 bf 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12735 ; 000031bfH 002ee 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 002f4 ff c0 inc eax 002f6 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN23@glfwCreate: $LN22@glfwCreate: ; 637 : EGL_LOSE_CONTEXT_ON_RESET_KHR); ; 638 : } ; 639 : ; 640 : flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR; 002fc 8b 85 64 01 00 00 mov eax, DWORD PTR flags$9[rbp] 00302 83 c8 04 or eax, 4 00305 89 85 64 01 00 00 mov DWORD PTR flags$9[rbp], eax $LN20@glfwCreate: ; 641 : } ; 642 : ; 643 : if (ctxconfig->noerror) 0030b 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00312 83 78 18 00 cmp DWORD PTR [rax+24], 0 00316 74 6f je SHORT $LN24@glfwCreate ; 644 : { ; 645 : if (_glfw.egl.KHR_create_context_no_error) 00318 83 3d 10 1a 00 00 00 cmp DWORD PTR _glfw+6672, 0 0031f 74 66 je SHORT $LN25@glfwCreate ; 646 : SET_ATTRIB(EGL_CONTEXT_OPENGL_NO_ERROR_KHR, GLFW_TRUE); 00321 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00328 48 ff c0 inc rax 0032b 48 83 f8 28 cmp rax, 40 ; 00000028H 0032f 72 1c jb SHORT $LN54@glfwCreate 00331 41 b8 86 02 00 00 mov r8d, 646 ; 00000286H 00337 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 0033e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00345 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 0034b 33 c0 xor eax, eax $LN54@glfwCreate: 0034d 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00354 c7 44 85 10 b3 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12723 ; 000031b3H 0035c 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00362 ff c0 inc eax 00364 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 0036a 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00371 c7 44 85 10 01 00 00 00 mov DWORD PTR attribs$[rbp+rax*4], 1 00379 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 0037f ff c0 inc eax 00381 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN25@glfwCreate: $LN24@glfwCreate: ; 647 : } ; 648 : ; 649 : if (ctxconfig->major != 1 || ctxconfig->minor != 0) 00387 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0038e 83 78 08 01 cmp DWORD PTR [rax+8], 1 00392 75 11 jne SHORT $LN27@glfwCreate 00394 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0039b 83 78 0c 00 cmp DWORD PTR [rax+12], 0 0039f 0f 84 d8 00 00 00 je $LN26@glfwCreate $LN27@glfwCreate: ; 650 : { ; 651 : SET_ATTRIB(EGL_CONTEXT_MAJOR_VERSION_KHR, ctxconfig->major); 003a5 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 003ac 48 ff c0 inc rax 003af 48 83 f8 28 cmp rax, 40 ; 00000028H 003b3 72 1c jb SHORT $LN55@glfwCreate 003b5 41 b8 8b 02 00 00 mov r8d, 651 ; 0000028bH 003bb 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 003c2 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 003c9 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 003cf 33 c0 xor eax, eax $LN55@glfwCreate: 003d1 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 003d8 c7 44 85 10 98 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12440 ; 00003098H 003e0 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 003e6 ff c0 inc eax 003e8 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 003ee 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 003f5 48 8b 8d e8 03 00 00 mov rcx, QWORD PTR ctxconfig$[rbp] 003fc 8b 49 08 mov ecx, DWORD PTR [rcx+8] 003ff 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 00403 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00409 ff c0 inc eax 0040b 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax ; 652 : SET_ATTRIB(EGL_CONTEXT_MINOR_VERSION_KHR, ctxconfig->minor); 00411 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00418 48 ff c0 inc rax 0041b 48 83 f8 28 cmp rax, 40 ; 00000028H 0041f 72 1c jb SHORT $LN56@glfwCreate 00421 41 b8 8c 02 00 00 mov r8d, 652 ; 0000028cH 00427 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 0042e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00435 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 0043b 33 c0 xor eax, eax $LN56@glfwCreate: 0043d 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00444 c7 44 85 10 fb 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12539 ; 000030fbH 0044c 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00452 ff c0 inc eax 00454 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 0045a 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00461 48 8b 8d e8 03 00 00 mov rcx, QWORD PTR ctxconfig$[rbp] 00468 8b 49 0c mov ecx, DWORD PTR [rcx+12] 0046b 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 0046f 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00475 ff c0 inc eax 00477 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN26@glfwCreate: ; 653 : } ; 654 : ; 655 : if (mask) 0047d 83 bd 44 01 00 00 00 cmp DWORD PTR mask$8[rbp], 0 00484 74 68 je SHORT $LN28@glfwCreate ; 656 : SET_ATTRIB(EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, mask); 00486 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0048d 48 ff c0 inc rax 00490 48 83 f8 28 cmp rax, 40 ; 00000028H 00494 72 1c jb SHORT $LN57@glfwCreate 00496 41 b8 90 02 00 00 mov r8d, 656 ; 00000290H 0049c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 004a3 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 004aa ff 15 00 00 00 00 call QWORD PTR __imp__wassert 004b0 33 c0 xor eax, eax $LN57@glfwCreate: 004b2 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 004b9 c7 44 85 10 fd 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12541 ; 000030fdH 004c1 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 004c7 ff c0 inc eax 004c9 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 004cf 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 004d6 8b 8d 44 01 00 00 mov ecx, DWORD PTR mask$8[rbp] 004dc 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 004e0 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 004e6 ff c0 inc eax 004e8 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN28@glfwCreate: ; 657 : ; 658 : if (flags) 004ee 83 bd 64 01 00 00 00 cmp DWORD PTR flags$9[rbp], 0 004f5 74 68 je SHORT $LN29@glfwCreate ; 659 : SET_ATTRIB(EGL_CONTEXT_FLAGS_KHR, flags); 004f7 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 004fe 48 ff c0 inc rax 00501 48 83 f8 28 cmp rax, 40 ; 00000028H 00505 72 1c jb SHORT $LN58@glfwCreate 00507 41 b8 93 02 00 00 mov r8d, 659 ; 00000293H 0050d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 00514 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 0051b ff 15 00 00 00 00 call QWORD PTR __imp__wassert 00521 33 c0 xor eax, eax $LN58@glfwCreate: 00523 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0052a c7 44 85 10 fc 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12540 ; 000030fcH 00532 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00538 ff c0 inc eax 0053a 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 00540 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00547 8b 8d 64 01 00 00 mov ecx, DWORD PTR flags$9[rbp] 0054d 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 00551 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00557 ff c0 inc eax 00559 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN29@glfwCreate: ; 660 : } 0055f eb 7b jmp SHORT $LN13@glfwCreate $LN12@glfwCreate: ; 661 : else ; 662 : { ; 663 : if (ctxconfig->client == GLFW_OPENGL_ES_API) 00561 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00568 81 38 02 00 03 00 cmp DWORD PTR [rax], 196610 ; 00030002H 0056e 75 6c jne SHORT $LN30@glfwCreate ; 664 : SET_ATTRIB(EGL_CONTEXT_CLIENT_VERSION, ctxconfig->major); 00570 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00577 48 ff c0 inc rax 0057a 48 83 f8 28 cmp rax, 40 ; 00000028H 0057e 72 1c jb SHORT $LN59@glfwCreate 00580 41 b8 98 02 00 00 mov r8d, 664 ; 00000298H 00586 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 0058d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00594 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 0059a 33 c0 xor eax, eax $LN59@glfwCreate: 0059c 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 005a3 c7 44 85 10 98 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12440 ; 00003098H 005ab 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 005b1 ff c0 inc eax 005b3 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 005b9 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 005c0 48 8b 8d e8 03 00 00 mov rcx, QWORD PTR ctxconfig$[rbp] 005c7 8b 49 08 mov ecx, DWORD PTR [rcx+8] 005ca 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 005ce 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 005d4 ff c0 inc eax 005d6 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN30@glfwCreate: $LN13@glfwCreate: ; 665 : } ; 666 : ; 667 : if (_glfw.egl.KHR_context_flush_control) 005dc 83 3d 1c 1a 00 00 00 cmp DWORD PTR _glfw+6684, 0 005e3 0f 84 ee 00 00 00 je $LN31@glfwCreate ; 668 : { ; 669 : if (ctxconfig->release == GLFW_RELEASE_BEHAVIOR_NONE) 005e9 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 005f0 81 78 24 02 50 03 00 cmp DWORD PTR [rax+36], 217090 ; 00035002H 005f7 75 68 jne SHORT $LN32@glfwCreate ; 670 : { ; 671 : SET_ATTRIB(EGL_CONTEXT_RELEASE_BEHAVIOR_KHR, 005f9 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00600 48 ff c0 inc rax 00603 48 83 f8 28 cmp rax, 40 ; 00000028H 00607 72 1c jb SHORT $LN60@glfwCreate 00609 41 b8 a0 02 00 00 mov r8d, 672 ; 000002a0H 0060f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 00616 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 0061d ff 15 00 00 00 00 call QWORD PTR __imp__wassert 00623 33 c0 xor eax, eax $LN60@glfwCreate: 00625 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0062c c7 44 85 10 97 20 00 00 mov DWORD PTR attribs$[rbp+rax*4], 8343 ; 00002097H 00634 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 0063a ff c0 inc eax 0063c 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 00642 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00649 c7 44 85 10 00 00 00 00 mov DWORD PTR attribs$[rbp+rax*4], 0 00651 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00657 ff c0 inc eax 00659 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax ; 672 : EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR); ; 673 : } 0065f eb 76 jmp SHORT $LN33@glfwCreate $LN32@glfwCreate: ; 674 : else if (ctxconfig->release == GLFW_RELEASE_BEHAVIOR_FLUSH) 00661 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00668 81 78 24 01 50 03 00 cmp DWORD PTR [rax+36], 217089 ; 00035001H 0066f 75 66 jne SHORT $LN34@glfwCreate ; 675 : { ; 676 : SET_ATTRIB(EGL_CONTEXT_RELEASE_BEHAVIOR_KHR, 00671 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00678 48 ff c0 inc rax 0067b 48 83 f8 28 cmp rax, 40 ; 00000028H 0067f 72 1c jb SHORT $LN61@glfwCreate 00681 41 b8 a5 02 00 00 mov r8d, 677 ; 000002a5H 00687 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 0068e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00695 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 0069b 33 c0 xor eax, eax $LN61@glfwCreate: 0069d 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 006a4 c7 44 85 10 97 20 00 00 mov DWORD PTR attribs$[rbp+rax*4], 8343 ; 00002097H 006ac 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 006b2 ff c0 inc eax 006b4 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 006ba 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 006c1 c7 44 85 10 98 20 00 00 mov DWORD PTR attribs$[rbp+rax*4], 8344 ; 00002098H 006c9 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 006cf ff c0 inc eax 006d1 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN34@glfwCreate: $LN33@glfwCreate: $LN31@glfwCreate: ; 677 : EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR); ; 678 : } ; 679 : } ; 680 : ; 681 : SET_ATTRIB(EGL_NONE, EGL_NONE); 006d7 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 006de 48 ff c0 inc rax 006e1 48 83 f8 28 cmp rax, 40 ; 00000028H 006e5 72 1c jb SHORT $LN62@glfwCreate 006e7 41 b8 a9 02 00 00 mov r8d, 681 ; 000002a9H 006ed 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 006f4 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 006fb ff 15 00 00 00 00 call QWORD PTR __imp__wassert 00701 33 c0 xor eax, eax $LN62@glfwCreate: 00703 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0070a c7 44 85 10 38 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12344 ; 00003038H 00712 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00718 ff c0 inc eax 0071a 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 00720 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00727 c7 44 85 10 38 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12344 ; 00003038H 0072f 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00735 ff c0 inc eax 00737 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax ; 682 : ; 683 : window->context.egl.handle = eglCreateContext(_glfw.egl.display, 0073d 4c 8d 4d 10 lea r9, QWORD PTR attribs$[rbp] 00741 4c 8b 85 e8 00 00 00 mov r8, QWORD PTR share$[rbp] 00748 48 8b 95 c8 00 00 00 mov rdx, QWORD PTR config$[rbp] 0074f 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 00756 ff 15 88 1a 00 00 call QWORD PTR _glfw+6792 0075c 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR window$[rbp] 00763 48 89 81 88 02 00 00 mov QWORD PTR [rcx+648], rax ; 684 : config, share, attribs); ; 685 : ; 686 : if (window->context.egl.handle == EGL_NO_CONTEXT) 0076a 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00771 48 83 b8 88 02 00 00 00 cmp QWORD PTR [rax+648], 0 00779 75 28 jne SHORT $LN35@glfwCreate ; 687 : { ; 688 : _glfwInputError(GLFW_VERSION_UNAVAILABLE, 0077b ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 00781 8b c8 mov ecx, eax 00783 e8 00 00 00 00 call getEGLErrorString 00788 4c 8b c0 mov r8, rax 0078b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CC@GOIKODMM@EGL?3?5Failed?5to?5create?5context?3?5@ 00792 b9 07 00 01 00 mov ecx, 65543 ; 00010007H 00797 e8 00 00 00 00 call _glfwInputError ; 689 : "EGL: Failed to create context: %s", ; 690 : getEGLErrorString(eglGetError())); ; 691 : return GLFW_FALSE; 0079c 33 c0 xor eax, eax 0079e e9 e5 04 00 00 jmp $LN1@glfwCreate $LN35@glfwCreate: ; 692 : } ; 693 : ; 694 : // Set up attributes for surface creation ; 695 : index = 0; 007a3 c7 85 24 01 00 00 00 00 00 00 mov DWORD PTR index$[rbp], 0 ; 696 : ; 697 : if (fbconfig->sRGB) 007ad 48 8b 85 f0 03 00 00 mov rax, QWORD PTR fbconfig$[rbp] 007b4 83 78 34 00 cmp DWORD PTR [rax+52], 0 007b8 74 6f je SHORT $LN36@glfwCreate ; 698 : { ; 699 : if (_glfw.egl.KHR_gl_colorspace) 007ba 83 3d 14 1a 00 00 00 cmp DWORD PTR _glfw+6676, 0 007c1 74 66 je SHORT $LN37@glfwCreate ; 700 : SET_ATTRIB(EGL_GL_COLORSPACE_KHR, EGL_GL_COLORSPACE_SRGB_KHR); 007c3 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 007ca 48 ff c0 inc rax 007cd 48 83 f8 28 cmp rax, 40 ; 00000028H 007d1 72 1c jb SHORT $LN63@glfwCreate 007d3 41 b8 bc 02 00 00 mov r8d, 700 ; 000002bcH 007d9 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 007e0 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 007e7 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 007ed 33 c0 xor eax, eax $LN63@glfwCreate: 007ef 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 007f6 c7 44 85 10 9d 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12445 ; 0000309dH 007fe 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00804 ff c0 inc eax 00806 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 0080c 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00813 c7 44 85 10 89 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12425 ; 00003089H 0081b 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00821 ff c0 inc eax 00823 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN37@glfwCreate: $LN36@glfwCreate: ; 701 : } ; 702 : ; 703 : if (!fbconfig->doublebuffer) 00829 48 8b 85 f0 03 00 00 mov rax, QWORD PTR fbconfig$[rbp] 00830 83 78 38 00 cmp DWORD PTR [rax+56], 0 00834 75 66 jne SHORT $LN38@glfwCreate ; 704 : SET_ATTRIB(EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER); 00836 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0083d 48 ff c0 inc rax 00840 48 83 f8 28 cmp rax, 40 ; 00000028H 00844 72 1c jb SHORT $LN64@glfwCreate 00846 41 b8 c0 02 00 00 mov r8d, 704 ; 000002c0H 0084c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 00853 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 0085a ff 15 00 00 00 00 call QWORD PTR __imp__wassert 00860 33 c0 xor eax, eax $LN64@glfwCreate: 00862 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00869 c7 44 85 10 86 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12422 ; 00003086H 00871 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00877 ff c0 inc eax 00879 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 0087f 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00886 c7 44 85 10 85 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12421 ; 00003085H 0088e 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00894 ff c0 inc eax 00896 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN38@glfwCreate: ; 705 : ; 706 : if (_glfw.egl.EXT_present_opaque) 0089c 83 3d 30 1a 00 00 00 cmp DWORD PTR _glfw+6704, 0 008a3 0f 84 8b 00 00 00 je $LN39@glfwCreate ; 707 : SET_ATTRIB(EGL_PRESENT_OPAQUE_EXT, !fbconfig->transparent); 008a9 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 008b0 48 ff c0 inc rax 008b3 48 83 f8 28 cmp rax, 40 ; 00000028H 008b7 72 1c jb SHORT $LN65@glfwCreate 008b9 41 b8 c3 02 00 00 mov r8d, 707 ; 000002c3H 008bf 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 008c6 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 008cd ff 15 00 00 00 00 call QWORD PTR __imp__wassert 008d3 33 c0 xor eax, eax $LN65@glfwCreate: 008d5 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 008dc c7 44 85 10 df 31 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12767 ; 000031dfH 008e4 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 008ea ff c0 inc eax 008ec 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 008f2 48 8b 85 f0 03 00 00 mov rax, QWORD PTR fbconfig$[rbp] 008f9 83 78 3c 00 cmp DWORD PTR [rax+60], 0 008fd 75 0c jne SHORT $LN66@glfwCreate 008ff c7 85 b4 03 00 00 01 00 00 00 mov DWORD PTR tv401[rbp], 1 00909 eb 0a jmp SHORT $LN67@glfwCreate $LN66@glfwCreate: 0090b c7 85 b4 03 00 00 00 00 00 00 mov DWORD PTR tv401[rbp], 0 $LN67@glfwCreate: 00915 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0091c 8b 8d b4 03 00 00 mov ecx, DWORD PTR tv401[rbp] 00922 89 4c 85 10 mov DWORD PTR attribs$[rbp+rax*4], ecx 00926 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 0092c ff c0 inc eax 0092e 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax $LN39@glfwCreate: ; 708 : ; 709 : SET_ATTRIB(EGL_NONE, EGL_NONE); 00934 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 0093b 48 ff c0 inc rax 0093e 48 83 f8 28 cmp rax, 40 ; 00000028H 00942 72 1c jb SHORT $LN68@glfwCreate 00944 41 b8 c5 02 00 00 mov r8d, 709 ; 000002c5H 0094a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1ME@LOABEMJH@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ 00951 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1HI@HJCOLHIE@?$AA?$CI?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?5?$AAi?$AAn?$AAd?$AAe?$AAx@ 00958 ff 15 00 00 00 00 call QWORD PTR __imp__wassert 0095e 33 c0 xor eax, eax $LN68@glfwCreate: 00960 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00967 c7 44 85 10 38 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12344 ; 00003038H 0096f 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00975 ff c0 inc eax 00977 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax 0097d 48 63 85 24 01 00 00 movsxd rax, DWORD PTR index$[rbp] 00984 c7 44 85 10 38 30 00 00 mov DWORD PTR attribs$[rbp+rax*4], 12344 ; 00003038H 0098c 8b 85 24 01 00 00 mov eax, DWORD PTR index$[rbp] 00992 ff c0 inc eax 00994 89 85 24 01 00 00 mov DWORD PTR index$[rbp], eax ; 710 : ; 711 : native = _glfw.platform.getEGLNativeWindow(window); 0099a 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR window$[rbp] 009a1 ff 15 48 02 00 00 call QWORD PTR _glfw+584 009a7 48 89 85 08 01 00 00 mov QWORD PTR native$[rbp], rax ; 712 : // HACK: ANGLE does not implement eglCreatePlatformWindowSurfaceEXT ; 713 : // despite reporting EGL_EXT_platform_base ; 714 : if (_glfw.egl.platform && _glfw.egl.platform != EGL_PLATFORM_ANGLE_ANGLE) 009ae 83 3d f0 19 00 00 00 cmp DWORD PTR _glfw+6640, 0 009b5 74 3b je SHORT $LN40@glfwCreate 009b7 81 3d f0 19 00 00 02 32 00 00 cmp DWORD PTR _glfw+6640, 12802 ; 00003202H 009c1 74 2f je SHORT $LN40@glfwCreate ; 715 : { ; 716 : window->context.egl.surface = 009c3 4c 8d 4d 10 lea r9, QWORD PTR attribs$[rbp] 009c7 4c 8b 85 08 01 00 00 mov r8, QWORD PTR native$[rbp] 009ce 48 8b 95 c8 00 00 00 mov rdx, QWORD PTR config$[rbp] 009d5 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 009dc ff 15 d8 1a 00 00 call QWORD PTR _glfw+6872 009e2 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR window$[rbp] 009e9 48 89 81 90 02 00 00 mov QWORD PTR [rcx+656], rax ; 717 : eglCreatePlatformWindowSurfaceEXT(_glfw.egl.display, config, native, attribs); ; 718 : } 009f0 eb 2d jmp SHORT $LN41@glfwCreate $LN40@glfwCreate: ; 719 : else ; 720 : { ; 721 : window->context.egl.surface = 009f2 4c 8d 4d 10 lea r9, QWORD PTR attribs$[rbp] 009f6 4c 8b 85 08 01 00 00 mov r8, QWORD PTR native$[rbp] 009fd 48 8b 95 c8 00 00 00 mov rdx, QWORD PTR config$[rbp] 00a04 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 00a0b ff 15 a0 1a 00 00 call QWORD PTR _glfw+6816 00a11 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR window$[rbp] 00a18 48 89 81 90 02 00 00 mov QWORD PTR [rcx+656], rax $LN41@glfwCreate: ; 722 : eglCreateWindowSurface(_glfw.egl.display, config, native, attribs); ; 723 : } ; 724 : ; 725 : if (window->context.egl.surface == EGL_NO_SURFACE) 00a1f 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00a26 48 83 b8 90 02 00 00 00 cmp QWORD PTR [rax+656], 0 00a2e 75 28 jne SHORT $LN42@glfwCreate ; 726 : { ; 727 : _glfwInputError(GLFW_PLATFORM_ERROR, 00a30 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 00a36 8b c8 mov ecx, eax 00a38 e8 00 00 00 00 call getEGLErrorString 00a3d 4c 8b c0 mov r8, rax 00a40 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@MHLGDLLP@EGL?3?5Failed?5to?5create?5window?5su@ 00a47 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00a4c e8 00 00 00 00 call _glfwInputError ; 728 : "EGL: Failed to create window surface: %s", ; 729 : getEGLErrorString(eglGetError())); ; 730 : return GLFW_FALSE; 00a51 33 c0 xor eax, eax 00a53 e9 30 02 00 00 jmp $LN1@glfwCreate $LN42@glfwCreate: ; 731 : } ; 732 : ; 733 : window->context.egl.config = config; 00a58 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00a5f 48 8b 8d c8 00 00 00 mov rcx, QWORD PTR config$[rbp] 00a66 48 89 88 80 02 00 00 mov QWORD PTR [rax+640], rcx ; 734 : ; 735 : // Load the appropriate client library ; 736 : if (!_glfw.egl.KHR_get_all_proc_addresses) 00a6d 83 3d 18 1a 00 00 00 cmp DWORD PTR _glfw+6680, 0 00a74 0f 85 8b 01 00 00 jne $LN43@glfwCreate ; 737 : { ; 738 : int i; ; 739 : const char** sonames; ; 740 : const char* es1sonames[] = 00a7a 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0O@KOJFNJDA@GLESv1_CM?4dll@ 00a81 48 89 85 c8 01 00 00 mov QWORD PTR es1sonames$12[rbp], rax 00a88 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0P@MADFBLIB@libGLES_CM?4dll@ 00a8f 48 89 85 d0 01 00 00 mov QWORD PTR es1sonames$12[rbp+8], rax 00a96 48 c7 85 d8 01 00 00 00 00 00 00 mov QWORD PTR es1sonames$12[rbp+16], 0 ; 741 : { ; 742 : #if defined(_GLFW_GLESV1_LIBRARY) ; 743 : _GLFW_GLESV1_LIBRARY, ; 744 : #elif defined(_GLFW_WIN32) ; 745 : "GLESv1_CM.dll", ; 746 : "libGLES_CM.dll", ; 747 : #elif defined(_GLFW_COCOA) ; 748 : "libGLESv1_CM.dylib", ; 749 : #elif defined(__OpenBSD__) || defined(__NetBSD__) ; 750 : "libGLESv1_CM.so", ; 751 : #else ; 752 : "libGLESv1_CM.so.1", ; 753 : "libGLES_CM.so.1", ; 754 : #endif ; 755 : NULL ; 756 : }; ; 757 : const char* es2sonames[] = 00aa1 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0L@CEBLLDFF@GLESv2?4dll@ 00aa8 48 89 85 f8 01 00 00 mov QWORD PTR es2sonames$13[rbp], rax 00aaf 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0O@HFAAEHFL@libGLESv2?4dll@ 00ab6 48 89 85 00 02 00 00 mov QWORD PTR es2sonames$13[rbp+8], rax 00abd 48 c7 85 08 02 00 00 00 00 00 00 mov QWORD PTR es2sonames$13[rbp+16], 0 ; 758 : { ; 759 : #if defined(_GLFW_GLESV2_LIBRARY) ; 760 : _GLFW_GLESV2_LIBRARY, ; 761 : #elif defined(_GLFW_WIN32) ; 762 : "GLESv2.dll", ; 763 : "libGLESv2.dll", ; 764 : #elif defined(_GLFW_COCOA) ; 765 : "libGLESv2.dylib", ; 766 : #elif defined(__CYGWIN__) ; 767 : "libGLESv2-2.so", ; 768 : #elif defined(__OpenBSD__) || defined(__NetBSD__) ; 769 : "libGLESv2.so", ; 770 : #else ; 771 : "libGLESv2.so.2", ; 772 : #endif ; 773 : NULL ; 774 : }; ; 775 : const char* glsonames[] = 00ac8 48 c7 85 28 02 00 00 00 00 00 00 mov QWORD PTR glsonames$14[rbp], 0 ; 776 : { ; 777 : #if defined(_GLFW_OPENGL_LIBRARY) ; 778 : _GLFW_OPENGL_LIBRARY, ; 779 : #elif defined(_GLFW_WIN32) ; 780 : #elif defined(_GLFW_COCOA) ; 781 : #elif defined(__OpenBSD__) || defined(__NetBSD__) ; 782 : "libGL.so", ; 783 : #else ; 784 : "libOpenGL.so.0", ; 785 : "libGL.so.1", ; 786 : #endif ; 787 : NULL ; 788 : }; ; 789 : ; 790 : if (ctxconfig->client == GLFW_OPENGL_ES_API) 00ad3 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00ada 81 38 02 00 03 00 cmp DWORD PTR [rax], 196610 ; 00030002H 00ae0 75 2d jne SHORT $LN44@glfwCreate ; 791 : { ; 792 : if (ctxconfig->major == 1) 00ae2 48 8b 85 e8 03 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 00ae9 83 78 08 01 cmp DWORD PTR [rax+8], 1 00aed 75 10 jne SHORT $LN46@glfwCreate ; 793 : sonames = es1sonames; 00aef 48 8d 85 c8 01 00 00 lea rax, QWORD PTR es1sonames$12[rbp] 00af6 48 89 85 a8 01 00 00 mov QWORD PTR sonames$11[rbp], rax 00afd eb 0e jmp SHORT $LN47@glfwCreate $LN46@glfwCreate: ; 794 : else ; 795 : sonames = es2sonames; 00aff 48 8d 85 f8 01 00 00 lea rax, QWORD PTR es2sonames$13[rbp] 00b06 48 89 85 a8 01 00 00 mov QWORD PTR sonames$11[rbp], rax $LN47@glfwCreate: ; 796 : } 00b0d eb 0e jmp SHORT $LN45@glfwCreate $LN44@glfwCreate: ; 797 : else ; 798 : sonames = glsonames; 00b0f 48 8d 85 28 02 00 00 lea rax, QWORD PTR glsonames$14[rbp] 00b16 48 89 85 a8 01 00 00 mov QWORD PTR sonames$11[rbp], rax $LN45@glfwCreate: ; 799 : ; 800 : for (i = 0; sonames[i]; i++) 00b1d c7 85 84 01 00 00 00 00 00 00 mov DWORD PTR i$10[rbp], 0 00b27 eb 0e jmp SHORT $LN4@glfwCreate $LN2@glfwCreate: 00b29 8b 85 84 01 00 00 mov eax, DWORD PTR i$10[rbp] 00b2f ff c0 inc eax 00b31 89 85 84 01 00 00 mov DWORD PTR i$10[rbp], eax $LN4@glfwCreate: 00b37 48 63 85 84 01 00 00 movsxd rax, DWORD PTR i$10[rbp] 00b3e 48 8b 8d a8 01 00 00 mov rcx, QWORD PTR sonames$11[rbp] 00b45 48 83 3c c1 00 cmp QWORD PTR [rcx+rax*8], 0 00b4a 0f 84 8c 00 00 00 je $LN3@glfwCreate ; 801 : { ; 802 : // HACK: Match presence of lib prefix to increase chance of finding ; 803 : // a matching pair in the jungle that is Win32 EGL/GLES ; 804 : if (_glfw.egl.prefix != (strncmp(sonames[i], "lib", 3) == 0)) 00b50 48 63 85 84 01 00 00 movsxd rax, DWORD PTR i$10[rbp] 00b57 41 b8 03 00 00 00 mov r8d, 3 00b5d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_03LPIGJBNC@lib@ 00b64 48 8b 8d a8 01 00 00 mov rcx, QWORD PTR sonames$11[rbp] 00b6b 48 8b 0c c1 mov rcx, QWORD PTR [rcx+rax*8] 00b6f ff 15 00 00 00 00 call QWORD PTR __imp_strncmp 00b75 85 c0 test eax, eax 00b77 75 0c jne SHORT $LN69@glfwCreate 00b79 c7 85 b4 03 00 00 01 00 00 00 mov DWORD PTR tv492[rbp], 1 00b83 eb 0a jmp SHORT $LN70@glfwCreate $LN69@glfwCreate: 00b85 c7 85 b4 03 00 00 00 00 00 00 mov DWORD PTR tv492[rbp], 0 $LN70@glfwCreate: 00b8f 8b 85 b4 03 00 00 mov eax, DWORD PTR tv492[rbp] 00b95 39 05 08 1a 00 00 cmp DWORD PTR _glfw+6664, eax 00b9b 74 02 je SHORT $LN48@glfwCreate ; 805 : continue; 00b9d eb 8a jmp SHORT $LN2@glfwCreate $LN48@glfwCreate: ; 806 : ; 807 : window->context.egl.client = _glfwPlatformLoadModule(sonames[i]); 00b9f 48 63 85 84 01 00 00 movsxd rax, DWORD PTR i$10[rbp] 00ba6 48 8b 8d a8 01 00 00 mov rcx, QWORD PTR sonames$11[rbp] 00bad 48 8b 0c c1 mov rcx, QWORD PTR [rcx+rax*8] 00bb1 e8 00 00 00 00 call _glfwPlatformLoadModule 00bb6 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR window$[rbp] 00bbd 48 89 81 98 02 00 00 mov QWORD PTR [rcx+664], rax ; 808 : if (window->context.egl.client) 00bc4 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00bcb 48 83 b8 98 02 00 00 00 cmp QWORD PTR [rax+664], 0 00bd3 74 02 je SHORT $LN49@glfwCreate ; 809 : break; 00bd5 eb 05 jmp SHORT $LN3@glfwCreate $LN49@glfwCreate: ; 810 : } 00bd7 e9 4d ff ff ff jmp $LN2@glfwCreate $LN3@glfwCreate: ; 811 : ; 812 : if (!window->context.egl.client) 00bdc 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00be3 48 83 b8 98 02 00 00 00 cmp QWORD PTR [rax+664], 0 00beb 75 18 jne SHORT $LN50@glfwCreate ; 813 : { ; 814 : _glfwInputError(GLFW_API_UNAVAILABLE, 00bed 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CD@JDEAKJCI@EGL?3?5Failed?5to?5load?5client?5libr@ 00bf4 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00bf9 e8 00 00 00 00 call _glfwInputError ; 815 : "EGL: Failed to load client library"); ; 816 : return GLFW_FALSE; 00bfe 33 c0 xor eax, eax 00c00 e9 83 00 00 00 jmp $LN1@glfwCreate $LN50@glfwCreate: $LN43@glfwCreate: ; 817 : } ; 818 : } ; 819 : ; 820 : window->context.makeCurrent = makeContextCurrentEGL; 00c05 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c0c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:makeContextCurrentEGL 00c13 48 89 88 50 02 00 00 mov QWORD PTR [rax+592], rcx ; 821 : window->context.swapBuffers = swapBuffersEGL; 00c1a 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c21 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:swapBuffersEGL 00c28 48 89 88 58 02 00 00 mov QWORD PTR [rax+600], rcx ; 822 : window->context.swapInterval = swapIntervalEGL; 00c2f 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c36 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:swapIntervalEGL 00c3d 48 89 88 60 02 00 00 mov QWORD PTR [rax+608], rcx ; 823 : window->context.extensionSupported = extensionSupportedEGL; 00c44 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c4b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:extensionSupportedEGL 00c52 48 89 88 68 02 00 00 mov QWORD PTR [rax+616], rcx ; 824 : window->context.getProcAddress = getProcAddressEGL; 00c59 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c60 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:getProcAddressEGL 00c67 48 89 88 70 02 00 00 mov QWORD PTR [rax+624], rcx ; 825 : window->context.destroy = destroyContextEGL; 00c6e 48 8b 85 e0 03 00 00 mov rax, QWORD PTR window$[rbp] 00c75 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:destroyContextEGL 00c7c 48 89 88 78 02 00 00 mov QWORD PTR [rax+632], rcx ; 826 : ; 827 : return GLFW_TRUE; 00c83 b8 01 00 00 00 mov eax, 1 $LN1@glfwCreate: ; 828 : } 00c88 48 8b f8 mov rdi, rax 00c8b 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 00c8f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwCreateContextEGL$rtcFrameData 00c96 e8 00 00 00 00 call _RTC_CheckStackVars 00c9b 48 8b c7 mov rax, rdi 00c9e 48 8b 8d b8 03 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00ca5 48 33 cd xor rcx, rbp 00ca8 e8 00 00 00 00 call __security_check_cookie 00cad 48 8d a5 c8 03 00 00 lea rsp, QWORD PTR [rbp+968] 00cb4 5f pop rdi 00cb5 5d pop rbp 00cb6 c3 ret 0 _glfwCreateContextEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT _glfwTerminateEGL _TEXT SEGMENT _glfwTerminateEGL PROC ; COMDAT ; 543 : { $LN5: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 544 : if (_glfw.egl.display) 0001b 48 83 3d f8 19 00 00 00 cmp QWORD PTR _glfw+6648, 0 00023 74 18 je SHORT $LN2@glfwTermin ; 545 : { ; 546 : eglTerminate(_glfw.egl.display); 00025 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 0002c ff 15 78 1a 00 00 call QWORD PTR _glfw+6776 ; 547 : _glfw.egl.display = EGL_NO_DISPLAY; 00032 48 c7 05 f8 19 00 00 00 00 00 00 mov QWORD PTR _glfw+6648, 0 $LN2@glfwTermin: ; 548 : } ; 549 : ; 550 : if (_glfw.egl.handle) 0003d 48 83 3d 48 1a 00 00 00 cmp QWORD PTR _glfw+6728, 0 00045 74 17 je SHORT $LN3@glfwTermin ; 551 : { ; 552 : _glfwPlatformFreeModule(_glfw.egl.handle); 00047 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 0004e e8 00 00 00 00 call _glfwPlatformFreeModule ; 553 : _glfw.egl.handle = NULL; 00053 48 c7 05 48 1a 00 00 00 00 00 00 mov QWORD PTR _glfw+6728, 0 $LN3@glfwTermin: ; 554 : } ; 555 : } 0005e 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00065 5f pop rdi 00066 5d pop rbp 00067 c3 ret 0 _glfwTerminateEGL ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\egl_context.c ; COMDAT _glfwInitEGL _TEXT SEGMENT i$ = 4 attribs$ = 40 extensions$ = 72 sonames$ = 104 tv87 = 324 __$ArrayPad$ = 328 _glfwInitEGL PROC ; COMDAT ; 361 : { $LN20: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec 78 01 00 00 sub rsp, 376 ; 00000178H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00014 b9 26 00 00 00 mov ecx, 38 ; 00000026H 00019 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0001e f3 ab rep stosd 00020 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00027 48 33 c5 xor rax, rbp 0002a 48 89 85 48 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00031 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E9A20A45_egl_context@c 00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 362 : int i; ; 363 : EGLint* attribs = NULL; 0003d 48 c7 45 28 00 00 00 00 mov QWORD PTR attribs$[rbp], 0 ; 364 : const char* extensions; ; 365 : const char* sonames[] = 00045 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0L@ELKKGGMD@libEGL?4dll@ 0004c 48 89 45 68 mov QWORD PTR sonames$[rbp], rax 00050 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_07EAKGIKCB@EGL?4dll@ 00057 48 89 45 70 mov QWORD PTR sonames$[rbp+8], rax 0005b 48 c7 45 78 00 00 00 00 mov QWORD PTR sonames$[rbp+16], 0 ; 366 : { ; 367 : #if defined(_GLFW_EGL_LIBRARY) ; 368 : _GLFW_EGL_LIBRARY, ; 369 : #elif defined(_GLFW_WIN32) ; 370 : "libEGL.dll", ; 371 : "EGL.dll", ; 372 : #elif defined(_GLFW_COCOA) ; 373 : "libEGL.dylib", ; 374 : #elif defined(__CYGWIN__) ; 375 : "libEGL-1.so", ; 376 : #elif defined(__OpenBSD__) || defined(__NetBSD__) ; 377 : "libEGL.so", ; 378 : #else ; 379 : "libEGL.so.1", ; 380 : #endif ; 381 : NULL ; 382 : }; ; 383 : ; 384 : if (_glfw.egl.handle) 00063 48 83 3d 48 1a 00 00 00 cmp QWORD PTR _glfw+6728, 0 0006b 74 0a je SHORT $LN5@glfwInitEG ; 385 : return GLFW_TRUE; 0006d b8 01 00 00 00 mov eax, 1 00072 e9 75 05 00 00 jmp $LN1@glfwInitEG $LN5@glfwInitEG: ; 386 : ; 387 : for (i = 0; sonames[i]; i++) 00077 c7 45 04 00 00 00 00 mov DWORD PTR i$[rbp], 0 0007e eb 08 jmp SHORT $LN4@glfwInitEG $LN2@glfwInitEG: 00080 8b 45 04 mov eax, DWORD PTR i$[rbp] 00083 ff c0 inc eax 00085 89 45 04 mov DWORD PTR i$[rbp], eax $LN4@glfwInitEG: 00088 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] 0008c 48 83 7c c5 68 00 cmp QWORD PTR sonames$[rbp+rax*8], 0 00092 74 23 je SHORT $LN3@glfwInitEG ; 388 : { ; 389 : _glfw.egl.handle = _glfwPlatformLoadModule(sonames[i]); 00094 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] 00098 48 8b 4c c5 68 mov rcx, QWORD PTR sonames$[rbp+rax*8] 0009d e8 00 00 00 00 call _glfwPlatformLoadModule 000a2 48 89 05 48 1a 00 00 mov QWORD PTR _glfw+6728, rax ; 390 : if (_glfw.egl.handle) 000a9 48 83 3d 48 1a 00 00 00 cmp QWORD PTR _glfw+6728, 0 000b1 74 02 je SHORT $LN6@glfwInitEG ; 391 : break; 000b3 eb 02 jmp SHORT $LN3@glfwInitEG $LN6@glfwInitEG: ; 392 : } 000b5 eb c9 jmp SHORT $LN2@glfwInitEG $LN3@glfwInitEG: ; 393 : ; 394 : if (!_glfw.egl.handle) 000b7 48 83 3d 48 1a 00 00 00 cmp QWORD PTR _glfw+6728, 0 000bf 75 18 jne SHORT $LN7@glfwInitEG ; 395 : { ; 396 : _glfwInputError(GLFW_API_UNAVAILABLE, "EGL: Library not found"); 000c1 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BH@NFNALLIN@EGL?3?5Library?5not?5found@ 000c8 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 000cd e8 00 00 00 00 call _glfwInputError ; 397 : return GLFW_FALSE; 000d2 33 c0 xor eax, eax 000d4 e9 13 05 00 00 jmp $LN1@glfwInitEG $LN7@glfwInitEG: ; 398 : } ; 399 : ; 400 : _glfw.egl.prefix = (strncmp(sonames[i], "lib", 3) == 0); 000d9 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] 000dd 41 b8 03 00 00 00 mov r8d, 3 000e3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_03LPIGJBNC@lib@ 000ea 48 8b 4c c5 68 mov rcx, QWORD PTR sonames$[rbp+rax*8] 000ef ff 15 00 00 00 00 call QWORD PTR __imp_strncmp 000f5 85 c0 test eax, eax 000f7 75 0c jne SHORT $LN18@glfwInitEG 000f9 c7 85 44 01 00 00 01 00 00 00 mov DWORD PTR tv87[rbp], 1 00103 eb 0a jmp SHORT $LN19@glfwInitEG $LN18@glfwInitEG: 00105 c7 85 44 01 00 00 00 00 00 00 mov DWORD PTR tv87[rbp], 0 $LN19@glfwInitEG: 0010f 8b 85 44 01 00 00 mov eax, DWORD PTR tv87[rbp] 00115 89 05 08 1a 00 00 mov DWORD PTR _glfw+6664, eax ; 401 : ; 402 : _glfw.egl.GetConfigAttrib = (PFN_eglGetConfigAttrib) 0011b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BD@MAEGKKAE@eglGetConfigAttrib@ 00122 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00129 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 0012e 48 89 05 50 1a 00 00 mov QWORD PTR _glfw+6736, rax ; 403 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglGetConfigAttrib"); ; 404 : _glfw.egl.GetConfigs = (PFN_eglGetConfigs) 00135 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0O@OMNEJBKO@eglGetConfigs@ 0013c 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00143 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00148 48 89 05 58 1a 00 00 mov QWORD PTR _glfw+6744, rax ; 405 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglGetConfigs"); ; 406 : _glfw.egl.GetDisplay = (PFN_eglGetDisplay) 0014f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0O@BMJFLKOA@eglGetDisplay@ 00156 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 0015d e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00162 48 89 05 60 1a 00 00 mov QWORD PTR _glfw+6752, rax ; 407 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglGetDisplay"); ; 408 : _glfw.egl.GetError = (PFN_eglGetError) 00169 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0M@PPADKGOK@eglGetError@ 00170 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00177 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 0017c 48 89 05 68 1a 00 00 mov QWORD PTR _glfw+6760, rax ; 409 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglGetError"); ; 410 : _glfw.egl.Initialize = (PFN_eglInitialize) 00183 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0O@EEJFKEKH@eglInitialize@ 0018a 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00191 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00196 48 89 05 70 1a 00 00 mov QWORD PTR _glfw+6768, rax ; 411 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglInitialize"); ; 412 : _glfw.egl.Terminate = (PFN_eglTerminate) 0019d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0N@IGFNFAOP@eglTerminate@ 001a4 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 001ab e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 001b0 48 89 05 78 1a 00 00 mov QWORD PTR _glfw+6776, rax ; 413 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglTerminate"); ; 414 : _glfw.egl.BindAPI = (PFN_eglBindAPI) 001b7 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0L@HJOCIPHF@eglBindAPI@ 001be 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 001c5 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 001ca 48 89 05 80 1a 00 00 mov QWORD PTR _glfw+6784, rax ; 415 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglBindAPI"); ; 416 : _glfw.egl.CreateContext = (PFN_eglCreateContext) 001d1 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BB@KEKMNHDF@eglCreateContext@ 001d8 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 001df e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 001e4 48 89 05 88 1a 00 00 mov QWORD PTR _glfw+6792, rax ; 417 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglCreateContext"); ; 418 : _glfw.egl.DestroySurface = (PFN_eglDestroySurface) 001eb 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BC@ICHKG@eglDestroySurface@ 001f2 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 001f9 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 001fe 48 89 05 90 1a 00 00 mov QWORD PTR _glfw+6800, rax ; 419 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglDestroySurface"); ; 420 : _glfw.egl.DestroyContext = (PFN_eglDestroyContext) 00205 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BC@BNOBCLNJ@eglDestroyContext@ 0020c 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00213 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00218 48 89 05 98 1a 00 00 mov QWORD PTR _glfw+6808, rax ; 421 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglDestroyContext"); ; 422 : _glfw.egl.CreateWindowSurface = (PFN_eglCreateWindowSurface) 0021f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BH@MDMCFBDG@eglCreateWindowSurface@ 00226 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 0022d e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00232 48 89 05 a0 1a 00 00 mov QWORD PTR _glfw+6816, rax ; 423 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglCreateWindowSurface"); ; 424 : _glfw.egl.MakeCurrent = (PFN_eglMakeCurrent) 00239 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0P@PNPBPNLI@eglMakeCurrent@ 00240 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00247 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 0024c 48 89 05 a8 1a 00 00 mov QWORD PTR _glfw+6824, rax ; 425 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglMakeCurrent"); ; 426 : _glfw.egl.SwapBuffers = (PFN_eglSwapBuffers) 00253 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0P@DEBOOHKH@eglSwapBuffers@ 0025a 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00261 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00266 48 89 05 b0 1a 00 00 mov QWORD PTR _glfw+6832, rax ; 427 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglSwapBuffers"); ; 428 : _glfw.egl.SwapInterval = (PFN_eglSwapInterval) 0026d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BA@BGJPOLDF@eglSwapInterval@ 00274 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 0027b e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 00280 48 89 05 b8 1a 00 00 mov QWORD PTR _glfw+6840, rax ; 429 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglSwapInterval"); ; 430 : _glfw.egl.QueryString = (PFN_eglQueryString) 00287 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0P@HJKEKLKD@eglQueryString@ 0028e 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 00295 e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 0029a 48 89 05 c0 1a 00 00 mov QWORD PTR _glfw+6848, rax ; 431 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglQueryString"); ; 432 : _glfw.egl.GetProcAddress = (PFN_eglGetProcAddress) 002a1 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BC@HONLJDPH@eglGetProcAddress@ 002a8 48 8b 0d 48 1a 00 00 mov rcx, QWORD PTR _glfw+6728 002af e8 00 00 00 00 call _glfwPlatformGetModuleSymbol 002b4 48 89 05 c8 1a 00 00 mov QWORD PTR _glfw+6856, rax ; 433 : _glfwPlatformGetModuleSymbol(_glfw.egl.handle, "eglGetProcAddress"); ; 434 : ; 435 : if (!_glfw.egl.GetConfigAttrib || ; 436 : !_glfw.egl.GetConfigs || ; 437 : !_glfw.egl.GetDisplay || ; 438 : !_glfw.egl.GetError || ; 439 : !_glfw.egl.Initialize || ; 440 : !_glfw.egl.Terminate || ; 441 : !_glfw.egl.BindAPI || ; 442 : !_glfw.egl.CreateContext || ; 443 : !_glfw.egl.DestroySurface || ; 444 : !_glfw.egl.DestroyContext || ; 445 : !_glfw.egl.CreateWindowSurface || ; 446 : !_glfw.egl.MakeCurrent || ; 447 : !_glfw.egl.SwapBuffers || ; 448 : !_glfw.egl.SwapInterval || ; 449 : !_glfw.egl.QueryString || 002bb 48 83 3d 50 1a 00 00 00 cmp QWORD PTR _glfw+6736, 0 002c3 0f 84 9e 00 00 00 je $LN9@glfwInitEG 002c9 48 83 3d 58 1a 00 00 00 cmp QWORD PTR _glfw+6744, 0 002d1 0f 84 90 00 00 00 je $LN9@glfwInitEG 002d7 48 83 3d 60 1a 00 00 00 cmp QWORD PTR _glfw+6752, 0 002df 0f 84 82 00 00 00 je $LN9@glfwInitEG 002e5 48 83 3d 68 1a 00 00 00 cmp QWORD PTR _glfw+6760, 0 002ed 74 78 je SHORT $LN9@glfwInitEG 002ef 48 83 3d 70 1a 00 00 00 cmp QWORD PTR _glfw+6768, 0 002f7 74 6e je SHORT $LN9@glfwInitEG 002f9 48 83 3d 78 1a 00 00 00 cmp QWORD PTR _glfw+6776, 0 00301 74 64 je SHORT $LN9@glfwInitEG 00303 48 83 3d 80 1a 00 00 00 cmp QWORD PTR _glfw+6784, 0 0030b 74 5a je SHORT $LN9@glfwInitEG 0030d 48 83 3d 88 1a 00 00 00 cmp QWORD PTR _glfw+6792, 0 00315 74 50 je SHORT $LN9@glfwInitEG 00317 48 83 3d 90 1a 00 00 00 cmp QWORD PTR _glfw+6800, 0 0031f 74 46 je SHORT $LN9@glfwInitEG 00321 48 83 3d 98 1a 00 00 00 cmp QWORD PTR _glfw+6808, 0 00329 74 3c je SHORT $LN9@glfwInitEG 0032b 48 83 3d a0 1a 00 00 00 cmp QWORD PTR _glfw+6816, 0 00333 74 32 je SHORT $LN9@glfwInitEG 00335 48 83 3d a8 1a 00 00 00 cmp QWORD PTR _glfw+6824, 0 0033d 74 28 je SHORT $LN9@glfwInitEG 0033f 48 83 3d b0 1a 00 00 00 cmp QWORD PTR _glfw+6832, 0 00347 74 1e je SHORT $LN9@glfwInitEG 00349 48 83 3d b8 1a 00 00 00 cmp QWORD PTR _glfw+6840, 0 00351 74 14 je SHORT $LN9@glfwInitEG 00353 48 83 3d c0 1a 00 00 00 cmp QWORD PTR _glfw+6848, 0 0035b 74 0a je SHORT $LN9@glfwInitEG 0035d 48 83 3d c8 1a 00 00 00 cmp QWORD PTR _glfw+6856, 0 00365 75 1d jne SHORT $LN8@glfwInitEG $LN9@glfwInitEG: ; 450 : !_glfw.egl.GetProcAddress) ; 451 : { ; 452 : _glfwInputError(GLFW_PLATFORM_ERROR, 00367 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CK@DCPJCPHH@EGL?3?5Failed?5to?5load?5required?5en@ 0036e b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00373 e8 00 00 00 00 call _glfwInputError ; 453 : "EGL: Failed to load required entry points"); ; 454 : ; 455 : _glfwTerminateEGL(); 00378 e8 00 00 00 00 call _glfwTerminateEGL ; 456 : return GLFW_FALSE; 0037d 33 c0 xor eax, eax 0037f e9 68 02 00 00 jmp $LN1@glfwInitEG $LN8@glfwInitEG: ; 457 : } ; 458 : ; 459 : extensions = eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS); 00384 ba 55 30 00 00 mov edx, 12373 ; 00003055H 00389 33 c9 xor ecx, ecx 0038b ff 15 c0 1a 00 00 call QWORD PTR _glfw+6848 00391 48 89 45 48 mov QWORD PTR extensions$[rbp], rax ; 460 : if (extensions && eglGetError() == EGL_SUCCESS) 00395 48 83 7d 48 00 cmp QWORD PTR extensions$[rbp], 0 0039a 74 17 je SHORT $LN10@glfwInitEG 0039c ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 003a2 3d 00 30 00 00 cmp eax, 12288 ; 00003000H 003a7 75 0a jne SHORT $LN10@glfwInitEG ; 461 : _glfw.egl.EXT_client_extensions = GLFW_TRUE; 003a9 c7 05 20 1a 00 00 01 00 00 00 mov DWORD PTR _glfw+6688, 1 $LN10@glfwInitEG: ; 462 : ; 463 : if (_glfw.egl.EXT_client_extensions) 003b3 83 3d 20 1a 00 00 00 cmp DWORD PTR _glfw+6688, 0 003ba 0f 84 b0 00 00 00 je $LN11@glfwInitEG ; 464 : { ; 465 : _glfw.egl.EXT_platform_base = 003c0 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 003c4 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@IPJFJLIC@EGL_EXT_platform_base@ 003cb e8 00 00 00 00 call _glfwStringInExtensionString 003d0 89 05 24 1a 00 00 mov DWORD PTR _glfw+6692, eax ; 466 : _glfwStringInExtensionString("EGL_EXT_platform_base", extensions); ; 467 : _glfw.egl.EXT_platform_x11 = 003d6 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 003da 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@FMIKFMMH@EGL_EXT_platform_x11@ 003e1 e8 00 00 00 00 call _glfwStringInExtensionString 003e6 89 05 28 1a 00 00 mov DWORD PTR _glfw+6696, eax ; 468 : _glfwStringInExtensionString("EGL_EXT_platform_x11", extensions); ; 469 : _glfw.egl.EXT_platform_wayland = 003ec 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 003f0 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@KIPDFNMM@EGL_EXT_platform_wayland@ 003f7 e8 00 00 00 00 call _glfwStringInExtensionString 003fc 89 05 2c 1a 00 00 mov DWORD PTR _glfw+6700, eax ; 470 : _glfwStringInExtensionString("EGL_EXT_platform_wayland", extensions); ; 471 : _glfw.egl.ANGLE_platform_angle = 00402 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 00406 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@MBCLFEBK@EGL_ANGLE_platform_angle@ 0040d e8 00 00 00 00 call _glfwStringInExtensionString 00412 89 05 34 1a 00 00 mov DWORD PTR _glfw+6708, eax ; 472 : _glfwStringInExtensionString("EGL_ANGLE_platform_angle", extensions); ; 473 : _glfw.egl.ANGLE_platform_angle_opengl = 00418 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 0041c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CA@NIHAEPLD@EGL_ANGLE_platform_angle_opengl@ 00423 e8 00 00 00 00 call _glfwStringInExtensionString 00428 89 05 38 1a 00 00 mov DWORD PTR _glfw+6712, eax ; 474 : _glfwStringInExtensionString("EGL_ANGLE_platform_angle_opengl", extensions); ; 475 : _glfw.egl.ANGLE_platform_angle_d3d = 0042e 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 00432 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BN@OHLJPDPM@EGL_ANGLE_platform_angle_d3d@ 00439 e8 00 00 00 00 call _glfwStringInExtensionString 0043e 89 05 3c 1a 00 00 mov DWORD PTR _glfw+6716, eax ; 476 : _glfwStringInExtensionString("EGL_ANGLE_platform_angle_d3d", extensions); ; 477 : _glfw.egl.ANGLE_platform_angle_vulkan = 00444 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 00448 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CA@HGIOILGO@EGL_ANGLE_platform_angle_vulkan@ 0044f e8 00 00 00 00 call _glfwStringInExtensionString 00454 89 05 40 1a 00 00 mov DWORD PTR _glfw+6720, eax ; 478 : _glfwStringInExtensionString("EGL_ANGLE_platform_angle_vulkan", extensions); ; 479 : _glfw.egl.ANGLE_platform_angle_metal = 0045a 48 8b 55 48 mov rdx, QWORD PTR extensions$[rbp] 0045e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BP@NMKFFDCO@EGL_ANGLE_platform_angle_metal@ 00465 e8 00 00 00 00 call _glfwStringInExtensionString 0046a 89 05 44 1a 00 00 mov DWORD PTR _glfw+6724, eax $LN11@glfwInitEG: ; 480 : _glfwStringInExtensionString("EGL_ANGLE_platform_angle_metal", extensions); ; 481 : } ; 482 : ; 483 : if (_glfw.egl.EXT_platform_base) 00470 83 3d 24 1a 00 00 00 cmp DWORD PTR _glfw+6692, 0 00477 74 28 je SHORT $LN12@glfwInitEG ; 484 : { ; 485 : _glfw.egl.GetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYEXTPROC) 00479 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@KEAIGPHD@eglGetPlatformDisplayEXT@ 00480 ff 15 c8 1a 00 00 call QWORD PTR _glfw+6856 00486 48 89 05 d0 1a 00 00 mov QWORD PTR _glfw+6864, rax ; 486 : eglGetProcAddress("eglGetPlatformDisplayEXT"); ; 487 : _glfw.egl.CreatePlatformWindowSurfaceEXT = (PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) 0048d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CC@NGDHIGBI@eglCreatePlatformWindowSurfaceE@ 00494 ff 15 c8 1a 00 00 call QWORD PTR _glfw+6856 0049a 48 89 05 d8 1a 00 00 mov QWORD PTR _glfw+6872, rax $LN12@glfwInitEG: ; 488 : eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT"); ; 489 : } ; 490 : ; 491 : _glfw.egl.platform = _glfw.platform.getEGLPlatform(&attribs); 004a1 48 8d 4d 28 lea rcx, QWORD PTR attribs$[rbp] 004a5 ff 15 38 02 00 00 call QWORD PTR _glfw+568 004ab 89 05 f0 19 00 00 mov DWORD PTR _glfw+6640, eax ; 492 : if (_glfw.egl.platform) 004b1 83 3d f0 19 00 00 00 cmp DWORD PTR _glfw+6640, 0 004b8 74 22 je SHORT $LN13@glfwInitEG ; 493 : { ; 494 : _glfw.egl.display = 004ba ff 15 40 02 00 00 call QWORD PTR _glfw+576 004c0 4c 8b 45 28 mov r8, QWORD PTR attribs$[rbp] 004c4 48 8b d0 mov rdx, rax 004c7 8b 0d f0 19 00 00 mov ecx, DWORD PTR _glfw+6640 004cd ff 15 d0 1a 00 00 call QWORD PTR _glfw+6864 004d3 48 89 05 f8 19 00 00 mov QWORD PTR _glfw+6648, rax ; 495 : eglGetPlatformDisplayEXT(_glfw.egl.platform, ; 496 : _glfw.platform.getEGLNativeDisplay(), ; 497 : attribs); ; 498 : } 004da eb 16 jmp SHORT $LN14@glfwInitEG $LN13@glfwInitEG: ; 499 : else ; 500 : _glfw.egl.display = eglGetDisplay(_glfw.platform.getEGLNativeDisplay()); 004dc ff 15 40 02 00 00 call QWORD PTR _glfw+576 004e2 48 8b c8 mov rcx, rax 004e5 ff 15 60 1a 00 00 call QWORD PTR _glfw+6752 004eb 48 89 05 f8 19 00 00 mov QWORD PTR _glfw+6648, rax $LN14@glfwInitEG: ; 501 : ; 502 : _glfw_free(attribs); 004f2 48 8b 4d 28 mov rcx, QWORD PTR attribs$[rbp] 004f6 e8 00 00 00 00 call _glfw_free ; 503 : ; 504 : if (_glfw.egl.display == EGL_NO_DISPLAY) 004fb 48 83 3d f8 19 00 00 00 cmp QWORD PTR _glfw+6648, 0 00503 75 2d jne SHORT $LN15@glfwInitEG ; 505 : { ; 506 : _glfwInputError(GLFW_API_UNAVAILABLE, 00505 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 0050b 8b c8 mov ecx, eax 0050d e8 00 00 00 00 call getEGLErrorString 00512 4c 8b c0 mov r8, rax 00515 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CD@CODEPNKE@EGL?3?5Failed?5to?5get?5EGL?5display?3@ 0051c b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00521 e8 00 00 00 00 call _glfwInputError ; 507 : "EGL: Failed to get EGL display: %s", ; 508 : getEGLErrorString(eglGetError())); ; 509 : ; 510 : _glfwTerminateEGL(); 00526 e8 00 00 00 00 call _glfwTerminateEGL ; 511 : return GLFW_FALSE; 0052b 33 c0 xor eax, eax 0052d e9 ba 00 00 00 jmp $LN1@glfwInitEG $LN15@glfwInitEG: ; 512 : } ; 513 : ; 514 : if (!eglInitialize(_glfw.egl.display, &_glfw.egl.major, &_glfw.egl.minor)) 00532 4c 8d 05 04 1a 00 00 lea r8, OFFSET FLAT:_glfw+6660 00539 48 8d 15 00 1a 00 00 lea rdx, OFFSET FLAT:_glfw+6656 00540 48 8b 0d f8 19 00 00 mov rcx, QWORD PTR _glfw+6648 00547 ff 15 70 1a 00 00 call QWORD PTR _glfw+6768 0054d 85 c0 test eax, eax 0054f 75 2a jne SHORT $LN16@glfwInitEG ; 515 : { ; 516 : _glfwInputError(GLFW_API_UNAVAILABLE, 00551 ff 15 68 1a 00 00 call QWORD PTR _glfw+6760 00557 8b c8 mov ecx, eax 00559 e8 00 00 00 00 call getEGLErrorString 0055e 4c 8b c0 mov r8, rax 00561 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CC@DOIEFDD@EGL?3?5Failed?5to?5initialize?5EGL?3?5@ 00568 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 0056d e8 00 00 00 00 call _glfwInputError ; 517 : "EGL: Failed to initialize EGL: %s", ; 518 : getEGLErrorString(eglGetError())); ; 519 : ; 520 : _glfwTerminateEGL(); 00572 e8 00 00 00 00 call _glfwTerminateEGL ; 521 : return GLFW_FALSE; 00577 33 c0 xor eax, eax 00579 eb 71 jmp SHORT $LN1@glfwInitEG $LN16@glfwInitEG: ; 522 : } ; 523 : ; 524 : _glfw.egl.KHR_create_context = 0057b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@GIBFIFPN@EGL_KHR_create_context@ 00582 e8 00 00 00 00 call extensionSupportedEGL 00587 89 05 0c 1a 00 00 mov DWORD PTR _glfw+6668, eax ; 525 : extensionSupportedEGL("EGL_KHR_create_context"); ; 526 : _glfw.egl.KHR_create_context_no_error = 0058d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0CA@OJFEOPKP@EGL_KHR_create_context_no_error@ 00594 e8 00 00 00 00 call extensionSupportedEGL 00599 89 05 10 1a 00 00 mov DWORD PTR _glfw+6672, eax ; 527 : extensionSupportedEGL("EGL_KHR_create_context_no_error"); ; 528 : _glfw.egl.KHR_gl_colorspace = 0059f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@GOAKKGGB@EGL_KHR_gl_colorspace@ 005a6 e8 00 00 00 00 call extensionSupportedEGL 005ab 89 05 14 1a 00 00 mov DWORD PTR _glfw+6676, eax ; 529 : extensionSupportedEGL("EGL_KHR_gl_colorspace"); ; 530 : _glfw.egl.KHR_get_all_proc_addresses = 005b1 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BP@CDGGFNNF@EGL_KHR_get_all_proc_addresses@ 005b8 e8 00 00 00 00 call extensionSupportedEGL 005bd 89 05 18 1a 00 00 mov DWORD PTR _glfw+6680, eax ; 531 : extensionSupportedEGL("EGL_KHR_get_all_proc_addresses"); ; 532 : _glfw.egl.KHR_context_flush_control = 005c3 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BO@IDEEMGNC@EGL_KHR_context_flush_control@ 005ca e8 00 00 00 00 call extensionSupportedEGL 005cf 89 05 1c 1a 00 00 mov DWORD PTR _glfw+6684, eax ; 533 : extensionSupportedEGL("EGL_KHR_context_flush_control"); ; 534 : _glfw.egl.EXT_present_opaque = 005d5 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@JADLEPAM@EGL_EXT_present_opaque@ 005dc e8 00 00 00 00 call extensionSupportedEGL 005e1 89 05 30 1a 00 00 mov DWORD PTR _glfw+6704, eax ; 535 : extensionSupportedEGL("EGL_EXT_present_opaque"); ; 536 : ; 537 : return GLFW_TRUE; 005e7 b8 01 00 00 00 mov eax, 1 $LN1@glfwInitEG: ; 538 : } 005ec 48 8b f8 mov rdi, rax 005ef 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 005f3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwInitEGL$rtcFrameData 005fa e8 00 00 00 00 call _RTC_CheckStackVars 005ff 48 8b c7 mov rax, rdi 00602 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00609 48 33 cd xor rcx, rbp 0060c e8 00 00 00 00 call __security_check_cookie 00611 48 8d a5 58 01 00 00 lea rsp, QWORD PTR [rbp+344] 00618 5f pop rdi 00619 5d pop rbp 0061a c3 ret 0 _glfwInitEGL ENDP _TEXT ENDS END