Imagine an OpenGL implementation that works by making calls to Vulkan (at program run-time). This driver would implement the OpenGL "state machine" and GLSL to SPIR-V compiler etc. It would be platform agnostic and could potentially provide a uniform, high-quality implementation of OpenGL for all hardware that can support Vulkan. (And since an open-source Vulkan driver is easier to write than an OpenGL driver, it could also allow us to replace some proprietary drivers entirely on some platforms *cough* Nvidia *cough* Android)
My question is, are there any obvious downsides to this approach? Would implementing OpenGL on top of Vulkan have some noticeable performance overhead, compared to a traditional driver that implements OpenGL in a way that is "native" to a specific GPU architecture?
My question is, are there any obvious downsides to this approach? Would implementing OpenGL on top of Vulkan have some noticeable performance overhead, compared to a traditional driver that implements OpenGL in a way that is "native" to a specific GPU architecture?
Comment