[207/906] oups, fix my mistake on last commit
authorJulien Isorce <julien.isorce@gmail.com>
Sun, 24 Aug 2008 01:38:40 +0000 (03:38 +0200)
committerMatthew Waters <ystreet00@gmail.com>
Sat, 15 Mar 2014 17:36:27 +0000 (18:36 +0100)
gst-libs/gst/gl/gstgldisplay.c

index 92a47a8..6f0528d 100644 (file)
@@ -962,63 +962,64 @@ gst_gl_display_thread_init_upload (GstGLDisplay *display)
   case GST_VIDEO_FORMAT_AYUV:
     //color space conversion is needed
   {
-         //Frame buffer object is a requirement for every cases
-    if (GLEW_EXT_framebuffer_object)
+         //check if fragment shader is available, then load them
+    /* shouldn't we require ARB_shading_language_100? --Filippo */
+    if (GLEW_ARB_fragment_shader)
     {
-           //a texture must be attached to the FBO
-           GLuint fake_texture = 0;
+      g_print ("Context %d, ARB_fragment_shader supported: yes\n", display->glutWinId);
 
-           g_print ("Context %d, EXT_framebuffer_object supported: yes\n", display->glutWinId);
+      //Frame buffer object is a requirement for every cases
+      if (GLEW_EXT_framebuffer_object)
+      {
+             //a texture must be attached to the FBO
+             GLuint fake_texture = 0;
 
-           //-- init intput frame buffer object (video -> GL)
+             g_print ("Context %d, EXT_framebuffer_object supported: yes\n", display->glutWinId);
 
-           //setup FBO
-           glGenFramebuffersEXT (1, &display->upload_fbo);
-           glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, display->upload_fbo);
+             //-- init intput frame buffer object (video -> GL)
 
-           //setup the render buffer for depth
-           glGenRenderbuffersEXT(1, &display->upload_depth_buffer);
-           glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
-           glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
-                                    display->upload_width, display->upload_height);
+             //setup FBO
+             glGenFramebuffersEXT (1, &display->upload_fbo);
+             glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, display->upload_fbo);
 
-           //a fake texture is attached to the upload FBO (cannot init without it)
-           glGenTextures (1, &fake_texture);
-           glBindTexture(GL_TEXTURE_RECTANGLE_ARB, fake_texture);
-           glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8,
-                    display->upload_width, display->upload_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+             //setup the render buffer for depth
+             glGenRenderbuffersEXT(1, &display->upload_depth_buffer);
+             glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
+             glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
+                                      display->upload_width, display->upload_height);
 
-           //attach the texture to the FBO to renderer to
-           glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
-                                     GL_TEXTURE_RECTANGLE_ARB, fake_texture, 0);
+             //a fake texture is attached to the upload FBO (cannot init without it)
+             glGenTextures (1, &fake_texture);
+             glBindTexture(GL_TEXTURE_RECTANGLE_ARB, fake_texture);
+             glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8,
+                      display->upload_width, display->upload_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
 
-           //attach the depth render buffer to the FBO
-           glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
-                                    GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
+             //attach the texture to the FBO to renderer to
+             glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
+                                       GL_TEXTURE_RECTANGLE_ARB, fake_texture, 0);
 
-           gst_gl_display_check_framebuffer_status();
+             //attach the depth render buffer to the FBO
+             glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
+                                      GL_RENDERBUFFER_EXT, display->upload_depth_buffer);
 
-           g_assert (glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT) ==
-                     GL_FRAMEBUFFER_COMPLETE_EXT);
+             gst_gl_display_check_framebuffer_status();
 
-           //unbind the FBO
-           glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+             g_assert (glCheckFramebufferStatusEXT (GL_FRAMEBUFFER_EXT) ==
+                       GL_FRAMEBUFFER_COMPLETE_EXT);
 
-           glDeleteTextures (1, &fake_texture);
-    }
-    else
-    {
-           //turn off the pipeline because Frame buffer object is a not present
-           g_print ("Context %d, EXT_framebuffer_object supported: no\n", display->glutWinId);
-           display->isAlive = FALSE;
-    }
-         
-         //check if fragment shader is available, then load them
-    /* shouldn't we require ARB_shading_language_100? --Filippo */
-    if (GLEW_ARB_fragment_shader)
-    {
-      g_print ("Context %d, ARB_fragment_shader supported: yes\n", display->glutWinId);
+             //unbind the FBO
+             glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
 
+             glDeleteTextures (1, &fake_texture);
+      }
+      else
+      {
+             //turn off the pipeline because Frame buffer object is a not present
+             g_print ("Context %d, EXT_framebuffer_object supported: no\n", display->glutWinId);
+             display->isAlive = FALSE;
+        break;
+      }
+      
       display->upload_colorspace_conversion = GST_GL_DISPLAY_CONVERSION_GLSL;
 
       switch (display->upload_video_format)