Search Issue Tracker
By Design
Votes
0
Found in
6000.0.49f1
6000.1.4f1
6000.2.0b3
Issue ID
UUM-107367
Regression
No
MSAA warnings are thrown when custom post-processing is used and the Scene contains transparent GameObjects
Reproduction steps:
1. Open the attached “IOSSwapBlitIssue-6000.1” project
2. Build the project for the iOS platofrm
3. Launch the built Xcode project on a iOS device
4. Observe the Xcode console
Expected result: No warnings regarding MSAA are displayed
Actual result: “Attempt to load AA-ed RT contents after it was resolved without storing…” warning is displayed
Reproducible with: 6000.0.49f1, 6000.1.4f1, 6000.2.0b3
Couldn't test with: 2022.3.62f1 (Script compilation errors)
Testing environment: macOS Sequoia 15.4.1 (M1 Max)
Reproducible with these devices:
VLNQA00624, iPhone 16 Pro, iOS: 18.5, CPU: Apple A18 Pro
VLNQA00394, iPhone 13 mini, iOS: 18.1, CPU: Apple A15 Bionic
VLNQA00359, iPhone 12 Pro, iOS: 17.6.1, CPU: Apple A14 Bionic
Not reproducible with these devices:
VLNQA00363, Samsung Galaxy Z Fold 2, OS: 12, CPU: Snapdragon 865 SM8250, GPU: Adreno 650
VLNQA00526, Samsung Galaxy A12, OS: 12, CPU: Mediatek MT6765 Helio P35 (12nm), GPU: PowerVR Rouge GE8320
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
The warning in this case is actually correct. In the DepthHeightColorGradingPass, RenderGraphUtility.AddUnsafeBlitAndSwapPass is called which in turn does
Blitter.BlitCameraTexture(cmd, passData.Source, passData.Destination, passData.Material, 0);
It might be missing from earlier version documentation, but if you check
https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.3/api/UnityEngine.Rendering.Blitter.html
BlitCameraTexture docs are saying
This overload is equivalent to BlitCameraTexture(CommandBuffer, RTHandle, RTHandle, RenderBufferLoadAction, RenderBufferStoreAction, Material, int) with the loadAction set to UnityEngine.Rendering.RenderBufferLoadAction.Load and the storeAction set to UnityEngine.Rendering.RenderBufferStoreAction.Store.
The RenderTexture used in DepthHeightColorGradingPass is later discarded by RenderGraph (by doing AA resolve without storing AA data), so loading it here is indeed an "error" since the contents are undefined. To fix it, just signal the intent explicitly (since the contents are fully overwritten) by dong
Blitter.BlitCameraTexture(cmd, passData.Source, passData.Destination, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store, passData.Material, 0);