mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-28 12:51:03 +00:00
Add glFlushMappedBufferRange, but not implemented yet
* Still need to implement persistant/etc buffer Map()s
This commit is contained in:
@@ -494,6 +494,7 @@ class WrappedOpenGL
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void *, glMapBuffer(GLenum target, GLenum access));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void *, glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(GLboolean, glUnmapBuffer(GLenum target));
|
||||
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z));
|
||||
|
||||
@@ -303,6 +303,7 @@ struct GLHookSet
|
||||
PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
||||
PFNGLMAPBUFFERPROC glMapBuffer;
|
||||
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||
PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
|
||||
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
||||
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
||||
|
||||
@@ -322,6 +322,7 @@
|
||||
HookExtension(PFNGLBINDBUFFERRANGEPROC, glBindBufferRange); \
|
||||
HookExtension(PFNGLMAPBUFFERPROC, glMapBuffer); \
|
||||
HookExtension(PFNGLMAPBUFFERRANGEPROC, glMapBufferRange); \
|
||||
HookExtension(PFNGLFLUSHMAPPEDBUFFERRANGEPROC, glFlushMappedBufferRange); \
|
||||
HookExtension(PFNGLUNMAPBUFFERPROC, glUnmapBuffer); \
|
||||
HookExtension(PFNGLDELETEBUFFERSPROC, glDeleteBuffers); \
|
||||
HookExtension(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays); \
|
||||
@@ -925,6 +926,7 @@
|
||||
HookWrapper5(void, glBindBufferRange, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \
|
||||
HookWrapper2(void *, glMapBuffer, GLenum, target, GLenum, access); \
|
||||
HookWrapper4(void *, glMapBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length, GLbitfield, access); \
|
||||
HookWrapper3(void, glFlushMappedBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length); \
|
||||
HookWrapper1(GLboolean, glUnmapBuffer, GLenum, target); \
|
||||
HookWrapper2(void, glDeleteBuffers, GLsizei, n, const GLuint *, buffers); \
|
||||
HookWrapper2(void, glGenVertexArrays, GLsizei, n, GLuint *, arrays); \
|
||||
|
||||
@@ -783,8 +783,8 @@ void *WrappedOpenGL::glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GL
|
||||
|
||||
// TODO align return pointer to GL_MIN_MAP_BUFFER_ALIGNMENT (min 64)
|
||||
|
||||
if((access & (GL_MAP_COHERENT_BIT|GL_MAP_PERSISTENT_BIT)) != 0)
|
||||
RDCUNIMPLEMENTED("haven't implemented coherent/persistant glMap calls");
|
||||
if((access & (GL_MAP_COHERENT_BIT|GL_MAP_PERSISTENT_BIT|GL_MAP_FLUSH_EXPLICIT_BIT|GL_MAP_UNSYNCHRONIZED_BIT)) != 0)
|
||||
RDCUNIMPLEMENTED("haven't implemented coherent/persistant/flush explicit/unsynchronized glMap calls");
|
||||
|
||||
if((access & GL_MAP_READ_BIT) != 0)
|
||||
{
|
||||
@@ -1059,6 +1059,16 @@ GLboolean WrappedOpenGL::glUnmapBuffer(GLenum target)
|
||||
return m_Real.glUnmapBuffer(target);
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
|
||||
{
|
||||
m_Real.glFlushMappedBufferRange(target, offset, length);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
RDCUNIMPLEMENTED("Persistant/unsynchronised/explicit flash maps are not yet supported");
|
||||
}
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Vertex Arrays
|
||||
|
||||
Reference in New Issue
Block a user