SDL: Add a note that OpenVR overlays assume unpremultiplied alpha by default

From 87e3250518a02e64246951f68d8e862c08388883 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 6 Oct 2025 11:58:21 -0700
Subject: [PATCH] Add a note that OpenVR overlays assume unpremultiplied alpha
 by default

---
 src/video/openvr/SDL_openvrvideo.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/video/openvr/SDL_openvrvideo.c b/src/video/openvr/SDL_openvrvideo.c
index b163f4df5135a..d3f471d75efdf 100644
--- a/src/video/openvr/SDL_openvrvideo.c
+++ b/src/video/openvr/SDL_openvrvideo.c
@@ -654,6 +654,14 @@ static bool OPENVR_InitializeOverlay(SDL_VideoDevice *_this,SDL_Window *window)
     videodata->oOverlay->SetOverlayFlag(videodata->overlayID, 1<<23, true); //vr::VROverlayFlags_EnableControlBar
     videodata->oOverlay->SetOverlayFlag(videodata->overlayID, 1<<24, true); //vr::VROverlayFlags_EnableControlBarKeyboard
     videodata->oOverlay->SetOverlayFlag(videodata->overlayID, 1<<25, true); //vr::VROverlayFlags_EnableControlBarClose
+#if 0
+    /* OpenVR overlays assume unpremultiplied alpha by default, set this flag to tag the source buffer as premultiplied.
+     * Note that (as of 2025) OpenVR overlay composition is higher quality when premultiplied buffers are provided,
+     * as texture samplers that blend energy (such as bilinear) do not yield sensical results when operating on natively
+     * unpremultiplied textures. It is thus preferable to hand openvr natively premultiplied buffers when accurate
+     * sampling / composition is required. */
+    videodata->oOverlay->SetOverlayFlag(videodata->overlayID, VROverlayFlags_IsPremultiplied, true );
+#endif
     videodata->oOverlay->SetOverlayName(videodata->overlayID, window->title);
 
     videodata->bDidCreateOverlay = true;