ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device.

This commit is contained in:
Paul Gofman 2023-01-16 18:33:30 -06:00 committed by Alexandre Julliard
parent 90416a48af
commit be57ebe015
5 changed files with 17 additions and 3 deletions

View file

@ -73,7 +73,7 @@ static struct enum_device_entry
"WINE Direct3D7 RGB Software Emulation using WineD3D",
"Wine D3D7 RGB",
&IID_IDirect3DRGBDevice,
D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX,
D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX | D3DDEVCAPS_HWRASTERIZATION,
},
};
@ -3883,8 +3883,8 @@ static HRESULT WINAPI d3d3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBA
/* RGB, RAMP and MMX devices cannot report HAL hardware flags */
hal_desc.dwFlags = 0;
/* RGB, REF, RAMP and MMX devices don't report hardware transform and lighting capability */
hal_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX);
hel_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX);
hal_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX | D3DDEVCAPS_HWRASTERIZATION);
hel_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX | D3DDEVCAPS_HWRASTERIZATION);
hr = callback((GUID *)&IID_IDirect3DRGBDevice, reference_description,
device_name, &hal_desc, &hel_desc, context);

View file

@ -15215,6 +15215,10 @@ static HRESULT WINAPI test_enum_devices_caps_callback(GUID *guid, char *device_d
"RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hal->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hal device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hel device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
}
else if(IsEqualGUID(&IID_IDirect3DHALDevice, guid))
{

View file

@ -16161,6 +16161,10 @@ static HRESULT WINAPI test_enum_devices_caps_callback(GUID *guid, char *device_d
"RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hal->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hal device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hel device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
}
else if(IsEqualGUID(&IID_IDirect3DHALDevice, guid))
{

View file

@ -19230,6 +19230,10 @@ static HRESULT WINAPI test_enum_devices_caps_callback(GUID *guid, char *device_d
"RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hal->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hal device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device hel device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
}
else if(IsEqualGUID(&IID_IDirect3DHALDevice, guid))
{

View file

@ -19446,6 +19446,8 @@ static HRESULT WINAPI test_enum_devices_caps_callback(char *device_desc, char *d
"RGB Device device caps has D3DDEVCAPS_HWTRANSFORMANDLIGHT set\n");
ok((device_desc7->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((device_desc7->dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) == 0,
"RGB Device device caps has D3DDEVCAPS_HWRASTERIZATION set\n");
}
else
{