[vlc-devel] [vlc-commits] opengl: fix shader support check
Marvin Scholz
epirat07 at gmail.com
Thu Feb 20 17:40:45 CET 2020
On 20 Feb 2020, at 17:28, david.fuhrmann at gmail.com wrote:
> Hi Marvin,
>
> Thanks for the fix, very nice. I think this also deserves a NEWS
> entry, maybe you can add this as well?
>
Sure, I will update the news after the vout changes.
> Best regards,
> David
>
> Von meinem iPhone gesendet
>
>> Am 20.02.2020 um 11:09 schrieb Marvin Scholz <git at videolan.org>:
>>
>> vlc/vlc-3.0 | branch: master | Marvin Scholz <epirat07 at gmail.com> |
>> Thu Feb 20 00:06:21 2020 +0100|
>> [14ca93bfe3bc6cf3d6bc99df8fca74ec0da7b10e] | committer: Marvin Scholz
>>
>> opengl: fix shader support check
>>
>> Even with OpenGL versions lower than 2.0 GLSL can be supported,
>> so fallback to checking the GLSL version.
>>
>> Fix #21438
>>
>>> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=14ca93bfe3bc6cf3d6bc99df8fca74ec0da7b10e
>> ---
>>
>> modules/video_output/opengl/vout_helper.c | 16 ++++++++++------
>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/modules/video_output/opengl/vout_helper.c
>> b/modules/video_output/opengl/vout_helper.c
>> index 919560e603..80b71ac858 100644
>> --- a/modules/video_output/opengl/vout_helper.c
>> +++ b/modules/video_output/opengl/vout_helper.c
>> @@ -855,13 +855,17 @@ vout_display_opengl_t
>> *vout_display_opengl_New(video_format_t *fmt,
>> return NULL;
>> }
>> #if !defined(USE_OPENGL_ES2)
>> + // Check for OpenGL < 2.0
>> const unsigned char *ogl_version = vgl->vt.GetString(GL_VERSION);
>> - bool supports_shaders = strverscmp((const char *)ogl_version,
>> "2.0") >= 0;
>> - if (!supports_shaders)
>> - {
>> - msg_Err(gl, "shaders not supported, bailing out\n");
>> - free(vgl);
>> - return NULL;
>> + if (strverscmp((const char *)ogl_version, "2.0") < 0) {
>> + // Even with OpenGL < 2.0 we might have GLSL support,
>> + // so check the GLSL version before finally giving up:
>> + const unsigned char *glsl_version =
>> vgl->vt.GetString(GL_SHADING_LANGUAGE_VERSION);
>> + if (!glsl_version || strverscmp((const char *)glsl_version,
>> "1.10") < 0) {
>> + msg_Err(gl, "shaders not supported, bailing out\n");
>> + free(vgl);
>> + return NULL;
>> + }
>> }
>> #endif
>>
>>
>> _______________________________________________
>> vlc-commits mailing list
>> vlc-commits at videolan.org
>> https://mailman.videolan.org/listinfo/vlc-commits
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list