Put the device name string on the stack during devices enumeration.
Disable reference enumeration.
This commit is contained in:
parent
6e7d78eec9
commit
4ea9589981
|
@ -282,20 +282,27 @@ HRESULT d3ddevice_enumerate(LPD3DENUMDEVICESCALLBACK cb, LPVOID context)
|
||||||
{
|
{
|
||||||
D3DDEVICEDESC dref, d1, d2;
|
D3DDEVICEDESC dref, d1, d2;
|
||||||
HRESULT ret_value;
|
HRESULT ret_value;
|
||||||
|
|
||||||
|
/* Some games (Motoracer 2 demo) have the bad idea to modify the device name string.
|
||||||
|
Let's put the string in a sufficiently sized array in writable memory. */
|
||||||
|
char device_name[50];
|
||||||
|
strcpy(device_name,"direct3d");
|
||||||
|
|
||||||
fill_opengl_caps(&dref);
|
fill_opengl_caps(&dref);
|
||||||
|
|
||||||
|
#if 0 /* FIXME: Reference device enumeration should be enable/disable in the configuration file */
|
||||||
TRACE(" enumerating OpenGL D3DDevice interface using reference IID (IID %s).\n", debugstr_guid(&IID_IDirect3DRefDevice));
|
TRACE(" enumerating OpenGL D3DDevice interface using reference IID (IID %s).\n", debugstr_guid(&IID_IDirect3DRefDevice));
|
||||||
d1 = dref;
|
d1 = dref;
|
||||||
d2 = dref;
|
d2 = dref;
|
||||||
ret_value = cb((LPIID) &IID_IDirect3DRefDevice, "WINE Reference Direct3DX using OpenGL", "direct3d", &d1, &d2, context);
|
ret_value = cb((LPIID) &IID_IDirect3DRefDevice, "WINE Reference Direct3DX using OpenGL", device_name, &d1, &d2, context);
|
||||||
if (ret_value != D3DENUMRET_OK)
|
if (ret_value != D3DENUMRET_OK)
|
||||||
return ret_value;
|
return ret_value;
|
||||||
|
#endif
|
||||||
|
|
||||||
TRACE(" enumerating OpenGL D3DDevice interface (IID %s).\n", debugstr_guid(&IID_D3DDEVICE_OpenGL));
|
TRACE(" enumerating OpenGL D3DDevice interface (IID %s).\n", debugstr_guid(&IID_D3DDEVICE_OpenGL));
|
||||||
d1 = dref;
|
d1 = dref;
|
||||||
d2 = dref;
|
d2 = dref;
|
||||||
ret_value = cb((LPIID) &IID_D3DDEVICE_OpenGL, "WINE Direct3DX using OpenGL", "direct3d", &d1, &d2, context);
|
ret_value = cb((LPIID) &IID_D3DDEVICE_OpenGL, "WINE Direct3DX using OpenGL", device_name, &d1, &d2, context);
|
||||||
if (ret_value != D3DENUMRET_OK)
|
if (ret_value != D3DENUMRET_OK)
|
||||||
return ret_value;
|
return ret_value;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue