diff options
-rw-r--r-- | source/blender/editors/space_node/drawnode.c | 4 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_batch.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 3beb12fbb2a..f7c772ef145 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -3890,9 +3890,7 @@ static void nodelink_batch_draw(SpaceNode *snode) void nodelink_batch_start(SpaceNode *UNUSED(snode)) { - /* TODO: partial workaround for NVIDIA driver bug on recent GTX/RTX cards, - * that breaks instancing when using indirect draw-call (see T70011). */ - g_batch_link.enabled = !GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY); + g_batch_link.enabled = true; } void nodelink_batch_end(SpaceNode *snode) diff --git a/source/blender/gpu/intern/gpu_batch.c b/source/blender/gpu/intern/gpu_batch.c index 2620ba49799..c08680d7d14 100644 --- a/source/blender/gpu/intern/gpu_batch.c +++ b/source/blender/gpu/intern/gpu_batch.c @@ -718,8 +718,11 @@ void GPU_draw_primitive(GPUPrimType prim_type, int v_count) #if 0 # define USE_MULTI_DRAW_INDIRECT 0 #else +/* TODO: partial workaround for NVIDIA driver bug on recent GTX/RTX cards, + * that breaks instancing when using indirect draw-call (see T70011). */ # define USE_MULTI_DRAW_INDIRECT \ - (GL_ARB_multi_draw_indirect && GPU_arb_base_instance_is_supported()) + (GL_ARB_multi_draw_indirect && GPU_arb_base_instance_is_supported() && \ + !GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_OFFICIAL)) #endif typedef struct GPUDrawCommand { |