[9/10] WineD3D: Use VBOs for index buffers

Stefan Dösinger stefan at codeweavers.com
Tue Feb 20 08:43:23 CST 2007


Am Dienstag 20 Februar 2007 15:03 schrieb Mirek:
> Hi, this patch caused regression in many Direct3D games. TES IV:
> Oblivion can't start game (menu works), Flatout II is completly broken,
> Alpine Sky Racing 2007 can't run, HalfLife 2 EO can't run. I tried
> rewrite GLint vbo; to GLuint vbo; but it doesn't help.
Argh, sounds kinda bad :-( .

Do the games crash, or display incorrect graphics?

Can you try to add the following line in 
IWineD3DIndexBufferImpl_Unlock(dlls/wined3d/indexbuffer.c),somewhere in the 
locks == 0 && This->vbo if statement:

IWineD3DDeviceImpl_MarkStateDirty(This->resource.wineD3DDevice, 
STATE_INDEXBUFFER);

The bound index buffer is changed there, and it needs to be restored for the 
next draw. I forgot to add that because originally I planned to make the vbo 
and state table things 2 patches, but that didn't work out right.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20070220/4ea36cb1/attachment.pgp


More information about the wine-devel mailing list