Direct state access. https://www.khronos.org/opengl/wiki/Direct_State_Access
Summary: different gpus have a different number of texture/buffers/etc that can be bound at any given time. If you need to draw something thats texture, need to access a buffer, need to do just about everything on a GPU, you’ll need to bind the data to the current context. But things get complicated as we are emulating a modern GPU, and this GPU will bind things, so we need to emulate their texture access/buffer access/etc with binding the objects on your GPU. As an example using fake numbers, lets say the game uses 20 bindings, but your GPU only supports 16 binding point. What do you do? Well… you just don’t support that GPU. But theres another way to support that GPU, you can use dsa to do bindless modifications to things. DSA lets you access and modify things without binding it.
Not likely, and no.
No, citra’s openGL requirements have only gone up over time, not down. It originally was openGL 3.1, but changed to 3.3 when we needed to add host geometry shaders for perspective correction.
No. You can either buy a new gpu that supports dsa or just live without playing games on yuzu. As an emulator for a modern console, you should not expect gpu hardware thats older than the switch to be able to play switch games.