First interesting could GNC GPU change shaders code or piece of shader code, from texture or special (lets say ShaderBuffer) ?
How exactly GNC GPU change shaders ?
My proposition apply to OpenGL new feature, change shaders code from bindlless textures or from special ShaderBufferArray.
And when we draw one mesh 3 times (glDrawElementsInstanced ) , in main shader we do somthing like this ShaderBufferArray([gl_InstanceID])
This mechanism will allow change on GPU shaders or piece of shader code without CPU driver.
I know Shader Subroutine but dynamic subroutines slow and decrease FPS on 11%.
Very funny look ShaderBufferArray when we in Compute Shader could change on fly shader code in ShaderBufferArray !
Generated cool effects on fly.