<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 11 Mar 2020 at 18:25 Henri Verbeet <<a href="mailto:hverbeet@gmail.com">hverbeet@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 11 Mar 2020 at 16:25, Paul Gofman <<a href="mailto:gofmanp@gmail.com" target="_blank">gofmanp@gmail.com</a>> wrote:<br>
> On 3/11/20 15:22, Henri Verbeet wrote:<br>
> > On Tue, 10 Mar 2020 at 15:01, Paul Gofman <<a href="mailto:gofmanp@gmail.com" target="_blank">gofmanp@gmail.com</a>> wrote:<br>
> >> @@ -2629,8 +2622,14 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_<br>
> >>          dst_location = dst_texture->resource.map_binding;<br>
> >><br>
> >>      context = context_acquire(device, dst_texture, dst_sub_resource_idx);<br>
> >> +    scale = abs(src_box->right - src_box->left) != abs(dst_box->right - dst_box->left)<br>
> >> +            || abs(src_box->bottom - src_box->top) != abs(dst_box->bottom - dst_box->top);<br>
> > "scale" is already initialised earlier in the function. It's true that<br>
> > this variant would allow flips and mirrors whereas the variant earlier<br>
> > in the texture2d_blt() doesn't, but flipped/mirrored boxes aren't<br>
> > valid for texture2d_blt(). (In particular, wined3d_texture_blt() calls<br>
> > wined3d_texture_check_box_dimensions(); callers would use<br>
> > WINEDDBLTFX_MIRROR* to do flipped/mirrored blits.)<br>
> ><br>
> >> +    src_location = (scale || convert || blit_op != WINED3D_BLIT_OP_COLOR_BLIT)<br>
> >> +            && wined3d_texture_is_multisample_location(src_texture,<br>
> >> +            src_texture->resource.draw_binding) ? WINED3D_LOCATION_RB_RESOLVED<br>
> >> +            : src_texture->resource.draw_binding;<br>
> > is the "blit_op" check needed?<br>
> I think it is not strictly necessary as colour key or alpha test blits<br>
> won't end up in FBO blitter anyway, but I thought it is less fragile and<br>
> more clear to be explicit here. Should I remove that?<br>
<br>
To the extent that it makes a difference for those blit types, I think<br>
using the resolved location makes sense there as well.<br></blockquote><div dir="auto">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.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br></blockquote></div></div>