diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index bfe9b9b2385..7634b19113a 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -412,9 +412,8 @@ HRESULT WINAPI IWineD3DDeviceImpl_CreateSurface(IWineD3DDevice *iface, UINT Wid while (pow2Width < Width) pow2Width <<= 1; while (pow2Height < Height) pow2Height <<= 1; - /* TODO: support for non-power 2 textures */ if(pow2Width > Width || pow2Height > Height){ - /** TODO: add support for non power two compressed textures (OpenGL provices support for * non-power-two textures gratis) **/ + FIXME("non-power-two textures unsupported\n"); /* OpenGL provides support for these gratis */ return D3DERR_NOTAVAILABLE; } diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 764b1b9f9fe..ee2fdf0f44e 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -1496,6 +1496,7 @@ HRESULT WINAPI IWineD3DImpl_CreateDevice(IWineD3D *iface, UINT Adapter, D3DDEV IWineD3DImpl *This = (IWineD3DImpl *)iface; int num; XVisualInfo template; + HRESULT res; /* Validate the adapter number */ if (Adapter >= IWineD3D_GetAdapterCount(iface)) { @@ -1659,25 +1660,28 @@ HRESULT WINAPI IWineD3DImpl_CreateDevice(IWineD3D *iface, UINT Adapter, D3DDEV parms. Fix this by passing in a function to call which takes identical parms and handles the differences at the d3dx layer, and returns the IWineD3DSurface pointer rather than the created D3D8/9 one */ - D3DCB_CreateRenderTarget((IUnknown *) parent, - *(pPresentationParameters->BackBufferWidth), - *(pPresentationParameters->BackBufferHeight), - *(pPresentationParameters->BackBufferFormat), - *(pPresentationParameters->MultiSampleType), - *(pPresentationParameters->MultiSampleQuality), - TRUE, - (IWineD3DSurface **) &object->frontBuffer, - NULL); - - D3DCB_CreateRenderTarget((IUnknown *) parent, - *(pPresentationParameters->BackBufferWidth), - *(pPresentationParameters->BackBufferHeight), - *(pPresentationParameters->BackBufferFormat), - *(pPresentationParameters->MultiSampleType), - *(pPresentationParameters->MultiSampleQuality), - TRUE, - (IWineD3DSurface **) &object->backBuffer, - NULL); + if ((res = D3DCB_CreateRenderTarget((IUnknown *) parent, + *(pPresentationParameters->BackBufferWidth), + *(pPresentationParameters->BackBufferHeight), + *(pPresentationParameters->BackBufferFormat), + *(pPresentationParameters->MultiSampleType), + *(pPresentationParameters->MultiSampleQuality), + TRUE, + (IWineD3DSurface **) &object->frontBuffer, + NULL) != D3D_OK) || + (res = D3DCB_CreateRenderTarget((IUnknown *) parent, + *(pPresentationParameters->BackBufferWidth), + *(pPresentationParameters->BackBufferHeight), + *(pPresentationParameters->BackBufferFormat), + *(pPresentationParameters->MultiSampleType), + *(pPresentationParameters->MultiSampleQuality), + TRUE, + (IWineD3DSurface **) &object->backBuffer, + NULL) != D3D_OK)) + { + ERR("D3DCB_CreateRenderTarget() failed\n"); + return res; + } /* TODO: if (*(pPresentationParameters->EnableAutoDepthStencil)) {