Commit: fb7132386ceca6ad258beb6787aca4b7a010a897 Author: Omar Emara Date: Wed Mar 30 16:04:32 2022 +0200 Branches: temp-viewport-compositor-compiler https://developer.blender.org/rBfb7132386ceca6ad258beb6787aca4b7a010a897
Viewport Compositor: Ensure bounded loads in shaders Bound texture loads by their size to support single results and non-robust GL implementations. =================================================================== M source/blender/gpu/shaders/compositor/material/gpu_shader_compositor_load_input.glsl =================================================================== 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 68568236145..109279ed47d 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,20 @@ void load_input_float(sampler2D input_sampler, out float value) { ivec2 xy = ivec2(gl_GlobalInvocationID.xy); - value = texelFetch(input_sampler, xy, 0).x; + ivec2 texture_bounds = textureSize(input_sampler, 0) - ivec2(1); + value = texelFetch(input_sampler, min(xy, texture_bounds), 0).x; } void load_input_vector(sampler2D input_sampler, out vec3 vector) { ivec2 xy = ivec2(gl_GlobalInvocationID.xy); - vector = texelFetch(input_sampler, xy, 0).xyz; + ivec2 texture_bounds = textureSize(input_sampler, 0) - ivec2(1); + vector = texelFetch(input_sampler, min(xy, texture_bounds), 0).xyz; } void load_input_color(sampler2D input_sampler, out vec4 color) { ivec2 xy = ivec2(gl_GlobalInvocationID.xy); - color = texelFetch(input_sampler, xy, 0); + ivec2 texture_bounds = textureSize(input_sampler, 0) - ivec2(1); + color = texelFetch(input_sampler, min(xy, texture_bounds), 0); } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs