81c6eb9c7f
Shader draw parameter support is needed for Workbench-next. (Almost) All devices that we support also supports shader draw parameters. This PR doesn't include a workaround for devices that don't have support. For end-users this PR will allow workbench-next to render the object on the correct location. Before this patch they were always drawn on the origin. The catch is that OpenGL uses gl_InstanceID which always starts counting at 0. Vulkan has gl_InstanceIndex which holds the correct instance number. By subtracting the gl_InstanceIndex from gl_BaseInstance will get the correct gl_InstanceID. This patch also activates some device extensions to perform in shader printf statements inside a shader. Documentation for this will be added to the dev docs how to use them. Pull Request: https://projects.blender.org/blender/blender/pulls/111461