/* IDirect3DCubeTexture9 Interface follow: */ static HRESULT WINAPI IDirect3DCubeTexture9Impl_GetLevelDesc(LPDIRECT3DCUBETEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc) { IDirect3DCubeTexture9Impl *This = (IDirect3DCubeTexture9Impl *)iface; WINED3DSURFACE_DESC wined3ddesc; HRESULT hr; TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc); wined3d_mutex_lock(); hr = IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, Level, &wined3ddesc); wined3d_mutex_unlock(); if (SUCCEEDED(hr)) { pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format); pDesc->Type = wined3ddesc.resource_type; pDesc->Usage = wined3ddesc.usage; pDesc->Pool = wined3ddesc.pool; pDesc->MultiSampleType = wined3ddesc.multisample_type; pDesc->MultiSampleQuality = wined3ddesc.multisample_quality; pDesc->Width = wined3ddesc.width; pDesc->Height = wined3ddesc.height; } return hr; }
/* IDirect3DCubeTexture9 Interface follow: */ static HRESULT WINAPI IDirect3DCubeTexture9Impl_GetLevelDesc(LPDIRECT3DCUBETEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc) { IDirect3DCubeTexture9Impl *This = (IDirect3DCubeTexture9Impl *)iface; WINED3DSURFACE_DESC wined3ddesc; UINT tmpInt = -1; TRACE("(%p) Relay\n", This); /* As d3d8 and d3d9 structures differ, pass in ptrs to where data needs to go */ wined3ddesc.Format = (WINED3DFORMAT *)&pDesc->Format; wined3ddesc.Type = (WINED3DRESOURCETYPE *) &pDesc->Type; wined3ddesc.Usage = &pDesc->Usage; wined3ddesc.Pool = (WINED3DPOOL *) &pDesc->Pool; wined3ddesc.Size = &tmpInt; wined3ddesc.MultiSampleType = (WINED3DMULTISAMPLE_TYPE *) &pDesc->MultiSampleType; wined3ddesc.MultiSampleQuality = &pDesc->MultiSampleQuality; wined3ddesc.Width = &pDesc->Width; wined3ddesc.Height = &pDesc->Height; return IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, Level, &wined3ddesc); }