[v3 PATCH 3/3] wined3d: Use EXT_framebuffer_multisample_blit_scaled extension.
Henri Verbeet
hverbeet at gmail.com
Wed Mar 11 10:25:20 CDT 2020
On Wed, 11 Mar 2020 at 16:30, Paul Gofman <gofmanp at gmail.com> wrote:
> >> @@ -2630,7 +2635,8 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_
> >> if (wined3d_texture_is_multisample_location(dst_texture, dst_location))
> >> dst_location = WINED3D_LOCATION_RB_RESOLVED;
> >>
> >> - if (wined3d_texture_is_multisample_location(src_texture, src_location))
> >> + if ((!context->d3d_info->scaled_resolve || blit_op != WINED3D_BLIT_OP_COLOR_BLIT || convert)
> >> + && wined3d_texture_is_multisample_location(src_texture, src_location))
> >> src_location = WINED3D_LOCATION_RB_RESOLVED;
> >> }
> > If scaled resolves are supported, we don't need to modify
> > "dst_location" either, right?
>
> No, we have to. Scaled resolve allows to scale from multisampled
> texture, but if destination is multisampled it always fails for me.
> There is explicit check for zero samples count on destination I spotted
> in Mesa code, and it seems to fail the same way on Nvidia.
>
Right, I checked the spec and it does say that. That limits the
benefit of EXT_framebuffer_multisample_blit_scaled a bit, but I guess
it's fine.
More information about the wine-devel
mailing list