void WrappedOpenGL::glGenerateMipmap(GLenum target) { m_Real.glGenerateMipmap(target); ResourceRecord *record = m_TextureRecord[m_TextureUnit]; RDCASSERT(record); if(!record) return; GLuint texture = GetResourceManager()->GetCurrentResource(record->GetResourceID()).name; if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(GENERATE_MIPMAP); Serialise_glGenerateTextureMipmapEXT(texture, target); m_ContextRecord->AddChunk(scope.Get()); } else if(m_State == WRITING_IDLE) { SCOPED_SERIALISE_CONTEXT(GENERATE_MIPMAP); Serialise_glGenerateTextureMipmapEXT(texture, target); record->AddChunk(scope.Get()); } }
void WrappedOpenGL::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { m_Real.glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); if(m_State >= WRITING) { ResourceRecord *record = GetResourceManager()->GetResourceRecord(TextureRes(texture)); ResourceRecord *origrecord = GetResourceManager()->GetResourceRecord(TextureRes(origtexture)); RDCASSERT(record && origrecord); SCOPED_SERIALISE_CONTEXT(TEXTURE_VIEW); Serialise_glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); record->AddChunk(scope.Get()); record->AddParent(origrecord); } }
void WrappedOpenGL::glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs) { m_Real.glFramebufferDrawBuffersEXT(framebuffer, n, bufs); if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(DRAW_BUFFERS); Serialise_glFramebufferDrawBuffersEXT(framebuffer, n, bufs); m_ContextRecord->AddChunk(scope.Get()); } else if(m_State == WRITING_IDLE && framebuffer != 0) { SCOPED_SERIALISE_CONTEXT(DRAW_BUFFERS); Serialise_glFramebufferDrawBuffersEXT(framebuffer, n, bufs); ResourceRecord *record = GetResourceManager()->GetResourceRecord(FramebufferRes(GetCtx(), framebuffer)); record->AddChunk(scope.Get()); } }
void WrappedOpenGL::glGenerateTextureMipmapEXT(GLuint texture, GLenum target) { m_Real.glGenerateTextureMipmapEXT(texture, target); if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(GENERATE_MIPMAP); Serialise_glGenerateTextureMipmapEXT(texture, target); m_ContextRecord->AddChunk(scope.Get()); } else if(m_State == WRITING_IDLE) { SCOPED_SERIALISE_CONTEXT(GENERATE_MIPMAP); Serialise_glGenerateTextureMipmapEXT(texture, target); ResourceRecord *record = GetResourceManager()->GetResourceRecord(TextureRes(texture)); RDCASSERT(record); if(record) record->AddChunk(scope.Get()); } }