@@ -683,20 +683,16 @@ public void SurfaceChanged(ISurfaceHolder holder, global::Android.Graphics.Forma
683683 // picks up the new ANativeWindow and negotiates a proper BGRA/RGBA 8-bit swapchain.
684684 if ( format == global ::Android . Graphics . Format . Rgb565 && LogManagement . IsVulkanConfigured ( ) )
685685 {
686- Logger . Log (
687- "[osu!] Android surface pixel format RGB565 detected mid-session (Vulkan path). " +
688- "Requesting RGBA8888 and triggering a surface recreate. " +
689- "If this fires after startup it indicates an OEM display-mode change " +
690- "(e.g. SetSustainedPerformanceMode) reset the surface format." ,
691- LoggingTarget . Runtime ,
692- LogLevel . Important ) ;
693- Logger . Log (
694- "[osu!] Android surface pixel format RGB565 is incompatible with the Vulkan rendering pipeline " +
695- "— requesting RGBA8888 and triggering a surface recreate. " +
696- "This is the root cause of the Vulkan black-screen crash on Adreno (SDL_PIXELFORMAT_RGB565 in runtime log). " +
697- "The next SurfaceChanged will carry the corrected format." ,
698- LoggingTarget . Performance ,
699- LogLevel . Important ) ;
686+ // Log to Runtime so the mid-session RGB565 reset is visible in the main log
687+ // (and therefore in the notification overlay). Performance log gets the same
688+ // entry for correlation with display-mode and frame-timing data.
689+ string rgb565Message =
690+ "[osu!] Android surface pixel format RGB565 detected (Vulkan path) — " +
691+ "requesting RGBA8888 and triggering a surface recreate. " +
692+ "If this fires after startup an OEM display-mode change reset the surface format, " +
693+ "which would cause a mid-session swapchain rebuild at wrong dimensions." ;
694+ Logger . Log ( rgb565Message , LoggingTarget . Runtime , LogLevel . Important ) ;
695+ Logger . Log ( rgb565Message , LoggingTarget . Performance , LogLevel . Important ) ;
700696
701697 try
702698 {
0 commit comments