Skip to content

Commit 1eb0039

Browse files
committed
Fix regression around OpenGL swapchain optimisation for OpenXR
1 parent 88d9325 commit 1eb0039

File tree

6 files changed

+8
-8
lines changed

6 files changed

+8
-8
lines changed

drivers/gles3/rasterizer_gles3.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void RasterizerGLES3::end_frame(bool p_swap_buffers) {
107107
utils->capture_timestamps_end();
108108
}
109109

110-
void RasterizerGLES3::end_viewport(bool p_swap_buffers) {
110+
void RasterizerGLES3::gl_end_frame(bool p_swap_buffers) {
111111
if (p_swap_buffers) {
112112
DisplayServer::get_singleton()->swap_buffers();
113113
} else {
@@ -491,7 +491,7 @@ void RasterizerGLES3::set_boot_image(const Ref<Image> &p_image, const Color &p_c
491491
copy_effects->copy_to_rect(screenrect);
492492
glBindTexture(GL_TEXTURE_2D, 0);
493493

494-
end_viewport(true);
494+
gl_end_frame(true);
495495

496496
texture_storage->texture_free(texture);
497497
}

drivers/gles3/rasterizer_gles3.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class RasterizerGLES3 : public RendererCompositor {
9999

100100
void blit_render_targets_to_screen(DisplayServer::WindowID p_screen, const BlitToScreen *p_render_targets, int p_amount);
101101

102-
void end_viewport(bool p_swap_buffers);
102+
void gl_end_frame(bool p_swap_buffers);
103103
void end_frame(bool p_swap_buffers);
104104

105105
void finalize();

servers/rendering/dummy/rasterizer_dummy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class RasterizerDummy : public RendererCompositor {
8888

8989
void blit_render_targets_to_screen(int p_screen, const BlitToScreen *p_render_targets, int p_amount) override {}
9090

91-
void end_viewport(bool p_swap_buffers) override {}
91+
void gl_end_frame(bool p_swap_buffers) override {}
9292

9393
void end_frame(bool p_swap_buffers) override {
9494
if (p_swap_buffers) {

servers/rendering/renderer_compositor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class RendererCompositor {
9898

9999
virtual void blit_render_targets_to_screen(DisplayServer::WindowID p_screen, const BlitToScreen *p_render_targets, int p_amount) = 0;
100100

101-
virtual void end_viewport(bool p_swap_buffers) = 0;
101+
virtual void gl_end_frame(bool p_swap_buffers) = 0;
102102
virtual void end_frame(bool p_swap_buffers) = 0;
103103
virtual void finalize() = 0;
104104
virtual uint64_t get_frame_number() const = 0;

servers/rendering/renderer_rd/renderer_compositor_rd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class RendererCompositorRD : public RendererCompositor {
122122
void begin_frame(double frame_step);
123123
void blit_render_targets_to_screen(DisplayServer::WindowID p_screen, const BlitToScreen *p_render_targets, int p_amount);
124124

125-
void end_viewport(bool p_swap_buffers) {}
125+
void gl_end_frame(bool p_swap_buffers) {}
126126
void end_frame(bool p_swap_buffers);
127127
void finalize();
128128

servers/rendering/renderer_viewport.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,7 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
786786
if (OS::get_singleton()->get_current_rendering_driver_name().begins_with("opengl3")) {
787787
if (blits.size() > 0) {
788788
RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blits.ptr(), blits.size());
789+
RSG::rasterizer->gl_end_frame(p_swap_buffers);
789790
}
790791
} else if (blits.size() > 0) {
791792
if (!blit_to_screen_list.has(vp->viewport_to_screen)) {
@@ -796,7 +797,6 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
796797
blit_to_screen_list[vp->viewport_to_screen].push_back(blits[b]);
797798
}
798799
}
799-
RSG::rasterizer->end_viewport(p_swap_buffers && blits.size() > 0);
800800
}
801801
}
802802
} else
@@ -826,10 +826,10 @@ void RendererViewport::draw_viewports(bool p_swap_buffers) {
826826
Vector<BlitToScreen> blit_to_screen_vec;
827827
blit_to_screen_vec.push_back(blit);
828828
RSG::rasterizer->blit_render_targets_to_screen(vp->viewport_to_screen, blit_to_screen_vec.ptr(), 1);
829+
RSG::rasterizer->gl_end_frame(p_swap_buffers);
829830
} else {
830831
blit_to_screen_list[vp->viewport_to_screen].push_back(blit);
831832
}
832-
RSG::rasterizer->end_viewport(p_swap_buffers);
833833
}
834834
}
835835

0 commit comments

Comments
 (0)