The second. Sync objects are the first.Be optimistic, sampler object is the first DSA API!
Oh well. It could be worse. At least OpenGL allows you to get at that 3.x + extensions.Because of this we end up with an extra code path. OpenGL 4.WEAK which will be OpenGL 3.x + load of extensions for GeForce GT* 470 < and Radeon 57** <=.
Also, please note: most of the 4.0 features are core extensions, so you don't need a true codepath. Your code will call the same function pointers with the same enum values. All you need to do is check for version 4.0 or the extension.