You guys are confusing render ahead queue and triple buffering.
Triple buffering doesn't add input lag as it doesn't need to show every frame to the screen. If it has two frames ready it will send the newest frame to the screen. Where as render ahead queue will send the old frame then the new frame.
No, I'm not confusing anything. Triple buffering doesn't have to be setup to render ahead, though it allows it. The point I made about the comment of Freesync needing triple buffering to do what G-sync does, is that G-sync does not need to use triple buffering, and the only reason you would need to in the case of variable refreshes, is they'd need to know how long to display an image ahead of time, requiring it to be a look ahead system.
Why would they need triple buffering with a variable refresh rate if they didn't need to render ahead?
As described by a few before, Freesync appears to allow them to dynamically change the refresh rate. If that is all they are doing is changing a refresh rate, they have to know how long an image is going to take to be rendered in order to set the refresh time in order for it to be ready to be displayed when the next vertical blanking mode comes around. To do this, you need to render ahead one frame in order to know how long these frames are taking.
G-sync takes a different approach. It does not set refresh rates, but instead, calls a refresh, then holds in vertical blanking mode until the GPU tells it to start a new refresh. With this method, you do not need triple buffering.
This is based on the info we are given, which is still lacking, but what has been told to us suggests this is going to be a difference. Freesync, the way it has been described, sounds like it'll cause about 17-33ms of additional latency (the current frame time in ms). Of course with DirectX and triple buffering (most games), when you reach your refresh rate in FPS, this happens as well, so it isn't necessarily that terrible, just not as good.
NOTE: In DirectX, with triple buffering, every frame does have to be displayed. OpenGL is different.