Henri Verbeet : wined3d: Fix the indentation in buffer_direct_upload().
Alexandre Julliard
julliard at winehq.org
Tue Nov 23 09:38:21 CST 2010
Module: wine
Branch: master
Commit: a147fd9c36c49aaa08bb2b32778f7960ea6509a7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a147fd9c36c49aaa08bb2b32778f7960ea6509a7
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Thu Nov 18 20:50:41 2010 +0100
wined3d: Fix the indentation in buffer_direct_upload().
---
dlls/wined3d/buffer.c | 110 +++++++++++++++++++++++++-----------------------
1 files changed, 57 insertions(+), 53 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 7400fd8..09c07fe 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -863,71 +863,75 @@ drop_query:
/* The caller provides a GL context */
static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined3d_gl_info *gl_info, DWORD flags)
{
- BYTE *map;
- UINT start = 0, len = 0;
+ BYTE *map;
+ UINT start = 0, len = 0;
- ENTER_GL();
- GL_EXTCALL(glBindBufferARB(This->buffer_type_hint, This->buffer_object));
- checkGLcall("glBindBufferARB");
- if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
+ ENTER_GL();
+
+ /* This potentially invalidates the element array buffer binding, but the
+ * caller always takes care of this. */
+ GL_EXTCALL(glBindBufferARB(This->buffer_type_hint, This->buffer_object));
+ checkGLcall("glBindBufferARB");
+ if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
+ {
+ GLbitfield mapflags;
+ mapflags = GL_MAP_WRITE_BIT | GL_MAP_FLUSH_EXPLICIT_BIT;
+ if (flags & WINED3D_BUFFER_DISCARD)
{
- GLbitfield mapflags;
- mapflags = GL_MAP_WRITE_BIT | GL_MAP_FLUSH_EXPLICIT_BIT;
- if (flags & WINED3D_BUFFER_DISCARD)
- {
- mapflags |= GL_MAP_UNSYNCHRONIZED_BIT | GL_MAP_INVALIDATE_BUFFER_BIT;
- }
- else if (flags & WINED3D_BUFFER_NOSYNC)
- {
- mapflags |= GL_MAP_UNSYNCHRONIZED_BIT;
- }
- map = GL_EXTCALL(glMapBufferRange(This->buffer_type_hint, 0,
- This->resource.size, mapflags));
- checkGLcall("glMapBufferRange");
+ mapflags |= GL_MAP_UNSYNCHRONIZED_BIT | GL_MAP_INVALIDATE_BUFFER_BIT;
}
- else
+ else if (flags & WINED3D_BUFFER_NOSYNC)
{
- if (This->flags & WINED3D_BUFFER_APPLESYNC)
- {
- DWORD syncflags = 0;
- if (flags & WINED3D_BUFFER_DISCARD) syncflags |= WINED3DLOCK_DISCARD;
- if (flags & WINED3D_BUFFER_NOSYNC) syncflags |= WINED3DLOCK_NOOVERWRITE;
- LEAVE_GL();
- buffer_sync_apple(This, syncflags, gl_info);
- ENTER_GL();
- }
- map = GL_EXTCALL(glMapBufferARB(This->buffer_type_hint, GL_WRITE_ONLY_ARB));
- checkGLcall("glMapBufferARB");
+ mapflags |= GL_MAP_UNSYNCHRONIZED_BIT;
}
- if (!map)
+ map = GL_EXTCALL(glMapBufferRange(This->buffer_type_hint, 0,
+ This->resource.size, mapflags));
+ checkGLcall("glMapBufferRange");
+ }
+ else
+ {
+ if (This->flags & WINED3D_BUFFER_APPLESYNC)
{
+ DWORD syncflags = 0;
+ if (flags & WINED3D_BUFFER_DISCARD) syncflags |= WINED3DLOCK_DISCARD;
+ if (flags & WINED3D_BUFFER_NOSYNC) syncflags |= WINED3DLOCK_NOOVERWRITE;
LEAVE_GL();
- ERR("Failed to map opengl buffer\n");
- return;
+ buffer_sync_apple(This, syncflags, gl_info);
+ ENTER_GL();
}
+ map = GL_EXTCALL(glMapBufferARB(This->buffer_type_hint, GL_WRITE_ONLY_ARB));
+ checkGLcall("glMapBufferARB");
+ }
+ if (!map)
+ {
+ LEAVE_GL();
+ ERR("Failed to map opengl buffer\n");
+ return;
+ }
- while(This->modified_areas)
- {
- This->modified_areas--;
- start = This->maps[This->modified_areas].offset;
- len = This->maps[This->modified_areas].size;
+ while (This->modified_areas)
+ {
+ This->modified_areas--;
+ start = This->maps[This->modified_areas].offset;
+ len = This->maps[This->modified_areas].size;
- memcpy(map + start, This->resource.allocatedMemory + start, len);
+ memcpy(map + start, This->resource.allocatedMemory + start, len);
- if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
- {
- GL_EXTCALL(glFlushMappedBufferRange(This->buffer_type_hint, start, len));
- checkGLcall("glFlushMappedBufferRange");
- }
- else if (This->flags & WINED3D_BUFFER_FLUSH)
- {
- GL_EXTCALL(glFlushMappedBufferRangeAPPLE(This->buffer_type_hint, start, len));
- checkGLcall("glFlushMappedBufferRangeAPPLE");
- }
+ if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
+ {
+ GL_EXTCALL(glFlushMappedBufferRange(This->buffer_type_hint, start, len));
+ checkGLcall("glFlushMappedBufferRange");
}
- GL_EXTCALL(glUnmapBufferARB(This->buffer_type_hint));
- checkGLcall("glUnmapBufferARB");
- LEAVE_GL();
+ else if (This->flags & WINED3D_BUFFER_FLUSH)
+ {
+ GL_EXTCALL(glFlushMappedBufferRangeAPPLE(This->buffer_type_hint, start, len));
+ checkGLcall("glFlushMappedBufferRangeAPPLE");
+ }
+ }
+ GL_EXTCALL(glUnmapBufferARB(This->buffer_type_hint));
+ checkGLcall("glUnmapBufferARB");
+
+ LEAVE_GL();
}
/* Do not call while under the GL lock. */
More information about the wine-cvs
mailing list