[PATCH v3] d2d1: Make ID2D1Device::CreateImageBrush() accept only bitmap as a source image.

Dmitry Timoshkov dmitry at baikal.ru
Thu May 26 06:34:52 CDT 2022


Nikolay Sivov <nsivov at codeweavers.com> wrote:

> On 5/25/22 18:58, Dmitry Timoshkov wrote:
> > Dmitry Timoshkov <dmitry at baikal.ru> wrote:
> >
> >> ID2D1Bitmap derives from ID2D1Image, which in turn derives from ID2D1Resource.
> >> That means that ID2D1Device::CreateImageBrush() can't be really passed anything
> >> but a ID2D1Bitmap* represented as a ID2D1Image*.
> >>
> >> I've added QueryInterface+FIXME just in case, probably it could be dropped.
> >>
> >> v2: Fix test crashes with image == NULL.
> >> v3: Add a QueryInterface() check to SetImage().
> > Is there anything that could be improved in this patch to make it acceptable?
> > Probably I should add once again, that this patch allows a bitmap work as an
> > image brush (unlike current broken state) and actually makes work the app that
> > have here.
> >
> Same thing I mention last time - it's backwards. Bitmap brush could 
> probably be implemented as image brush, but not the other way. I don't 
> think you'll need any shader changes for that.

Do you mean something like the attached patch, or do I miss something?
With the attached patch (on top of just sent ::Map()/::Unmap() patches)
I get areas filled with black in the application that I'm working on,
unlike with the proposed patch where I get correctly filled areas with
a proper brush.

-- 
Dmitry.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wip_BRUSH_TYPE_IMAGE_2.diff
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20220526/39c7773b/attachment.ksh>


More information about the wine-devel mailing list