Commit: a7c338c38005a6b08b304b7dcf6574bef71f3762 Author: Nathan Letwory Date: Mon Mar 9 20:25:35 2020 +0200 Branches: blender-v2.82-release https://developer.blender.org/rBa7c338c38005a6b08b304b7dcf6574bef71f3762
Fix crash when compiling renderpass shader on some AMD drivers Differential Revision: https://developer.blender.org/D6959 # Conflicts: # source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl =================================================================== M source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl =================================================================== diff --git a/source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl b/source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl index 35bfb411cb9..3475fee901a 100644 --- a/source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl @@ -15,6 +15,7 @@ out vec4 fragColor; void main() { + vec3 color; ivec2 texel = ivec2(gl_FragCoord.xy); if (renderpassType == SCE_PASS_Z) { @@ -25,7 +26,7 @@ void main() else { depth = -get_view_z_from_depth(depth); } - fragColor.r = depth; + color = vec3(depth); } else if (renderpassType == SCE_PASS_AO) { @@ -41,24 +42,26 @@ void main() if (depth != 1.0 && any(notEqual(encoded_normal, vec2(0.0)))) { vec3 decoded_normal = normal_decode(texelFetch(inputBuffer, texel, 0).rg, vec3(0.0)); vec3 world_normal = mat3(ViewMatrixInverse) * decoded_normal; - fragColor = vec4(world_normal, 1.0); + color = world_normal; } else { - fragColor = vec4(0.0, 0.0, 0.0, 1.0); + color = vec3(0.0); } } else if ((renderpassType & ACCUMULATED_VALUE_PASSES) != 0) { float accumulated_value = texelFetch(inputBuffer, texel, 0).r; - fragColor = vec4(vec3(accumulated_value / currentSample), 1.0); + color = vec3(accumulated_value / currentSample); } else if ((renderpassType & ACCUMULATED_COLOR_PASSES) != 0) { vec3 accumulated_color = texelFetch(inputBuffer, texel, 0).rgb; - fragColor = vec4(accumulated_color / currentSample, 1.0); + color = (accumulated_color / currentSample); } else { - fragColor = vec4(1.0, 0.0, 1.0, 1.0); + color = vec4(1.0, 0.0, 1.0, 1.0); } + + fragColor = vec4(color, 1.0); } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs