OpenGL. При использовании DoubleBuffering происходит мерцание

Мерцание

Когда я включаю DoubleBuffering, начинается мерцание:

    if (SDL_Init(SDL_INIT_VIDEO) != 0)
         return EXIT_FAILURE;

    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, GL_TRUE);

    window = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600,
                              SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL);
    if (!window) return EXIT_FAILURE;
    
    context = SDL_GL_CreateContext(window);

    glClearColor(1.0f, 0.0f, 0.0f, 0.0f);
    glClear(GL_COLOR_BUFFER_BIT);
  
    glFlush();
    SDL_GL_SwapWindow(window);
      
    SDL_Delay(1000);

    SDL_GL_DeleteContext(context);
    SDL_Quit();
   
    return EXIT_SUCCESS; 

Интересно то, что если отключить DoubleBuffering, то всё работает правильно (Экран очищается красным цветом). Я запускал этот же код на своём старом ноуте, там всё отлично работает. На новом же, почему-то вот так.

EDIT 1: Вот, спустя день, я снова столкнулся с этим. И, опять же, странно, но если отключить аппаратное ускорение, то рендерит правильно и с включенным, и отключенным DoubleBuffer. С аппаратным ускорением же, почему-то нормально только с отключенным DoubleBuffer.

EDIT 2: Попробовал запустить на дискретке(nvidia gtx 1660 ti), всё работает отлично.. то-есть проблема только с интегрированной видеокартой (Intel UHD).


Ответы (0 шт):