From e2806b7429c7d001687ae42e5173827989bb8e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 5 Dec 2019 12:02:24 +0100 Subject: Revert "Fix T71576 Mesh error on mutimaterial Meshes on legacy nvidia drivers" This reverts commit cf77b67c459d481f6d8d34d13e14d22a6cad0842. --- source/blender/draw/intern/shaders/common_view_lib.glsl | 9 +++------ source/blender/gpu/GPU_extensions.h | 1 - source/blender/gpu/intern/gpu_extensions.c | 15 --------------- source/blender/gpu/intern/gpu_shader.c | 5 +---- 4 files changed, 4 insertions(+), 26 deletions(-) (limited to 'source') diff --git a/source/blender/draw/intern/shaders/common_view_lib.glsl b/source/blender/draw/intern/shaders/common_view_lib.glsl index 182a4c72fe5..1a28a307163 100644 --- a/source/blender/draw/intern/shaders/common_view_lib.glsl +++ b/source/blender/draw/intern/shaders/common_view_lib.glsl @@ -80,7 +80,7 @@ uniform int baseInstance; # if defined(IN_PLACE_INSTANCES) || defined(INSTANCED_ATTRIB) /* When drawing instances of an object at the same position. */ # define instanceId 0 -# elif defined(GPU_DEPRECATED_AMD) +# elif defined(GPU_DEPRECATED_AMD_DRIVER) /* A driver bug make it so that when using an attribute with GL_INT_2_10_10_10_REV as format, * the gl_InstanceID is incremented by the 2 bit component of the attrib. * Ignore gl_InstanceID then. */ @@ -115,11 +115,8 @@ flat in int resourceIDFrag; # define resource_id resourceIDFrag #endif -#if !defined(GPU_INTEL) && !defined(GPU_DEPRECATED_AMD) && !defined(GPU_DEPRECATED_NVIDIA) -# define USE_INDEXED_MODELMAT -#endif - -#if defined(USE_INDEXED_MODELMAT) && !defined(OS_MAC) && !defined(INSTANCED_ATTRIB) +#if !defined(GPU_INTEL) && !defined(GPU_DEPRECATED_AMD_DRIVER) && !defined(OS_MAC) && \ + !defined(INSTANCED_ATTRIB) struct ObjectMatrices { mat4 drw_modelMatrix; mat4 drw_modelMatrixInverse; diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h index 692cd159fbf..245f7f47510 100644 --- a/source/blender/gpu/GPU_extensions.h +++ b/source/blender/gpu/GPU_extensions.h @@ -48,7 +48,6 @@ bool GPU_mip_render_workaround(void); bool GPU_depth_blitting_workaround(void); bool GPU_unused_fb_slot_workaround(void); bool GPU_context_local_shaders_workaround(void); -bool GPU_legacy_nvidia_driver(void); bool GPU_crappy_amd_driver(void); bool GPU_mem_stats_supported(void); diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index 7eb2cd61fda..33f918559f7 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -93,8 +93,6 @@ static struct GPUGlobal { /* Some crappy Intel drivers don't work well with shaders created in different * rendering contexts. */ bool context_local_shaders_workaround; - /* Unmaintained NVIDIA drivers contain certain bugs we need to workaround. */ - bool legacy_nvidia_driver; } GG = {1, 0}; static void gpu_detect_mip_render_workaround(void) @@ -218,11 +216,6 @@ bool GPU_context_local_shaders_workaround(void) return GG.context_local_shaders_workaround; } -bool GPU_legacy_nvidia_driver(void) -{ - return GG.legacy_nvidia_driver; -} - bool GPU_crappy_amd_driver(void) { /* Currently are the same drivers with the `unused_fb_slot` problem. */ @@ -288,14 +281,6 @@ void gpu_extensions_init(void) GG.glew_arb_base_instance_is_supported = GLEW_ARB_base_instance; gpu_detect_mip_render_workaround(); - if (GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_OFFICIAL)) { - char *driver_version_str = strstr(version, "NVIDIA ") + 7; - int driver_major_version = (int)strtol(driver_version_str, NULL, 10); - if (driver_major_version > 0 && driver_major_version < 400) { - GG.legacy_nvidia_driver = true; - } - } - if (G.debug & G_DEBUG_GPU_FORCE_WORKAROUNDS) { printf("\n"); printf("GPU: Bypassing workaround detection.\n"); diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c index adbb978dded..ae2c7864e36 100644 --- a/source/blender/gpu/intern/gpu_shader.c +++ b/source/blender/gpu/intern/gpu_shader.c @@ -243,14 +243,11 @@ static void gpu_shader_standard_defines(char defines[MAX_DEFINE_LENGTH]) if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_ANY, GPU_DRIVER_ANY)) { strcat(defines, "#define GPU_ATI\n"); if (GPU_crappy_amd_driver()) { - strcat(defines, "#define GPU_DEPRECATED_AMD\n"); + strcat(defines, "#define GPU_DEPRECATED_AMD_DRIVER\n"); } } else if (GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY)) { strcat(defines, "#define GPU_NVIDIA\n"); - if (GPU_legacy_nvidia_driver()) { - strcat(defines, "#define GPU_DEPRECATED_NVIDIA\n"); - } } else if (GPU_type_matches(GPU_DEVICE_INTEL, GPU_OS_ANY, GPU_DRIVER_ANY)) { strcat(defines, "#define GPU_INTEL\n"); -- cgit v1.2.3