I'm attempting to integrate borderless fullscreen into my application at the moment, which uses SDL3 for windowing.
When calling the SDL_SetWindowFullscreen function as per the documentation, behaviour appears to change depending on what graphics API is rendering to it. For rendering I currently use the bgfx rendering library, but in this case the issue seems to be more related to the graphics-API owned context rendering to the window. When rendering using D3D11 or 12, SDL_SetWindowFullscreen behaves as one would expect from the documentation, switching to borderless fullscreen when called. However, when rendering to the window from a Vulkan or OpenGL context, the window instead switches into exclusive fullscreen, even when explicitly calling SDL_SetWindowFullscreenMode(sdlWindow, NULL); beforehand.
Is there some way to work around this issue? (Is it even an SDL issue at all or perhaps a driver oddity?)