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
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- Crash with “Fatal Error! The file ‘MemoryStream’ is corrupted!” when adding a large number in Font Character Rects Size field
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);