Page MenuHome

Regression: 3.2 EEVEE Bloom Pass Outputs Final Image Instead of Bloom Only
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.59

Blender Version
Broken: version: 3.2.0
Worked: version: 3.1.2
Caused by rBca37654b6327: Fix T96920 DRW: Regression: Hair strands are drawn in wrong place

Short description of error
Bloom Pass output of Render Layer compositing node outputs the final combined image, and not the expected bloom only pass.

Exact steps for others to reproduce the error
1 - Open default scene
2 - Enable Bloom in Render Properties (values of bloom do not matter)
3 - Enable Bloom Pass in View Layer Properties
4 - Render and check pass

Default Light set to Sun for ease of viewing, light setting does not impact this issue.

File with these steps followed included:

Expected Behavior (Solo Bloom Pass) (3.1.2 2022-03-31 17:40, hash: 'cc66d1020c3b')

Resulting Behavior (Solo Bloom Pass) (3.2 2022-06-08 10:22, hash: `e05e1e369187')

Event Timeline

Pratik Borhade (PratikPB2123) changed the task status from Needs Triage to Confirmed.Jun 20 2022, 8:04 AM

Thanks for the report. I can confirm.

I'll find the responsible commit

Pratik Borhade (PratikPB2123) triaged this task as High priority.EditedJun 20 2022, 10:07 AM

git bisect points me to- rBca37654b6327: Fix T96920 DRW: Regression: Hair strands are drawn in wrong place
Though this doesn't look like a responsible commit to me
cc @Clément Foucault (fclem)

Pratik Borhade (PratikPB2123) renamed this task from 3.2 EEVEE Bloom Pass Outputs Final Image Instead of Bloom Only to Regression: 3.2 EEVEE Bloom Pass Outputs Final Image Instead of Bloom Only.Jun 20 2022, 10:08 AM

I reconfirm that the mentioned commit is the culprit. Will review the change perhaps it changes the gpu state in a way that wasn't meant to be.

Issue is that the order of uniforms are reversed and an additional uniform overwrite the bloomAddBase to include the render result.


(Left is incorrect, right is correct)

(call overrides the previous value...)