Add glFlushMappedBufferRange, but not implemented yet

* Still need to implement persistant/etc buffer Map()s
This commit is contained in:
baldurk
2014-11-08 13:05:24 +00:00
parent 5b3a8aabdb
commit 1276eda4c7
4 changed files with 16 additions and 2 deletions
+1
View File
@@ -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));
+1
View File
@@ -303,6 +303,7 @@ struct GLHookSet
PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
PFNGLMAPBUFFERPROC glMapBuffer;
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
+2
View File
@@ -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