X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=init.cpp;h=733d24689b5f5c4f2ef56135a32030e92fa9738f;hp=ed8172dcaefa25059c64566cc4ebbe59a6657d72;hb=825c90789c229f502520bf0b665596d473f2636d;hpb=d4cade9004a527206e1360ae24f833a6bcf6d476 diff --git a/init.cpp b/init.cpp index ed8172d..733d246 100644 --- a/init.cpp +++ b/init.cpp @@ -79,9 +79,11 @@ void measure_texel_subpixel_precision() glViewport(0, 0, width, 1); + vector frag_shader_outputs; GLuint glsl_program_num = resource_pool.compile_glsl_program( read_version_dependent_file("vs", "vert"), - read_version_dependent_file("texture1d", "frag")); + read_version_dependent_file("texture1d", "frag"), + frag_shader_outputs); glUseProgram(glsl_program_num); check_error(); glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 2D sampler. @@ -211,9 +213,11 @@ void measure_roundoff_problems() glViewport(0, 0, 512, 1); + vector frag_shader_outputs; GLuint glsl_program_num = resource_pool.compile_glsl_program( read_version_dependent_file("vs", "vert"), - read_version_dependent_file("texture1d", "frag")); + read_version_dependent_file("texture1d", "frag"), + frag_shader_outputs); glUseProgram(glsl_program_num); check_error(); glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 2D sampler. @@ -433,7 +437,14 @@ bool init_movit(const string& data_directory, MovitDebugLevel debug_level) 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.10f) { + fprintf(stderr, "Attempting to continue nevertheless; expect shader compilation issues.\n"); + fprintf(stderr, "Try switching to a core OpenGL context, as especially OS X drivers\n"); + fprintf(stderr, "support newer GLSL versions there.\n"); + movit_shader_model = MOVIT_GLSL_130_AS_110; + } else { + return false; + } } if (get_glsl_version() < 1.50f) { movit_shader_model = MOVIT_GLSL_130;