| 338 | } |
| 339 | |
| 340 | void GLReplay::InitDebugData() |
| 341 | { |
| 342 | if(m_pDriver == NULL) |
| 343 | return; |
| 344 | |
| 345 | // don't reflect any shaders or programs we make |
| 346 | m_pDriver->PushInternalShader(); |
| 347 | |
| 348 | m_HighlightCache.driver = m_pDriver->GetReplay(); |
| 349 | |
| 350 | RenderDoc::Inst().SetProgress(LoadProgress::DebugManagerInit, 0.0f); |
| 351 | |
| 352 | { |
| 353 | WindowingData window = {WindowingSystem::Headless}; |
| 354 | uint64_t id = MakeOutputWindow(window, true); |
| 355 | |
| 356 | m_DebugCtx = NULL; |
| 357 | |
| 358 | if(id == 0) |
| 359 | return; |
| 360 | |
| 361 | m_DebugID = id; |
| 362 | m_DebugCtx = &m_OutputWindows[id]; |
| 363 | |
| 364 | MakeCurrentReplayContext(m_DebugCtx); |
| 365 | |
| 366 | m_pDriver->RegisterDebugCallback(); |
| 367 | } |
| 368 | |
| 369 | WrappedOpenGL &drv = *m_pDriver; |
| 370 | |
| 371 | DebugData.outWidth = 0.0f; |
| 372 | DebugData.outHeight = 0.0f; |
| 373 | |
| 374 | rdcstr vs; |
| 375 | rdcstr fs; |
| 376 | rdcstr gs; |
| 377 | rdcstr cs; |
| 378 | |
| 379 | ShaderType shaderType; |
| 380 | int glslVersion; |
| 381 | int glslBaseVer; |
| 382 | int glslCSVer; // compute shader |
| 383 | |
| 384 | GetGLSLVersions(shaderType, glslVersion, glslBaseVer, glslCSVer); |
| 385 | |
| 386 | rdcstr texSampleDefines; |
| 387 | |
| 388 | if(IsGLES) |
| 389 | { |
| 390 | if(HasExt[OES_texture_cube_map_array] || HasExt[EXT_texture_cube_map_array] || GLCoreVersion >= 32) |
| 391 | texSampleDefines += "#define TEXSAMPLE_CUBE_ARRAY 1\n"; |
| 392 | |
| 393 | if(HasExt[OES_texture_cube_map_array]) |
| 394 | texSampleDefines += "#extension GL_OES_texture_cube_map_array : require\n"; |
| 395 | |
| 396 | if(HasExt[EXT_texture_cube_map_array]) |
| 397 | texSampleDefines += "#extension GL_EXT_texture_cube_map_array : require\n"; |
nothing calls this directly
no test coverage detected