RenderTexture-based props render corrupted (black center + rainbow edge flicker) after using a mirror when MSAA anti-aliasing is enabled — AMD RDNA2 / Unity 6
tracked
Douic
## Summary
On an AMD Radeon RX 6650 XT, with VRChat's Anti-Aliasing set to x2 (MSAA), using a world
mirror causes props that display a RenderTexture (screens / video players / custom-shader
props) to render corrupted: a black center with multi-colored (red / yellow / blue / green)
flickering bands around the edges. The corruption persists after leaving the mirror, and
clears only when the player looks away from the affected prop and back. VRChat's in-game
camera captures the same props CORRECTLY while the main view is corrupted. Setting
Anti-Aliasing to Off completely resolves the issue.
## Environment
- VRChat Build: 2026.3.3-1919-27c41b24d2-Release
- Unity Version: 6000.0.67f1-DWR
- Graphics API: Direct3D 11.0 [level 11.1]
- GPU: AMD Radeon RX 6650 XT (RDNA2 / Navi 23), 8 GB VRAM
- Driver: AMD Software Adrenalin Edition 26.9.2, driver 32.0.21045.11001 (2026-09-25)
- OS: Windows 11 Pro, build 26200
- Display: 1920x1080 @ 180 Hz
- World where reproduced: wrld_0f204305-922c-4548-9008-12d4ac2d1da6
- VRChat Graphics Settings: Quality = Low, Anti-Aliasing = x2 (reproduces) / Off (fixed)
- Launch options: none relevant (issue reproduces without any launch options)
## Steps to Reproduce
- Set Settings -> Graphics -> Anti-Aliasing to x2 (MSAA).
- Join a world that contains a mirror (VRC_MirrorReflection) and at least one prop that
displays a RenderTexture (e.g. a screen or video player).
- Open / look into the mirror and observe the scene through it.
- Exit the mirror view and look at the RenderTexture-based prop.
## Actual Result
- The prop renders with a solid black center and multi-colored (red / yellow / blue / green)
flickering bands around its edges.
- The colors shift as the camera rotates.
- The corruption persists even when no longer looking through the mirror.
- Looking away from the prop until it leaves the view, then looking back at it, restores
correct rendering.
- VRChat's in-game camera renders the same prop CORRECTLY while the main view is corrupted.
## Expected Result
Props should continue to render normally after using a mirror.
## Workaround
Set Settings -> Graphics -> Anti-Aliasing to
Off
. With MSAA disabled the corruption nolonger reproduces. Reducing the mirror resolution or avoiding the mirror also prevents it.
## Log Evidence
Warning - 'R8_SRGB' is not supported. RenderTexture::GetTemporary fallbacks to R8G8B8A8_SRGB format on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
at VRC.SDKBase.VRC_MirrorReflection.RenderMirror (UnityEngine.RenderTexture targetTexture, UnityEngine.Vector3 camPosition, UnityEngine.Quaternion camRotation, UnityEngine.Matrix4x4 camProjectionMatrix) at VRC.SDKBase.VRC_MirrorReflection.RenderMirrorCameras (UnityEngine.Camera currentCamera, VRC.SDKBase.VRC_MirrorReflection+ActiveRenderModes visibility) at UnityEngine.Experimental.Rendering.ScriptableRuntimeReflectionSystemWrapper .Internal_ScriptableRuntimeReflectionSystemWrapper_TickRealtimeProbes (System.Boolean& result)
## Hypothesis
RenderTexture::GetTemporary
is Unity's pooled temporary render texture. The mirror andRenderTexture-based props draw from the same pool. On this AMD configuration
R8_SRGB
isreported as unsupported and Unity falls back to
R8G8B8A8_SRGB
. Combined with the extraMSAA resolve pass performed by the mirror's render texture, the pooled RT appears to be
handed back with a mismatched format / stale binding state, so props that sample a
RenderTexture receive scrambled channels (black center + rainbow banding). The in-game
camera being unaffected indicates per-camera render state pollution rather than asset or
shader compilation corruption. Disabling MSAA removes the resolve pass and the issue.
## Attachments
Two screenshots taken 2026-10-04 08:48 (local time) while the bug was active on the same prop.
Photo Viewer
View photos in a modal
Log In
StormRel
updated the status to
tracked
StormRel
Merged in a post:
Judder of elements in water on AMD
υnknown
Several worlds have issues with judder of elements on AMD GPUs. I don't know much about this stuff so I'm sure there are many people here who can explain better, but I'm posting this here to maybe, hopefully get some traction to fix it, whether that's world creators, some workaround for VRChat, or even AMD updating their drivers.
The closer your viewpoint is to the water the worse the effect is. The effect is not seen in the camera unless the camera is moving.
Two worlds I've recently been to that I've noticed this issue.
WubTheCaptain
This seems to be the exact same behavior previously reported in a closed issue (which I also experienced with an AMD RX 5700 XT graphics card only), which could not be reliably reproduced: https://feedback.vrchat.com/bug-reports/p/weird-water-graphics-bug
Related recent topic: https://feedback.vrchat.com/bug-reports/p/judder-of-elements-in-water-on-amd
Vince_Borzoi
A similar issue can be seen in this world: https://vrchat.com/home/world/wrld_ebc40dab-e142-41bc-bd64-1c82834b92b0
The water is very shaky and pixelated and also has glowing artifacts around the avatar. Tested on an RX 580.
Photo Viewer
View photos in a modal