mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 13:02:29 +00:00
[431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
Fixes Bug #612159
This commit is contained in:
parent
0cae67172a
commit
2beb8aa729
1 changed files with 22 additions and 0 deletions
|
@ -1192,6 +1192,8 @@ gst_gl_display_thread_init_download (GstGLDisplay * display)
|
|||
#ifndef OPENGL_ES2
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
|
||||
display->download_width, display->download_height);
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT,
|
||||
display->download_width, display->download_height);
|
||||
#else
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16,
|
||||
display->download_width, display->download_height);
|
||||
|
@ -1280,6 +1282,12 @@ gst_gl_display_thread_init_download (GstGLDisplay * display)
|
|||
GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT,
|
||||
display->download_depth_buffer);
|
||||
|
||||
#ifndef OPENGL_ES2
|
||||
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT,
|
||||
GL_STENCIL_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT,
|
||||
display->download_depth_buffer);
|
||||
#endif
|
||||
|
||||
gst_gl_display_check_framebuffer_status ();
|
||||
|
||||
g_assert (glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT) ==
|
||||
|
@ -1561,6 +1569,8 @@ gst_gl_display_thread_gen_fbo (GstGLDisplay * display)
|
|||
#ifndef OPENGL_ES2
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
|
||||
display->gen_fbo_width, display->gen_fbo_height);
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH24_STENCIL8_EXT,
|
||||
display->gen_fbo_width, display->gen_fbo_height);
|
||||
#else
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16,
|
||||
display->gen_fbo_width, display->gen_fbo_height);
|
||||
|
@ -1587,6 +1597,11 @@ gst_gl_display_thread_gen_fbo (GstGLDisplay * display)
|
|||
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
|
||||
GL_RENDERBUFFER_EXT, display->generated_depth_buffer);
|
||||
|
||||
#ifndef OPENGL_ES2
|
||||
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
|
||||
GL_RENDERBUFFER_EXT, display->generated_depth_buffer);
|
||||
#endif
|
||||
|
||||
g_assert (glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT) ==
|
||||
GL_FRAMEBUFFER_COMPLETE_EXT);
|
||||
|
||||
|
@ -2546,6 +2561,8 @@ gst_gl_display_thread_init_upload_fbo (GstGLDisplay * display)
|
|||
#ifndef OPENGL_ES2
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
|
||||
display->upload_width, display->upload_height);
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_STENCIL_INDEX,
|
||||
display->upload_width, display->upload_height);
|
||||
#else
|
||||
glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16,
|
||||
display->upload_width, display->upload_height);
|
||||
|
@ -2574,6 +2591,11 @@ gst_gl_display_thread_init_upload_fbo (GstGLDisplay * display)
|
|||
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
|
||||
GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
|
||||
|
||||
#ifndef OPENGL_ES2
|
||||
glFramebufferRenderbufferEXT (GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
|
||||
GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
|
||||
#endif
|
||||
|
||||
gst_gl_display_check_framebuffer_status ();
|
||||
|
||||
g_assert (glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT) ==
|
||||
|
|
Loading…
Reference in a new issue