On 26 May 2018 at 11:17, Nikolay Sivov <nsivov@codeweavers.com> wrote:
> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
> ---
> dlls/d2d1/device.c | 784 ++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 782 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/d2d1/device.c b/dlls/d2d1/device.c
> index 67b3fab906..63941dca3d 100644
> --- a/dlls/d2d1/device.c
> +++ b/dlls/d2d1/device.c
> @@ -38,11 +38,23 @@ struct d2d_draw_text_layout_ctx
> D2D1_DRAW_TEXT_OPTIONS options;
> };
>
> +struct d2d_device_context
> +{
> + ID2D1DeviceContext ID2D1DeviceContext_iface;
> + LONG refcount;
> + struct d2d_device *device;
> +};
> +
Since ID2D1DeviceContext extends ID2D1RenderTarget, should this
implementation really be separate from the d2d_d3d_render_target
implementation?
Context can render in two ways - populating command list, or rendering to a bitmap object. I was thinking we should create a dxgi target when rendering to a bitmap and forward calls to it. For command lists we don’t need to create a real target.