Fix T70345: wrong transforms of objects after recent NVIDIA workaround
This reverts commit 44d042094e and adds a
simpler workaround for just the node links display issue. There are other
issues though so this is not a full workaround.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user