summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-10-04 12:21:27 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-10-04 12:21:27 +0200
commite5aa5eb8067fada41ad8ecb5027a7917d6d5084c (patch)
treecd7960350dfe748782f1f4dacae8597ce917e504 /servers
parent2b9a145158e492cec23409c15852290438bf33f3 (diff)
parentec5c4709bd1051ede664a806d15a1b7c9024fb40 (diff)
Merge pull request #66780 from dsnopek/webxr-emulator-fix
Fix rendering in the WebXR emulator
Diffstat (limited to 'servers')
-rw-r--r--servers/rendering/renderer_viewport.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/servers/rendering/renderer_viewport.cpp b/servers/rendering/renderer_viewport.cpp
index 11d22f321b..1db018b647 100644
--- a/servers/rendering/renderer_viewport.cpp
+++ b/servers/rendering/renderer_viewport.cpp
@@ -678,11 +678,13 @@ void RendererViewport::draw_viewports() {
// commit our eyes
Vector<BlitToScreen> blits = xr_interface->post_draw_viewport(vp->render_target, vp->viewport_to_screen_rect);
- if (vp->viewport_to_screen != DisplayServer::INVALID_WINDOW_ID && blits.size() > 0) {
+ if (vp->viewport_to_screen != DisplayServer::INVALID_WINDOW_ID) {
if (OS::get_singleton()->get_current_rendering_driver_name() == "opengl3") {
- RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blits.ptr(), blits.size());
+ if (blits.size() > 0) {
+ RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blits.ptr(), blits.size());
+ }
RSG::rasterizer->end_frame(true);
- } else {
+ } else if (blits.size() > 0) {
if (!blit_to_screen_list.has(vp->viewport_to_screen)) {
blit_to_screen_list[vp->viewport_to_screen] = Vector<BlitToScreen>();
}