MCPcopy Create free account
hub / github.com/baldurk/renderdoc / glBlitFramebuffer

Method glBlitFramebuffer

renderdoc/driver/gl/wrappers/gl_framebuffer_funcs.cpp:2321–2354  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2319}
2320
2321void WrappedOpenGL::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
2322 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
2323 GLbitfield mask, GLenum filter)
2324{
2325 CoherentMapImplicitBarrier();
2326
2327 SERIALISE_TIME_CALL(
2328 GL.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter));
2329
2330 if(IsCaptureMode(m_State))
2331 {
2332 GLuint readFramebuffer = 0, drawFramebuffer = 0;
2333
2334 if(GetCtxData().m_ReadFramebufferRecord)
2335 readFramebuffer = GetCtxData().m_ReadFramebufferRecord->Resource.name;
2336 if(GetCtxData().m_DrawFramebufferRecord)
2337 drawFramebuffer = GetCtxData().m_DrawFramebufferRecord->Resource.name;
2338
2339 if(IsActiveCapturing(m_State))
2340 {
2341 USE_SCRATCH_SERIALISER();
2342 SCOPED_SERIALISE_CHUNK(gl_CurChunk);
2343 Serialise_glBlitNamedFramebuffer(ser, readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1,
2344 srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
2345
2346 GetContextRecord()->AddChunk(scope.Get());
2347 }
2348
2349 GetResourceManager()->MarkFBOReferenced(FramebufferRes(GetCtx(), readFramebuffer),
2350 eFrameRef_ReadBeforeWrite);
2351 GetResourceManager()->MarkFBOReferenced(FramebufferRes(GetCtx(), drawFramebuffer),
2352 eFrameRef_ReadBeforeWrite);
2353 }
2354}
2355
2356void WrappedOpenGL::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
2357{

Callers 3

SafeBlitFramebufferFunction · 0.45
FlipOutputWindowMethod · 0.45
_glBlitNamedFramebufferFunction · 0.45

Calls 6

IsCaptureModeFunction · 0.85
IsActiveCapturingFunction · 0.85
FramebufferResFunction · 0.85
AddChunkMethod · 0.80
MarkFBOReferencedMethod · 0.80
GetMethod · 0.45

Tested by

no test coverage detected