[Bf-blender-cvs] [a71a3a62677] temp-viewport-compositor-compiler: Viewport Compositor: Clamp textures to edges at zero
Omar Emara
noreply at git.blender.org
Thu Mar 31 16:22:13 CEST 2022
Commit: a71a3a62677f0b4e11313b231990575566eb9750
Author: Omar Emara
Date: Thu Mar 31 16:19:50 2022 +0200
Branches: temp-viewport-compositor-compiler
https://developer.blender.org/rBa71a3a62677f0b4e11313b231990575566eb9750
Viewport Compositor: Clamp textures to edges at zero
===================================================================
M source/blender/gpu/shaders/compositor/compositor_convert.glsl
M source/blender/gpu/shaders/compositor/compositor_split_viewer.glsl
M source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl
M source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_texture_utils.glsl
===================================================================
diff --git a/source/blender/gpu/shaders/compositor/compositor_convert.glsl b/source/blender/gpu/shaders/compositor/compositor_convert.glsl
index e2156ffac86..2196d87eb62 100644
--- a/source/blender/gpu/shaders/compositor/compositor_convert.glsl
+++ b/source/blender/gpu/shaders/compositor/compositor_convert.glsl
@@ -3,6 +3,6 @@
void main()
{
ivec2 xy = ivec2(gl_GlobalInvocationID.xy);
- vec4 texel = load_texture(input_sampler, xy);
+ vec4 texel = texture_load(input_sampler, xy);
imageStore(output_image, xy, CONVERT_EXPRESSION);
}
diff --git a/source/blender/gpu/shaders/compositor/compositor_split_viewer.glsl b/source/blender/gpu/shaders/compositor/compositor_split_viewer.glsl
index 1b78e094e9f..08988ad4609 100644
--- a/source/blender/gpu/shaders/compositor/compositor_split_viewer.glsl
+++ b/source/blender/gpu/shaders/compositor/compositor_split_viewer.glsl
@@ -8,6 +8,6 @@ void main()
#elif defined(SPLIT_VERTICAL)
bool condition = (view_size.y * split_ratio) < xy.y;
#endif
- vec4 color = condition ? load_texture(first_image, xy) : load_texture(second_image, xy);
+ vec4 color = condition ? texture_load(first_image, xy) : texture_load(second_image, xy);
imageStore(output_image, xy, color);
}
diff --git a/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl b/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl
index e3fa93c492b..50c4d3ede90 100644
--- a/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl
+++ b/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl
@@ -1,17 +1,17 @@
void load_input_float(sampler2D input_sampler, out float value)
{
ivec2 xy = ivec2(gl_GlobalInvocationID.xy);
- value = load_texture(input_sampler, xy).x;
+ value = texture_load(input_sampler, xy).x;
}
void load_input_vector(sampler2D input_sampler, out vec3 vector)
{
ivec2 xy = ivec2(gl_GlobalInvocationID.xy);
- vector = load_texture(input_sampler, xy).xyz;
+ vector = texture_load(input_sampler, xy).xyz;
}
void load_input_color(sampler2D input_sampler, out vec4 color)
{
ivec2 xy = ivec2(gl_GlobalInvocationID.xy);
- color = load_texture(input_sampler, xy);
+ color = texture_load(input_sampler, xy);
}
diff --git a/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_texture_utils.glsl b/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_texture_utils.glsl
index 3c7ef53618d..49ccc223d44 100644
--- a/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_texture_utils.glsl
+++ b/source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_texture_utils.glsl
@@ -5,8 +5,8 @@ ivec2 texture_size(sampler2D sampler)
}
/* A shorthand for texelFetch with zero LOD and bounded access clamped to border. */
-vec4 load_texture(sampler2D sampler, ivec2 xy)
+vec4 texture_load(sampler2D sampler, ivec2 xy)
{
ivec2 texture_bounds = texture_size(sampler) - ivec2(1);
- return texelFetch(sampler, min(xy, texture_bounds), 0);
+ return texelFetch(sampler, clamp(xy, ivec2(0), texture_bounds), 0);
}
More information about the Bf-blender-cvs
mailing list