GLSL Node Scale Issue


I am working on a fairly simple glsl plugin which takes an image as input and shuffles the pixels around using a basic algorithm. I have run into some issues using the texture coordinates (in0.st) and am guessing it is syntactic.

The following returns the correct input image pixels:

vec4 main (const in inputImage in0) { return in0(); }

The following returns a scaled version of the input image with a black border:

vec4 main (const in inputImage in0) { return in0(in0.st); }

What is the correct way to access the current coordinate of the rendering pixel? And where is the scaling coming from that I am seeing?

The output image matches the size of the input (2560x1440) in both cases.