]> git.sesse.net Git - nageru/blobdiff - nageru/mixer.cpp
Always require GL_EXT_texture_sRGB_decode.
[nageru] / nageru / mixer.cpp
index 83d6eada183d8f0f787c1f9703211915db790917..91c82d4ca6378ffe20054429610ca0429f5070f0 100644 (file)
@@ -153,11 +153,8 @@ void ensure_texture_resolution(PBOFrameAllocator::Userdata *userdata, unsigned f
                case PixelFormat_8BitBGRA:
                        glBindTexture(GL_TEXTURE_2D, userdata->tex_rgba[field]);
                        check_error();
-                       if (global_flags.can_disable_srgb_decoder) {  // See the comments in tweaked_inputs.h.
-                               glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB8_ALPHA8, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, nullptr);
-                       } else {
-                               glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, nullptr);
-                       }
+                       // NOTE: sRGB may be disabled by sRGBSwitchingFlatInput.
+                       glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB8_ALPHA8, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, nullptr);
                        check_error();
                        break;
                default:
@@ -314,10 +311,11 @@ Mixer::Mixer(const QSurfaceFormat &format, unsigned num_cards)
        CHECK(init_movit(MOVIT_SHADER_DIR, MOVIT_DEBUG_OFF));
        check_error();
 
-       // This nearly always should be true.
-       global_flags.can_disable_srgb_decoder =
-               epoxy_has_gl_extension("GL_EXT_texture_sRGB_decode") &&
-               epoxy_has_gl_extension("GL_ARB_sampler_objects");
+       if (!epoxy_has_gl_extension("GL_EXT_texture_sRGB_decode") ||
+           !epoxy_has_gl_extension("GL_ARB_sampler_objects")) {
+               fprintf(stderr, "Nageru requires GL_EXT_texture_sRGB_decode and GL_ARB_sampler_objects to run.\n");
+               exit(1);
+       }
 
        // Since we allow non-bouncing 4:2:2 YCbCrInputs, effective subpixel precision
        // will be halved when sampling them, and we need to compensate here.