diff --git a/src/render/wiiu/SDL_rpresent_wiiu.c b/src/render/wiiu/SDL_rpresent_wiiu.c index 111dd3025..421abd30a 100644 --- a/src/render/wiiu/SDL_rpresent_wiiu.c +++ b/src/render/wiiu/SDL_rpresent_wiiu.c @@ -101,19 +101,22 @@ static void render_scene(SDL_Renderer * renderer) { void WIIU_SDL_RenderPresent(SDL_Renderer * renderer) { WIIU_RenderData *data = (WIIU_RenderData *) renderer->driverdata; - //SDL_Window *window = renderer->window; - - //GX2Flush(); + Uint32 flags = SDL_GetWindowFlags(renderer->window); WHBGfxBeginRender(); - WHBGfxBeginRenderTV(); - render_scene(renderer); - WHBGfxFinishRenderTV(); +/* Only render to TV if the window is *not* drc-only */ + if (!(flags & SDL_WINDOW_WIIU_GAMEPAD_ONLY)) { + WHBGfxBeginRenderTV(); + render_scene(renderer); + WHBGfxFinishRenderTV(); + } - WHBGfxBeginRenderDRC(); - render_scene(renderer); - WHBGfxFinishRenderDRC(); + if (!(flags & SDL_WINDOW_WIIU_TV_ONLY)) { + WHBGfxBeginRenderDRC(); + render_scene(renderer); + WHBGfxFinishRenderDRC(); + } WHBGfxFinishRender(); diff --git a/src/video/wiiu/SDL_wiiuvideo.h b/src/video/wiiu/SDL_wiiuvideo.h index bf5e1a9f7..3cbf3df4c 100644 --- a/src/video/wiiu/SDL_wiiuvideo.h +++ b/src/video/wiiu/SDL_wiiuvideo.h @@ -35,4 +35,11 @@ typedef struct GX2Texture texture; } WIIU_WindowData; +typedef struct +{ + SDL_bool tv_window_exists; + SDL_bool drc_window_exists; + SDL_bool mirrored_window_exists; +} WIIU_VideoDeviceData; + #endif //SDL_wiiuvideo_h