mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-26 07:17:23 +00:00
[client] enable vsync again but draw to front for cursor updates
This commit is contained in:
parent
e7511b30bb
commit
85c83d2417
@ -661,7 +661,6 @@ int run()
|
|||||||
FcPatternDestroy(pat);
|
FcPatternDestroy(pat);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0);
|
|
||||||
state.window = SDL_CreateWindow(
|
state.window = SDL_CreateWindow(
|
||||||
"Looking Glass (Client)",
|
"Looking Glass (Client)",
|
||||||
params.center ? SDL_WINDOWPOS_CENTERED : params.x,
|
params.center ? SDL_WINDOWPOS_CENTERED : params.x,
|
||||||
|
@ -124,7 +124,7 @@ bool lgr_opengl_initialize(void ** opaque, const LG_RendererParams params, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_GL_SetSwapInterval(0);
|
SDL_GL_SetSwapInterval(1);
|
||||||
|
|
||||||
// check if the GPU supports GL_ARB_buffer_storage first
|
// check if the GPU supports GL_ARB_buffer_storage first
|
||||||
// there is no advantage to this renderer if it is not present.
|
// there is no advantage to this renderer if it is not present.
|
||||||
@ -669,16 +669,24 @@ bool lgr_opengl_render(void * opaque)
|
|||||||
glEnable(GL_SCISSOR_TEST);
|
glEnable(GL_SCISSOR_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
glXWaitVideoSyncSGI(1, 0, &this->gpuFrameCount);
|
|
||||||
glFinish();
|
|
||||||
|
|
||||||
glCallList(this->texList + this->texIndex);
|
glCallList(this->texList + this->texIndex);
|
||||||
this->mouseRepair = false;
|
this->mouseRepair = false;
|
||||||
lgr_opengl_draw_mouse(this);
|
lgr_opengl_draw_mouse(this);
|
||||||
if (this->fpsTexture)
|
if (this->fpsTexture)
|
||||||
glCallList(this->fpsList);
|
glCallList(this->fpsList);
|
||||||
|
|
||||||
glFlush();
|
glXGetVideoSyncSGI(&this->gpuFrameCount);
|
||||||
|
SDL_GL_SwapWindow(this->params.window);
|
||||||
|
|
||||||
|
unsigned int count;
|
||||||
|
glXGetVideoSyncSGI(&count);
|
||||||
|
while(count == this->gpuFrameCount)
|
||||||
|
{
|
||||||
|
unsigned int remainder;
|
||||||
|
glXWaitVideoSyncSGI(1, 0, &remainder);
|
||||||
|
glXGetVideoSyncSGI(&count);
|
||||||
|
glFinish();
|
||||||
|
}
|
||||||
|
|
||||||
++this->frameCount;
|
++this->frameCount;
|
||||||
const uint64_t t = nanotime();
|
const uint64_t t = nanotime();
|
||||||
@ -688,8 +696,10 @@ bool lgr_opengl_render(void * opaque)
|
|||||||
else
|
else
|
||||||
if (this->mouseUpdate)
|
if (this->mouseUpdate)
|
||||||
{
|
{
|
||||||
|
glDrawBuffer(GL_FRONT);
|
||||||
lgr_opengl_draw_mouse(this);
|
lgr_opengl_draw_mouse(this);
|
||||||
glFlush();
|
glFlush();
|
||||||
|
glDrawBuffer(GL_BACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user