On 9 December 2011 12:54, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
+ d3d = pDirect3DCreate8(D3D_SDK_VERSION); + ok(d3d != NULL, "Direct3DCreate8 failed.\n"); + hwnd = CreateWindow("d3d8_test_wc", "d3d8_test", WS_OVERLAPPEDWINDOW, 100, 100, 160, 160, NULL, NULL, NULL, NULL); + ok(hwnd != NULL, "CreateWindow failed.\n"); + if (!d3d || !hwnd) + goto cleanup; + + IDirect3D8_GetAdapterDisplayMode(d3d, D3DADAPTER_DEFAULT, &d3ddm); + ZeroMemory(&d3dpp, sizeof(d3dpp)); + d3dpp.Windowed = TRUE; + d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; + d3dpp.BackBufferWidth = 800; + d3dpp.BackBufferHeight = 600; + d3dpp.BackBufferFormat = d3ddm.Format; + d3dpp.EnableAutoDepthStencil = TRUE; + d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8; + + hr = IDirect3D8_CreateDevice(d3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, + D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &device); + ok(hr == D3D_OK || hr == D3DERR_INVALIDCALL || broken(hr == D3DERR_NOTAVAILABLE), + "CreateDevice failed, hr %#x.\n", hr); + if (!device) + { + skip("Could not create device, IDirect3D8_CreateDevice returned %#x.\n", hr); + goto cleanup; + } + Copy / paste is bad for you. It looks like you're trying to create a device. Would you like to use create_device() instead?