ddraw: Set correct HEL and HAL color models.
This commit is contained in:
parent
c3d6061593
commit
9e0baa55ce
@ -3968,6 +3968,9 @@ static HRESULT WINAPI d3d3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBA
|
|||||||
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
||||||
hal_desc.dpcTriCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
hal_desc.dpcTriCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
||||||
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
||||||
|
/* RGB, RAMP and MMX devices have a HAL dcmColorModel of 0 */
|
||||||
|
hal_desc.dcmColorModel = 0;
|
||||||
|
|
||||||
hr = callback((GUID *)&IID_IDirect3DRGBDevice, reference_description,
|
hr = callback((GUID *)&IID_IDirect3DRGBDevice, reference_description,
|
||||||
device_name, &hal_desc, &hel_desc, context);
|
device_name, &hal_desc, &hel_desc, context);
|
||||||
if (hr != D3DENUMRET_OK)
|
if (hr != D3DENUMRET_OK)
|
||||||
@ -3983,11 +3986,15 @@ static HRESULT WINAPI d3d3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBA
|
|||||||
TRACE("Enumerating HAL Direct3D device.\n");
|
TRACE("Enumerating HAL Direct3D device.\n");
|
||||||
hal_desc = device_desc1;
|
hal_desc = device_desc1;
|
||||||
hel_desc = device_desc1;
|
hel_desc = device_desc1;
|
||||||
|
|
||||||
/* The hal device does not have the pow2 flag set in hel, but in hal. */
|
/* The hal device does not have the pow2 flag set in hel, but in hal. */
|
||||||
hel_desc.dpcLineCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
hel_desc.dpcLineCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
||||||
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
||||||
hel_desc.dpcTriCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
hel_desc.dpcTriCaps.dwTextureCaps &= ~(D3DPTEXTURECAPS_POW2
|
||||||
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
| D3DPTEXTURECAPS_NONPOW2CONDITIONAL | D3DPTEXTURECAPS_PERSPECTIVE);
|
||||||
|
/* HAL devices have a HEL dcmColorModel of 0 */
|
||||||
|
hel_desc.dcmColorModel = 0;
|
||||||
|
|
||||||
hr = callback((GUID *)&IID_IDirect3DHALDevice, wined3d_description,
|
hr = callback((GUID *)&IID_IDirect3DHALDevice, wined3d_description,
|
||||||
device_name, &hal_desc, &hel_desc, context);
|
device_name, &hal_desc, &hel_desc, context);
|
||||||
if (hr != D3DENUMRET_OK)
|
if (hr != D3DENUMRET_OK)
|
||||||
|
@ -804,10 +804,15 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid,LPSTR DeviceDescription,LPS
|
|||||||
"RGB Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"RGB Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
||||||
"RGB Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"RGB Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
|
|
||||||
|
ok(hal->dcmColorModel == 0, "RGB Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
|
||||||
|
ok(hel->dcmColorModel == D3DCOLOR_RGB, "RGB Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
|
||||||
}
|
}
|
||||||
else if(IsEqualGUID(&IID_IDirect3DHALDevice, Guid))
|
else if(IsEqualGUID(&IID_IDirect3DHALDevice, Guid))
|
||||||
{
|
{
|
||||||
trace("HAL Device %d\n", ver);
|
trace("HAL Device %d\n", ver);
|
||||||
|
ok(hal->dcmColorModel == D3DCOLOR_RGB, "HAL Device %u hal caps has colormodel %u\n", ver, hel->dcmColorModel);
|
||||||
|
ok(hel->dcmColorModel == 0, "HAL Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
|
||||||
}
|
}
|
||||||
else if(IsEqualGUID(&IID_IDirect3DRefDevice, Guid))
|
else if(IsEqualGUID(&IID_IDirect3DRefDevice, Guid))
|
||||||
{
|
{
|
||||||
@ -848,6 +853,10 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid,LPSTR DeviceDescription,LPS
|
|||||||
"Ramp Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"Ramp Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
||||||
"Ramp Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"Ramp Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
|
|
||||||
|
ok(hal->dcmColorModel == 0, "Ramp Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
|
||||||
|
ok(hel->dcmColorModel == D3DCOLOR_MONO, "Ramp Device %u hel caps has colormodel %u\n",
|
||||||
|
ver, hel->dcmColorModel);
|
||||||
}
|
}
|
||||||
else if(IsEqualGUID(&IID_IDirect3DMMXDevice, Guid))
|
else if(IsEqualGUID(&IID_IDirect3DMMXDevice, Guid))
|
||||||
{
|
{
|
||||||
@ -868,6 +877,9 @@ static HRESULT WINAPI enumDevicesCallback(GUID *Guid,LPSTR DeviceDescription,LPS
|
|||||||
"MMX Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"MMX Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
ok(hel->dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE,
|
||||||
"MMX Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
"MMX Device %d hel tri caps does not have D3DPTEXTURECAPS_PERSPECTIVE set\n", ver);
|
||||||
|
|
||||||
|
ok(hal->dcmColorModel == 0, "MMX Device %u hal caps has colormodel %u\n", ver, hal->dcmColorModel);
|
||||||
|
ok(hel->dcmColorModel == D3DCOLOR_RGB, "MMX Device %u hel caps has colormodel %u\n", ver, hel->dcmColorModel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user