-struct RequiredExtension {
- int min_equivalent_gl_version;
- const char extension_name[64];
-};
-const RequiredExtension required_extensions[] = {
- // We fundamentally need FBOs and floating-point textures.
- // FBOs are covered by OpenGL 1.5, and are not an extension there.
- // Floating-point textures are part of OpenGL 3.0 and newer.
- { 15, "GL_ARB_framebuffer_object" },
- { 30, "GL_ARB_texture_float" },
-
- // We assume that we can use non-power-of-two textures without restrictions.
- { 20, "GL_ARB_texture_non_power_of_two" },
-
- // We also need GLSL fragment shaders.
- { 20, "GL_ARB_fragment_shader" },
- { 20, "GL_ARB_shading_language_100" },
-
- // FlatInput and YCbCrInput uses PBOs. (They could in theory do without,
- // but no modern card would really not provide it.)
- { 21, "GL_ARB_pixel_buffer_object" },
-
- // ResampleEffect uses RG textures to encode a two-component LUT.
- // We also need GL_R several places, for single-channel input.
- { 30, "GL_ARB_texture_rg" },
-};
-