HRESULT d3d10_rendertarget_view_init(struct d3d10_rendertarget_view *view, ID3D10Resource *resource, const D3D10_RENDER_TARGET_VIEW_DESC *desc) { struct wined3d_resource *wined3d_resource; HRESULT hr; view->ID3D10RenderTargetView_iface.lpVtbl = &d3d10_rendertarget_view_vtbl; view->refcount = 1; if (!desc) { HRESULT hr = set_rtdesc_from_resource(&view->desc, resource); if (FAILED(hr)) return hr; } else { view->desc = *desc; } wined3d_resource = wined3d_resource_from_resource(resource); if (!wined3d_resource) { ERR("Failed to get wined3d resource for d3d10 resource %p.\n", resource); return E_FAIL; } hr = wined3d_rendertarget_view_create(wined3d_resource, view, &view->wined3d_view); if (FAILED(hr)) { WARN("Failed to create a wined3d rendertarget view, hr %#x.\n", hr); return hr; } return S_OK; }
HRESULT d3d10_rendertarget_view_init(struct d3d10_rendertarget_view *view, struct d3d10_device *device, ID3D10Resource *resource, const D3D10_RENDER_TARGET_VIEW_DESC *desc) { IWineD3DResource *wined3d_resource; HRESULT hr; view->vtbl = &d3d10_rendertarget_view_vtbl; view->refcount = 1; if (!desc) { HRESULT hr = set_rtdesc_from_resource(&view->desc, resource); if (FAILED(hr)) return hr; } else { view->desc = *desc; } wined3d_resource = wined3d_resource_from_resource(resource); if (!wined3d_resource) { ERR("Failed to get wined3d resource for d3d10 resource %p.\n", resource); return E_FAIL; } hr = IWineD3DDevice_CreateRendertargetView(device->wined3d_device, wined3d_resource, (IUnknown *)view, &view->wined3d_view); if (FAILED(hr)) { WARN("Failed to create a wined3d rendertarget view, hr %#x.\n", hr); return hr; } return S_OK; }