[v3 PATCH 1/3] wined3d: Manage source texture resolve in texture2d_blt() for colour blits.
gofmanp at gmail.com
Wed Mar 11 10:40:26 CDT 2020
On Wed, 11 Mar 2020 at 18:25 Henri Verbeet <hverbeet at gmail.com> wrote:
> On Wed, 11 Mar 2020 at 16:25, Paul Gofman <gofmanp at gmail.com> wrote:
> > On 3/11/20 15:22, Henri Verbeet wrote:
> > > On Tue, 10 Mar 2020 at 15:01, Paul Gofman <gofmanp at gmail.com> wrote:
> > >> @@ -2629,8 +2622,14 @@ HRESULT texture2d_blt(struct wined3d_texture
> *dst_texture, unsigned int dst_sub_
> > >> dst_location = dst_texture->resource.map_binding;
> > >>
> > >> context = context_acquire(device, dst_texture,
> > >> + scale = abs(src_box->right - src_box->left) !=
> abs(dst_box->right - dst_box->left)
> > >> + || abs(src_box->bottom - src_box->top) !=
> abs(dst_box->bottom - dst_box->top);
> > > "scale" is already initialised earlier in the function. It's true that
> > > this variant would allow flips and mirrors whereas the variant earlier
> > > in the texture2d_blt() doesn't, but flipped/mirrored boxes aren't
> > > valid for texture2d_blt(). (In particular, wined3d_texture_blt() calls
> > > wined3d_texture_check_box_dimensions(); callers would use
> > > WINEDDBLTFX_MIRROR* to do flipped/mirrored blits.)
> > >
> > >> + src_location = (scale || convert || blit_op !=
> > >> + && wined3d_texture_is_multisample_location(src_texture,
> > >> + src_texture->resource.draw_binding) ?
> > >> + : src_texture->resource.draw_binding;
> > > is the "blit_op" check needed?
> > I think it is not strictly necessary as colour key or alpha test blits
> > won't end up in FBO blitter anyway, but I thought it is less fragile and
> > more clear to be explicit here. Should I remove that?
> To the extent that it makes a difference for those blit types, I think
> using the resolved location makes sense there as well.
Yes, that what I was trying to do, and additionally resolve for special
blits even if the size and format is the same, that’s what I put blit_op
check for. Should I remove that? Anyway, it is probably a separate change.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wine-devel