| 2319 | } |
| 2320 | |
| 2321 | void 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 | |
| 2356 | void WrappedOpenGL::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) |
| 2357 | { |
no test coverage detected