diff options
Diffstat (limited to 'servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl')
-rw-r--r-- | servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl b/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl index 7192e596eb..3f9d1cce79 100644 --- a/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl +++ b/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl @@ -21,6 +21,7 @@ #define FLAG_ALPHA_TO_ONE (1 << 5) #define FLAG_LINEAR (1 << 6) #define FLAG_NORMAL (1 << 7) +#define FLAG_USE_SRC_SECTION (1 << 8) #ifdef USE_MULTIVIEW layout(location = 0) out vec3 uv_interp; @@ -54,6 +55,10 @@ void main() { if (bool(params.flags & FLAG_FLIP_Y)) { uv_interp.y = 1.0 - uv_interp.y; } + + if (bool(params.flags & FLAG_USE_SRC_SECTION)) { + uv_interp = params.section.xy + uv_interp * params.section.zw; + } } #[fragment] |