Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/texture.c:
load_info->MipLevels = (load_info->MipLevels == D3DX10_FROM_FILE) ? img_info.MipLevels : max_mip_level_count; load_info->MipLevels = min(max_mip_level_count, load_info->MipLevels);
+ if ((load_info->Width != image.size.width) || (load_info->Height != image.size.height) + || (load_info->Depth != image.size.depth) || (load_info->MipLevels != image.mip_levels) + || (fmt_desc->format != image.format))
It doesn't look like mip levels should be checked here. I tried to tweak the new test from the previous commit to use a different mip count and it still passed. I only tested d3dx10_43 32-bit; hopefully the behavior isn't version or bitness-specific. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10513#note_135309