On Tue, 9 Mar 2021 at 10:26, Jan Sikorski jsikorski@codeweavers.com wrote:
dlls/wined3d/device.c | 5 ++++- dlls/wined3d/surface.c | 3 +++ include/wine/wined3d.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-)
This is largely fine, but you should adjust existing usage of wined3d_blt_fx as well. In particular, after this change, ddraw_surface1_Blt() leaves the "resolve_format_id" field uninitialised. That kind of works as long as wined3d doesn't access the field, but note that we trace it's value in texture2d_blt().
@@ -1479,6 +1479,7 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_ enum wined3d_texture_filter_type filter) { struct wined3d_texture_sub_resource *src_sub_resource, *dst_sub_resource;
- enum wined3d_format_id resolve_format_id = WINED3DFMT_UNKNOWN; struct wined3d_device *device = dst_texture->resource.device; struct wined3d_swapchain *src_swapchain, *dst_swapchain; const struct wined3d_color_key *colour_key = NULL;
@@ -1509,6 +1510,8 @@ HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_ TRACE("src_color_key {0x%08x, 0x%08x}.\n", fx->src_color_key.color_space_low_value, fx->src_color_key.color_space_high_value);
TRACE("resolve_format_id %s.\n", debug_d3dformat(fx->resolve_format_id));
}resolve_format_id = fx->resolve_format_id;
"resolve_format_id" is set, but not used.