[Bf-blender-cvs] [24be998b986] master: Fix T70345: wrong transforms of objects after recent NVIDIA workaround
Brecht Van Lommel
noreply at git.blender.org
Sun Sep 29 21:10:57 CEST 2019
Commit: 24be998b986cb3bdc86527bfcbd792a5c4e7155e
Author: Brecht Van Lommel
Date: Sun Sep 29 21:04:05 2019 +0200
Branches: master
https://developer.blender.org/rB24be998b986cb3bdc86527bfcbd792a5c4e7155e
Fix T70345: wrong transforms of objects after recent NVIDIA workaround
This reverts commit 44d042094e21b519b38a3d78761b64bb5ceeb350 and adds a
simpler workaround for just the node links display issue. There are other
issues though so this is not a full workaround.
===================================================================
M source/blender/editors/space_node/drawnode.c
M source/blender/gpu/intern/gpu_extensions.c
===================================================================
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index 93121a6bef9..4f4ea182da9 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -47,6 +47,7 @@
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
+#include "GPU_extensions.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
@@ -3889,7 +3890,9 @@ static void nodelink_batch_draw(SpaceNode *snode)
void nodelink_batch_start(SpaceNode *UNUSED(snode))
{
- g_batch_link.enabled = true;
+ /* TODO: partial workaround for NVIDIA driver bug on recent GTX/RTX cards,
+ * that breaks instancing when using indirect drawcal (see T70011). */
+ g_batch_link.enabled = !GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY);
}
void nodelink_batch_end(SpaceNode *snode)
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index d3259b93b5c..7b6759c44bf 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -355,15 +355,6 @@ void gpu_extensions_init(void)
GG.glew_arb_base_instance_is_supported = GLEW_ARB_base_instance;
gpu_detect_mip_render_workaround();
- /* XXX TODO a nasty nvidia driver bug on GTX & RTX 10X0 / 20X0 is breaking instancing when using
- * indirect drawcall. (see T70011) */
- if (GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY)) {
- if (strstr(renderer, "RTX 10") || strstr(renderer, "RTX 20") || strstr(renderer, "GTX 10") ||
- strstr(renderer, "GTX 20")) {
- GG.glew_arb_base_instance_is_supported = false;
- }
- }
-
if (G.debug & G_DEBUG_GPU_FORCE_WORKAROUNDS) {
printf("\n");
printf("GPU: Bypassing workaround detection.\n");
More information about the Bf-blender-cvs
mailing list