2009/12/15 Stefan Dösinger stefan@codeweavers.com:
/* buffer_get_sysmem can remove the BO from dynamic buffers */
No, it can't?
@@ -540,8 +547,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexBuffer(IWineD3DDevice *ifac TRACE("Not creating a vbo because GL_ARB_vertex_buffer is not supported\n"); } else if(Pool == WINED3DPOOL_SYSTEMMEM) { TRACE("Not creating a vbo because the vertex buffer is in system memory\n");
- } else if(Usage & WINED3DUSAGE_DYNAMIC) {
TRACE("Not creating a vbo because the buffer has dynamic usage\n");
- } else if(!gl_support_dynamic_buffer(gl_info) && (Usage & WINED3DUSAGE_DYNAMIC)) {
} else if(!(Usage & WINED3DUSAGE_OPTIMIZE) && conv) { TRACE("Not creating a vbo because the fvf needs conversion, but VB optimization is disabled\n"); } else {TRACE("Not creating a vbo because the buffer has dynamic usage but GL doesn't support dynamic buffers\n");
It seems to me that this and similar code in CreateIndexBuffer() should be in buffer_init() instead.
Am 16.12.2009 um 11:33 schrieb Henri Verbeet:
2009/12/15 Stefan Dösinger stefan@codeweavers.com:
/* buffer_get_sysmem can remove the BO from dynamic buffers */
No, it can't?
Actually, that part slipped in form another patch I didn't send yet. It's dropping dynamic VBOs if we put the buffer into doublebuffer mode because glBufferSubData and friends don't work with the nooverwrite uploads(neither in the APPLE nor ARB extension)