ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.07k stars 1.28k forks source link

How to barrier FBO blit in GL4.5 #168

Open Chrjstoph opened 8 years ago

Chrjstoph commented 8 years ago

I have a hard time identifying the proper place where to ask this.

I have just moved my code to OpenGL45 namely the named FBO stuff.

My Pipeline:

Bind FBO_MSAA_L Render() glBlitNamedFramebuffer(FBO_MSAA_L, FBO_Resolve_L) Bind FBO_MSAA_R Render() glBlitNamedFramebuffer(FBO_MSAA_R, FBO_Resolve_R)

vr::VRCompositor()->Submit(Tex_Resolve_L) vr::VRCompositor()->Submit(Tex_Resolve_R)

My Problem:

The VIVE flckers/ omits frames when they are not finished (with MSAA). Rendering directly into Resolve works fine, ther are no black frames, the sync seems to be working (the timing drops).

Using oldstyle blitting and framebuffer binding works fine as well.

So, the Question:

Is there a way to sync properly, without black frames being rendered?

TheWhiteAmbit commented 8 years ago

I am on DX but have observed similar odd behaviour with black flickers and strange timing values when copying from intermediate renderbuffers.

Chrjstoph commented 8 years ago

Misery loves company!

May it have something to do with having no swap textures similar to the OculusSDK (or are there)?

Or, someone suggested it might be a GL Driverbug.

(GTX970 - 368.39)

.