Hmm, I don't have any issues on my end, but I wonder if you're exporting to html5 or GX? window_get_height() might be reporting the canvas or display size incorrectly or something. I haven't been able to test non-desktop targets very extensively, but the canvas size could definitely be playing into it if that happens to be your target. As a quick band-aid fix, you can replace a couple of lines in the main fragment shader (shd_pass_dot_matrix).
in pipeline_background() (line 46):
// Function that handles everything required for the background
vec3 pipeline_background(vec2 uv) {
vec2 flipped_uv = uv; // New: create a new temporary variable
flipped_uv.y = 1.0 - uv.y; // New: Flip the vertical UV
vec4 bg_src = clamp(texture2D(u_blur_sampler, flipped_uv), vec4(0.0), vec4(1.0)); // Edit: pass flipped_uv instead of uvIn pipeline_main() (line 76):
// Sample the content uv_main.y = 1.0 - uv_main.y; // <- New: flip the main UV uv_shadow.y = 1.0 - uv_shadow.y; // <- New: flip the shadow UV vec4 src_color = pow(texture2D(gm_BaseTexture, uv_main), vec4(1.0/u_content_gamma)); vec4 shadow_src = pow(texture2D(gm_BaseTexture, uv_shadow), vec4(1.0/u_content_gamma));
These just do an explicit flip of the main game surface to counter-act the flipping you're seeing. Depending what your export target is, I might be able to narrow down the source of the problem further. I hope this helps!