try to use D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE for better performance

This commit is contained in:
FunkyFr3sh 2018-09-30 07:29:51 +02:00
parent abb88f456d
commit 7f23ad5563

View file

@ -154,15 +154,27 @@ DWORD WINAPI render_d3d9_main(void)
D3dpp.BackBufferHeight = ddraw->render.height;
D3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
D3dpp.BackBufferCount = 1;
D3d->lpVtbl->CreateDevice(
D3d,
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
ddraw->hWnd,
DWORD behaviorFlags[] = {
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE,
D3DCREATE_HARDWARE_VERTEXPROCESSING,
D3DCREATE_MIXED_VERTEXPROCESSING,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&D3dpp,
&D3ddev);
};
int i;
for (i = 0; i < sizeof(behaviorFlags)/sizeof(behaviorFlags[0]); i++)
{
if (SUCCEEDED(D3d->lpVtbl->CreateDevice(
D3d,
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
ddraw->hWnd,
D3DCREATE_NOWINDOWCHANGES | behaviorFlags[i],
&D3dpp,
&D3ddev)))
break;
}
if (D3ddev)
InitDirect3D(FALSE);