Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/texture.c:
- load_info->Depth, load_info->MipLevels) * img_info.ArraySize; - pixels_offset = (sizeof(**resource_data) * load_info->MipLevels * img_info.ArraySize); - if (!(res_data = malloc(pixels_size + pixels_offset))) - { - hr = E_OUTOFMEMORY; + hr = d3dx_create_subresource_data_for_texture(load_info->Width, load_info->Height, load_info->Depth, + load_info->MipLevels, img_info.ArraySize, fmt_desc, &sub_rsrcs); + if (FAILED(hr)) goto end; - } - - pixels_buffer = res_data + pixels_offset; - *resource_data = (D3D10_SUBRESOURCE_DATA *)res_data;
src_desc = get_d3dx_pixel_format_info(image.format); + loaded_mip_levels = min(img_info.MipLevels, load_info->MipLevels); Similarly here.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9155#note_118697