From 8eeb513b1a0e7a4f7963612f0305850499c9ec7d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20D=C3=B6singer?= Date: Sat, 28 Nov 2009 11:38:29 +0100 Subject: [PATCH] wined3d: Fix VBO buffer usage. --- dlls/wined3d/buffer.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index f6e89ddff4e..ff1ebd7e80d 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -79,22 +79,17 @@ static void buffer_create_buffer_object(struct wined3d_buffer *This) } /* Don't use static, because dx apps tend to update the buffer - * quite often even if they specify 0 usage. Because we always keep the local copy - * we never read from the vbo and can create a write only opengl buffer. - */ - switch(This->resource.usage & (WINED3DUSAGE_WRITEONLY | WINED3DUSAGE_DYNAMIC)) + * quite often even if they specify 0 usage. + */ + if(This->resource.usage & WINED3DUSAGE_DYNAMIC) + { + TRACE("Gl usage = GL_DYNAMIC_DRAW\n"); + gl_usage = GL_DYNAMIC_DRAW_ARB; + } + else { - case WINED3DUSAGE_WRITEONLY | WINED3DUSAGE_DYNAMIC: - case WINED3DUSAGE_DYNAMIC: - TRACE("Gl usage = GL_STREAM_DRAW\n"); - gl_usage = GL_STREAM_DRAW_ARB; - break; - - case WINED3DUSAGE_WRITEONLY: - default: - TRACE("Gl usage = GL_DYNAMIC_DRAW\n"); - gl_usage = GL_DYNAMIC_DRAW_ARB; - break; + TRACE("Gl usage = GL_STREAM_DRAW\n"); + gl_usage = GL_STREAM_DRAW_ARB; } /* Reserve memory for the buffer. The amount of data won't change -- 2.11.4.GIT