We need to figure out what the semantics are of the following cases:
swapChain = ctx.configureSwapChain(...);
const t1 = swapChain.getCurrentTexture();
swapChain = ctx.configureSwapChain(...); // Is t1 destroyed?
const t2 = swapChain.getCurrentTexture(); // Same texture? New texture?
canvas.width++;
const t1 = swapChain.getCurrentTexture();
canvas.width++; // Is t1 destroyed? Or do we continue on pretending the canvas hasn't changed size?
const t2 = swapChain.getCurrentTexture(); // Same texture? New texture?
swapChain = ctx.configureSwapChain(...);
canvas.width++; // Is swapChain destroyed?
Somewhat related to #1548