On Thu Feb 27 01:04:11 2025 +0000, Elizabeth Figura wrote:
Thanks for the patch!
[dlls/wined3d/surface.c#L1570](https://gitlab.winehq.org/riyu12383/wine/-/blob/f48645249a3402801f1ca942c35e...) not exactly sure if it's related and should be removed then ? It's there because not every case of scaling is implemented in the CPU blitter. This patch addresses one case, but notably we still don't implement non-point filtering. It's also there because (at least at the time) it wasn't clear that using the CPU for such a complex blit was better for performance. (It may still not be better...) With respect to the patch itself, I feel like it should be possible to just do something simple like
if (same_sub_resource) { tmp_buffer = ... memcpy(tmp_buffer, sbase, ...) sbuf = tmp_buffer; }
and then keep the rest of that branch as-is? That would be a bit simpler. A test would be appreciated.
Ahah yes indeed, I was locked on allocating the minimum needed, but yeah that's also not worth it, I've updated it.