X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=init.cpp;h=ed8172dcaefa25059c64566cc4ebbe59a6657d72;hb=27496ee4620a3b5380f9d5f2a827d6c599bc1a39;hp=f9e7f1580a91e44be43aaef306e0b10823a4f468;hpb=9faecb6aed1b84c71286b30b6600ef5e4ee76537;p=movit diff --git a/init.cpp b/init.cpp index f9e7f15..ed8172d 100644 --- a/init.cpp +++ b/init.cpp @@ -428,11 +428,22 @@ bool init_movit(const string& data_directory, MovitDebugLevel debug_level) } // Find out what shader model we should compile for. + // We need at least 1.30, due to use of (among others) integers. if (epoxy_is_desktop_gl()) { - if (get_glsl_version() >= 1.30) { + if (get_glsl_version() < 1.30f) { + fprintf(stderr, "Movit system requirements: Needs at least GLSL version 1.30 (has version %.1f)\n", + get_glsl_version()); + return false; + } + if (get_glsl_version() < 1.50f) { movit_shader_model = MOVIT_GLSL_130; } else { - movit_shader_model = MOVIT_GLSL_110; + // Note: All of our 1.50 shaders are identical to our 1.30 shaders, + // but OS X does not support 1.30; only 1.10 (which we don't support + // anymore) and 1.50 (and then only with core contexts). So we keep + // a second set of shaders around whose only difference is the different + // #version declaration. + movit_shader_model = MOVIT_GLSL_150; } } else { movit_shader_model = MOVIT_ESSL_300;