Is there a quicker way to upload a cropped version of an image to the GPU than blitting it to a canvas first?

const croppedImageCanvas = document.createElement(‘canvas’);
croppedImageCanvas.width = 100;
croppedImageCanvas.height = 100;
const croppedImageCtx = croppedImageCanvas.getContext(‘2d’);
croppedImageCtx.drawImage(SOME_LARGE_IMAGE, 0, 0);
const gpuTexture = new CanvasTexture(croppedImageCanvas);

This seems fairly performant, but I was wondering if there’s something I’m missing in the library, assuming SOME_LARGE_IMAGE is a HTML canvas with a 2D context, is there a more efficient way of sending a cropped version of it to the GPU, without having to create another canvas and draw to it?