On 3/11/20 18:25, Henri Verbeet wrote:
On Wed, 11 Mar 2020 at 16:30, Paul Gofman gofmanp@gmail.com wrote:
No, we have to. Scaled resolve allows to scale from multisampled texture, but if destination is multisampled it always fails for me. There is explicit check for zero samples count on destination I spotted in Mesa code, and it seems to fail the same way on Nvidia.
Right, I checked the spec and it does say that. That limits the benefit of EXT_framebuffer_multisample_blit_scaled a bit, but I guess it's fine.
I can guess it was not immediately clear how and why resample coverage masks other than resolve it first and then stretch. I hope even with this limitation it is still beneficial for the majority of practical cases as resolving source to destination is probably a more common use case (for which it works). Also if the destination surface is fully overwritten we avoid an extra blit for resolving destination surface by using _prepare_location() instead of _load_location() in texture2d_blt_fbo().