mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 10:41:04 +00:00
[156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux
This commit is contained in:
parent
52a646f240
commit
e6db0628e8
1 changed files with 19 additions and 2 deletions
|
@ -253,6 +253,19 @@ gst_gl_display_init (GstGLDisplay *display, GstGLDisplayClass *klass)
|
|||
" gl_FragColor = vec4(r, g, b, 1.0);\n"
|
||||
"}\n";
|
||||
|
||||
//it works on nvidia+linux but
|
||||
//there is a bug on ATI+win32 (I think only ATI)
|
||||
//and the follwing 3 lines:
|
||||
//" y=texture2DRect(Ytex,nxy).r;\n"
|
||||
//" u=texture2DRect(Utex,nxy*0.5).r;\n"
|
||||
//" v=texture2DRect(Vtex,nxy*0.5).r;\n"
|
||||
//has to be replaced by :
|
||||
//" y=texture2DRect(Ytex,nxy0.5).r;\n"
|
||||
//" u=texture2DRect(Utex,nxy).r;\n"
|
||||
//" v=texture2DRect(Vtex,nxy*0.5).r;\n"
|
||||
//
|
||||
//so we have to set a display->hardware (ATI/ NVIDIA)
|
||||
//and check it etc...
|
||||
display->text_shader_upload_I420_YV12 =
|
||||
"#extension GL_ARB_texture_rectangle : enable\n"
|
||||
"uniform sampler2DRect Ytex,Utex,Vtex;\n"
|
||||
|
@ -2410,6 +2423,10 @@ gst_gl_display_thread_do_upload_fill (GstGLDisplay *display)
|
|||
offsetU = 1;
|
||||
offsetV = 2;
|
||||
break;
|
||||
//it works on ati+win32 but we have to use the same offset as
|
||||
//I420 on nvidia + linux (I mean offsetU = 1; offsetV = 2;)
|
||||
//So we have to set a display->hardware (ATI o/ NVIDIA) and
|
||||
//etc...
|
||||
case GST_VIDEO_FORMAT_YV12:
|
||||
offsetU = 2;
|
||||
offsetV = 1;
|
||||
|
|
Loading…
Reference in a new issue