void WrappedOpenGL::glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, void **params) { CoherentMapImplicitBarrier(); // intercept GL_BUFFER_MAP_POINTER queries if(pname == eGL_BUFFER_MAP_POINTER) { GLResourceRecord *record = GetResourceManager()->GetResourceRecord(BufferRes(GetCtx(), buffer)); RDCASSERT(record); if(record) { if(record->Map.status == GLResourceRecord::Unmapped) *params = NULL; else *params = (void *)record->Map.ptr; } else { *params = NULL; } } else { m_Real.glGetNamedBufferPointervEXT(buffer, pname, params); } }
void WrappedOpenGL::glGetBufferPointerv(GLenum target, GLenum pname, void **params) { CoherentMapImplicitBarrier(); // intercept GL_BUFFER_MAP_POINTER queries if(pname == eGL_BUFFER_MAP_POINTER) { GLResourceRecord *record = GetCtxData().m_BufferRecord[BufferIdx(target)]; RDCASSERT(record); if(record) { if(record->Map.status == GLResourceRecord::Unmapped) *params = NULL; else *params = (void *)record->Map.ptr; } else { *params = NULL; } } else { m_Real.glGetBufferPointerv(target, pname, params); } }
void WrappedOpenGL::glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint level, void *img) { CoherentMapImplicitBarrier(); m_Real.glGetCompressedTextureImageEXT(texture, target, level, img); }
void WrappedOpenGL::glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) { CoherentMapImplicitBarrier(); m_Real.glGetNamedBufferSubDataEXT(buffer, offset, size, data); }
void WrappedOpenGL::glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glReadnPixels(x, y, width, height, format, type, bufSize, pixels); }
void WrappedOpenGL::glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glGetTextureImageEXT(texture, target, level, format, type, pixels); }
void WrappedOpenGL::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { CoherentMapImplicitBarrier(); m_Real.glGetSynciv(sync, pname, bufSize, length, values); }
void WrappedOpenGL::glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glGetTextureImage(texture, level, format, type, bufSize, pixels); }
void WrappedOpenGL::glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glGetCompressedTextureImage(texture, level, bufSize, pixels); }
void WrappedOpenGL::glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, void *img) { CoherentMapImplicitBarrier(); m_Real.glGetCompressedMultiTexImageEXT(texunit, target, lod, img); }
void WrappedOpenGL::glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); }
void WrappedOpenGL::glBlendBarrierKHR() { CoherentMapImplicitBarrier(); m_Real.glBlendBarrierKHR(); if(m_State == WRITING_CAPFRAME) { SCOPED_SERIALISE_CONTEXT(BLEND_BARRIER); Serialise_glBlendBarrierKHR(); m_ContextRecord->AddChunk(scope.Get()); } }
void WrappedOpenGL::glFinish() { CoherentMapImplicitBarrier(); m_Real.glFinish(); }
void WrappedOpenGL::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { CoherentMapImplicitBarrier(); m_Real.glGetBufferSubData(target, offset, size, data); }
void WrappedOpenGL::glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels) { CoherentMapImplicitBarrier(); m_Real.glGetnCompressedTexImage(target, lod, bufSize, pixels); }
void WrappedOpenGL::glGetCompressedTexImage(GLenum target, GLint level, void *img) { CoherentMapImplicitBarrier(); m_Real.glGetCompressedTexImage(target, level, img); }