[PATCH 08/10] wined3d: make wined3d_device_update_surface operate with wined3d_texture and sub_resource_idx

Henri Verbeet hverbeet at gmail.com
Tue Oct 20 12:26:37 CDT 2015

On 20 October 2015 at 18:32, Stefan Dösinger <stefandoesinger at gmail.com> wrote:
> Am 2015-10-20 um 17:36 schrieb Henri Verbeet:
>> It's not necessarily trivial, no. The easiest way to start may be
>> to first work on implementing wined3d_device_update_surface() on
>> top of wined3d_device_update_sub_resource(), and only then work on
>> getting rid of wined3d_device_update_surface() itself.
> The inconvenient thing about
> wined3d_device_update_sub_resource is that the source data is in a
> pointer and not a system memory resource. You can of course just map
> the source resource in the client library and pass the map pointer to
> wined3d_device_update_sub_resource, but that'll require copying the
> data or waiting with the multithreaded command stream.
The source surface for wined3d_device_update_surface() is supposed to
be in WINED3D_POOL_SYSTEM_MEM. Mapping those shouldn't require a copy.
(And while in ddraw everything is a bit weird, in d3d9 system memory
surfaces are really supposed to be in system memory.)

More information about the wine-devel mailing list