Firstly,
SDL_WINDOW_METAL
is for manually using Metal, I think? Since you're not, I'd remove it. Second, even without that, I don't think not clearing the renderer every frame is portable. You should draw to a texture instead (which will be persistent), and draw that to the screen.