Prototype patch that solves bug 11897

Stefan Dösinger stefan at codeweavers.com
Wed Mar 12 19:17:11 CDT 2008


Am Donnerstag, 13. März 2008 01:02:47 schrieb Artur Szymiec:
> Stefan Dösinger pisze:
> > Hi,
> > Note that we do not accept workaround patches into Wine, because
>
> otherwise the
>
> > whole software would become a huge workaround collection.
> >
> > A potential proper fix for this is to generate an UUID, store it in a
>
> constant
>
> > global variable and memcpy it into the deviceidentifier
>
> Dear Stefan,
>
> ok  then.
> At d3d startup I'll read back UUID from wine registry (or create one
> if none) -> copy into globar var
> and then memcopy.
I don't think you need to store them in the registry. Just hardcode it in the 
code, e.g. like ddraw does it:

const GUID IID_D3DDEVICE_WineD3D = {
  0xaef72d43,
  0xb09a,
  0x4b7b,
  { 0xb7,0x98,0xc6,0x8a,0x77,0x2d,0x72,0x2a }
};

which matches an uuidgen output of
0xaef72d43-0xb09a-0x4b7b-b798-6c8a773d722a
(Don't use this specific UUID for d3d9, generate a new one using uuidgen(part 
of the ext2 filesystem tools)

Chatter has it that on Windows there is some schematic in DirectX GUIDs, 
additionally to the general way UIDs work. But since that's not documented 
anywhere I could find I don't think any game depends on that. In the worst 
case we'll have to adopt the UIDs ATI and Nvidia are using on Windows, if any 
game compares them.





More information about the wine-devel mailing list