MCPcopy Create free account
hub / github.com/IppClub/Dora-SSR / loadRenderDoc

Function loadRenderDoc

Source/3rdParty/bgfx/src/debug_renderdoc.cpp:70–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68 static void* s_renderDocDll = NULL;
69
70 void* loadRenderDoc()
71 {
72 if (NULL != s_renderDoc)
73 {
74 return s_renderDocDll;
75 }
76
77 // Skip loading RenderDoc when IntelGPA is present to avoid RenderDoc crash.
78 if (findModule(BX_ARCH_32BIT ? "shimloader32.dll" : "shimloader64.dll") )
79 {
80 return NULL;
81 }
82
83 // If RenderDoc is already injected in the process then use the already present DLL
84 void* renderDocDll = findModule("renderdoc.dll");
85 if (NULL == renderDocDll)
86 {
87 // TODO: try common installation paths before looking in current directory
88 renderDocDll = bx::dlopen(
89#if BX_PLATFORM_WINDOWS
90 "renderdoc.dll"
91#else
92 "./librenderdoc.so"
93#endif // BX_PLATFORM_WINDOWS
94 );
95 }
96
97 if (NULL != renderDocDll)
98 {
99 RENDERDOC_GetAPI = (pRENDERDOC_GetAPI)bx::dlsym(renderDocDll, "RENDERDOC_GetAPI");
100
101 if (NULL != RENDERDOC_GetAPI
102 && 1 == RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_1_2, (void**)&s_renderDoc) )
103 {
104 s_renderDoc->SetCaptureFilePathTemplate(BGFX_CONFIG_RENDERDOC_LOG_FILEPATH);
105
106 s_renderDoc->SetFocusToggleKeys(NULL, 0);
107
108 RENDERDOC_InputButton captureKeys[] = BGFX_CONFIG_RENDERDOC_CAPTURE_KEYS;
109 s_renderDoc->SetCaptureKeys(captureKeys, BX_COUNTOF(captureKeys) );
110
111 s_renderDoc->SetCaptureOptionU32(eRENDERDOC_Option_AllowVSync, 1);
112 s_renderDoc->SetCaptureOptionU32(eRENDERDOC_Option_SaveAllInitials, 1);
113
114 s_renderDoc->MaskOverlayBits(eRENDERDOC_Overlay_None, eRENDERDOC_Overlay_None);
115
116 s_renderDocDll = renderDocDll;
117 }
118 else
119 {
120 bx::dlclose(renderDocDll);
121 renderDocDll = NULL;
122 }
123 }
124
125 return renderDocDll;
126 }
127

Callers 4

initMethod · 0.85
initMethod · 0.85
initMethod · 0.85
initMethod · 0.85

Calls 4

findModuleFunction · 0.85
dlopenFunction · 0.85
dlsymFunction · 0.85
dlcloseFunction · 0.85

Tested by

no test coverage detected