[3/5] WineD3D: Set WINED3D_BUFFER_CREATEBO in buffer_init

Henri Verbeet hverbeet at gmail.com
Tue Dec 22 11:44:54 CST 2009


2009/12/22 Stefan Dösinger <stefan at codeweavers.com>:
> +    conv = ((FVF & WINED3DFVF_POSITION_MASK) == WINED3DFVF_XYZRHW ) || (FVF & (WINED3DFVF_DIFFUSE | WINED3DFVF_SPECULAR));
>      hr = buffer_init(object, This, Size, Usage, WINED3DFMT_VERTEXDATA,
> -            Pool, GL_ARRAY_BUFFER_ARB, NULL, parent, parent_ops);
> +            Pool, GL_ARRAY_BUFFER_ARB, NULL, parent, parent_ops, conv);
This looks questionable, we use the FVF to determine that the buffer
is going to need conversion, but don't pass that FVF to the buffer
itself? Shouldn't this just use the existing code in buffer.c to
determine when we need conversion in the first place, and just drop
the VBO when the overhead becomes too large? Note that if we have
EXT_vertex_array_bgra we don't need conversion for the color data in
the first place.



More information about the wine-devel mailing list