Search Issue Tracker
Won't Fix
Votes
0
Found in
2022.3.17f1
2023.2.4f1
2023.3.0b1
6000.0.0b11
Issue ID
UUM-59881
Regression
No
Color Buffer returns resolved pixel sample values for partially covered pixels when RenderTextureDescriptor.BindMS is set to true
Reproduction steps:
1. Open the attached "ReproProj.zip" project
2. Open the "Assets/Scenes/SampleScene" scene
3. Enter the Play Mode
4. Do not move the camera and press the "t" key
5. Observe the Console Logs
Expected results: Color sample data values differ based on the part of a pixel
Actual results: Color sample data values are consistent across different parts of a pixel
Reproducible with: 2022.3.17f1, 2023.2.4f1, 2023.3.0b1
Could not test with: 2021.3.34f1(Could not resolve errors)
Reproducible on: Windows 11 Pro
Not reproducible on: No other environments tested
Notes:
- The first four values in each Console Log correspond to the pixel sample data
- "s0" and "s1" denote sample position
- The flag of RenderTextureCreationFlags.NoResolvedColorSurface is read-only, therefore it is not possible to manually stop the Color sample values from resolving
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
- Texture Import Warnings are obscured by other Terrain Layer options in the Inspector
- Burst Inspector middle divider is jittering when resized with the Burst Inspector window docked
- JsonConvert conversion fails trying to call GetCallbackMethodsForType when [OnDeserialized] is used in a class
- Different text alignment in the column header in Entities "System" window
- Objects with Universal Render Pipeline/Particles/Lit shader are always lit up when changing their Rendering Layer Mask
Resolution Note:
The issue isn't that RenderTextureDescriptor.BindMS is ignored, but that the camera color attachment has already been resolved by the time that the user uses it to blit into their 4x multisample texture.
URP and other engine features (such as the frame debugger) currently relies on this auto-resolving of color surfaces to be done. Hence, URP can be modified to not auto-resolve the color surface by modifying the camera's color target to have the bindMS flag. However, this would require the user to handle their own resolve-pass and postprocessing.
A workaround that didn't involve substantial changes to URP was provided to the user that introduces a separate draw pass that outputs to a 4x offscreen bindMS color target. Please reopen if the provided solution did not fit your needs and we can investigate further.