Skip to content

Commit 41840fa

Browse files
committed
revert color_attachment_4/5 fbo workarounds
1 parent 6c2a9e5 commit 41840fa

2 files changed

Lines changed: 0 additions & 43 deletions

File tree

code/graphics/opengl/gropengldeferred.cpp

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -88,22 +88,9 @@ void gr_opengl_deferred_lighting_begin(bool clearNonColorBufs)
8888
} else {
8989
// Copy the existing color data into the emissive part of the G-buffer since everything that already existed is
9090
// treated as emissive
91-
#ifndef USE_OPENGL_ES
9291
glDrawBuffer(GL_COLOR_ATTACHMENT4);
9392
glReadBuffer(GL_COLOR_ATTACHMENT0);
9493
glBlitFramebuffer(0, 0, gr_screen.max_w, gr_screen.max_h, 0, 0, gr_screen.max_w, gr_screen.max_h, GL_COLOR_BUFFER_BIT, GL_NEAREST);
95-
#else
96-
// one again ES does not consider GL_COLOR_ATTACHMENT4 as valid draw buffer
97-
GLint prev_read_fbo = 0, prev_tex2d = 0;
98-
glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, &prev_read_fbo);
99-
glGetIntegerv(GL_TEXTURE_BINDING_2D, &prev_tex2d);
100-
glBindFramebuffer(GL_READ_FRAMEBUFFER, Scene_framebuffer);
101-
glReadBuffer(GL_COLOR_ATTACHMENT0);
102-
glBindTexture(GL_TEXTURE_2D, Scene_emissive_texture);
103-
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, gr_screen.max_w, gr_screen.max_h);
104-
glBindTexture(GL_TEXTURE_2D, prev_tex2d);
105-
glBindFramebuffer(GL_READ_FRAMEBUFFER, prev_read_fbo);
106-
#endif
10794
}
10895

10996
glDrawBuffers(6, buffers);
@@ -244,7 +231,6 @@ void gr_opengl_deferred_lighting_finish()
244231

245232
opengl_shader_set_current(gr_opengl_maybe_create_shader(SDR_TYPE_DEFERRED_LIGHTING, ENVMAP > 0 ? SDR_FLAG_ENV_MAP : 0));
246233

247-
#ifndef USE_OPENGL_ES
248234
glDrawBuffer(GL_COLOR_ATTACHMENT5);
249235
glReadBuffer(GL_COLOR_ATTACHMENT4);
250236
glBlitFramebuffer(0,
@@ -257,18 +243,6 @@ void gr_opengl_deferred_lighting_finish()
257243
gr_screen.max_h,
258244
GL_COLOR_BUFFER_BIT,
259245
GL_NEAREST);
260-
#else
261-
//Another case of ES not considering GL_COLOR_ATTACHMENT5 as valid draw buffer
262-
GLint prev_read_fbo = 0, prev_tex2d = 0;
263-
glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, &prev_read_fbo);
264-
glGetIntegerv(GL_TEXTURE_BINDING_2D, &prev_tex2d);
265-
glBindFramebuffer(GL_READ_FRAMEBUFFER, Scene_framebuffer);
266-
glReadBuffer(GL_COLOR_ATTACHMENT4);
267-
glBindTexture(GL_TEXTURE_2D, Scene_composite_texture);
268-
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, gr_screen.max_w, gr_screen.max_h);
269-
glBindTexture(GL_TEXTURE_2D, prev_tex2d);
270-
glBindFramebuffer(GL_READ_FRAMEBUFFER, prev_read_fbo);
271-
#endif
272246

273247
GL_state.Texture.Enable(0, GL_TEXTURE_2D, Scene_color_texture);
274248
GL_state.Texture.Enable(1, GL_TEXTURE_2D, Scene_normal_texture);

code/graphics/opengl/gropengldraw.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -814,28 +814,11 @@ void gr_opengl_copy_effect_texture()
814814
return;
815815
}
816816

817-
#ifndef USE_OPENGL_ES
818817
//Make sure we're reading from the up-to-date color texture
819818
glReadBuffer(GL_COLOR_ATTACHMENT0);
820819
glDrawBuffer(GL_COLOR_ATTACHMENT5);
821820
glBlitFramebuffer(0, 0, gr_screen.max_w, gr_screen.max_h, 0, 0, gr_screen.max_w, gr_screen.max_h, GL_COLOR_BUFFER_BIT, GL_NEAREST);
822821
glDrawBuffer(GL_COLOR_ATTACHMENT0);
823-
#else
824-
// For some reason, ES considers glDrawBuffer(GL_COLOR_ATTACHMENT5) as invalid here
825-
// try to copy to Scene_composite_texture in an alternative way
826-
// save states
827-
GLint prev_read_fbo = 0, prev_tex2d = 0;
828-
glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, &prev_read_fbo);
829-
glGetIntegerv(GL_TEXTURE_BINDING_2D, &prev_tex2d);
830-
// copy texture to scene_composite_texture
831-
glBindFramebuffer(GL_READ_FRAMEBUFFER, Scene_framebuffer);
832-
glReadBuffer(GL_COLOR_ATTACHMENT0);
833-
glBindTexture(GL_TEXTURE_2D, Scene_composite_texture);
834-
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, gr_screen.max_w, gr_screen.max_h);
835-
// restore states
836-
glBindTexture(GL_TEXTURE_2D, prev_tex2d);
837-
glBindFramebuffer(GL_READ_FRAMEBUFFER, prev_read_fbo);
838-
#endif
839822
}
840823

841824
void gr_opengl_render_shield_impact(shield_material* material_info,

0 commit comments

Comments
 (0)