d3d10core: Implement d3d10_texture2d_Map().

This commit is contained in:
Henri Verbeet 2012-07-12 13:44:23 +02:00 committed by Alexandre Julliard
parent 21a7b18311
commit 7e2999e70f
1 changed files with 23 additions and 4 deletions

View File

@ -150,13 +150,32 @@ static UINT STDMETHODCALLTYPE d3d10_texture2d_GetEvictionPriority(ID3D10Texture2
/* ID3D10Texture2D methods */
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_Map(ID3D10Texture2D *iface, UINT sub_resource,
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_Map(ID3D10Texture2D *iface, UINT sub_resource_idx,
D3D10_MAP map_type, UINT map_flags, D3D10_MAPPED_TEXTURE2D *mapped_texture)
{
FIXME("iface %p, sub_resource %u, map_type %u, map_flags %#x, mapped_texture %p stub!\n",
iface, sub_resource, map_type, map_flags, mapped_texture);
struct d3d10_texture2d *texture = impl_from_ID3D10Texture2D(iface);
struct wined3d_map_desc wined3d_map_desc;
struct wined3d_resource *sub_resource;
HRESULT hr;
return E_NOTIMPL;
TRACE("iface %p, sub_resource_idx %u, map_type %u, map_flags %#x, mapped_texture %p.\n",
iface, sub_resource_idx, map_type, map_flags, mapped_texture);
if (map_type != D3D10_MAP_READ_WRITE)
FIXME("Ignoring map_type %#x.\n", map_type);
if (map_flags)
FIXME("Ignoring map_flags %#x.\n", map_flags);
if (!(sub_resource = wined3d_texture_get_sub_resource(texture->wined3d_texture, sub_resource_idx)))
hr = E_INVALIDARG;
else if (SUCCEEDED(hr = wined3d_surface_map(wined3d_surface_from_resource(sub_resource),
&wined3d_map_desc, NULL, 0)))
{
mapped_texture->pData = wined3d_map_desc.data;
mapped_texture->RowPitch = wined3d_map_desc.row_pitch;
}
return hr;
}
static void STDMETHODCALLTYPE d3d10_texture2d_Unmap(ID3D10Texture2D *iface, UINT sub_resource_idx)