On 17 March 2017 at 12:57, Józef Kucia jkucia@codeweavers.com wrote:
The idea behind the patch series is to split blit and memcpy-like copy operations.
That wasn't the direction I was going with this though.
A few arguments in favor of this idea:
- memcpy-like is simpler operation (doesn't support conversion or stretching),
Sure, but we do already check for that in wined3d_surface_blt().
- we shouldn't need to extend blitter to handle other resource types (it's fine to support just 2D textures),
Sure, but extending that interface is trivial, and arguably it should be using texture/sub-resource index anyway.
- blit and copy operations should produce different results between different formats (blitter performs conversions),
That's somewhat of an issue, but we do already have blitter flags for alpha test, color keying, flipping, mirroring, etc.
- copy operation should be allowed between various formats of the same size (including compressed and non-compressed formats),
- it should be possible to implement wined3d_device_update_texture() on top of wined3d_cs_emit_copy_sub_resource().
I don't think those are incompatible with the current blitter interface.