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 Direct3D7 RGB Software Emulation using WineD3D",
"Wine D3D7 RGB", "Wine D3D7 RGB",
&IID_IDirect3DRGBDevice, &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 */ /* RGB, RAMP and MMX devices cannot report HAL hardware flags */
hal_desc.dwFlags = 0; hal_desc.dwFlags = 0;
/* RGB, REF, RAMP and MMX devices don't report hardware transform and lighting capability */ /* RGB, REF, RAMP and MMX devices don't report hardware transform and lighting capability */
hal_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX); hal_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX | D3DDEVCAPS_HWRASTERIZATION);
hel_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX); hel_desc.dwDevCaps &= ~(D3DDEVCAPS_HWTRANSFORMANDLIGHT | D3DDEVCAPS_DRAWPRIMITIVES2EX | D3DDEVCAPS_HWRASTERIZATION);
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);

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"); "RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0, ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n"); "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)) 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"); "RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0, ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n"); "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)) 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"); "RGB Device hal device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n");
ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0, ok((hel->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device hel device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n"); "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)) 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"); "RGB Device device caps has D3DDEVCAPS_HWTRANSFORMANDLIGHT set\n");
ok((device_desc7->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0, ok((device_desc7->dwDevCaps & D3DDEVCAPS_DRAWPRIMITIVES2EX) == 0,
"RGB Device device caps has D3DDEVCAPS_DRAWPRIMITIVES2EX set\n"); "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 else
{ {