Maniphest T81187

Assigning more than one material messes object up
Closed, Duplicate

Assigned To
None
Authored By
Petra Mogyorósi (MiceAreVeryNice)
Sep 26 2020, 12:06 AM
Tags
  • EEVEE & Viewport
  • Platform: Linux
  • OpenGL Error
  • BF Blender (2.90)
Subscribers
Amy Moo (amy_aimei)
Evan Wilson (EAW)
Petra Mogyorósi (MiceAreVeryNice)
Richard Antalik (ISS)

Description

System Information
Operating system: Pisi Linux 2.1.2 (x64)
Graphics card: AMD Radeon HD 8330 with the Xorg Radeon driver

Blender Version
Broken: 2.83 to 2.90.1
Worked: 2.82a, 2.91.0 Alpha (e5aa9decb23f)

Short description of error


Rendered with Eevee

Rendered with Cycles

Assigning a second material to a mesh makes the portion with said material set glitch. This problem is present in all view modes except for wireframe and Cycles render. Using blender-softwaregl makes no difference in regards to the situation.

Exact steps for others to reproduce the error
Create an object and set a material to it. Add a second material and assign it to a portion of the mesh.
Test case available here:


System information available here:

UPDATE:
I removed the references to the nVidia configuration as viewport drawing problems with legacy nVidia cards is a confirmed issue. Also, the glitch didn't surface in 2.91.0 Alpha, which means that a software issue could be at the root of the problem.
A dmesg capture -

- reports GPU faults with Blender 2.83. However, drawing multimaterial mesh in Blender 2.91 produces neither the drawing glitch nor the dmesg message.

Related Objects

Mentioned Here
rBba8233174cd7: Fix build error with clean builds
T71576: Viewport/crash artefacts with multiple materials and legacy NVIDIA drivers
rBe5aa9decb23f: Cleanup: Make function private

Event Timeline

Petra Mogyorósi (MiceAreVeryNice) created this task.Sep 26 2020, 12:06 AM
Petra Mogyorósi (MiceAreVeryNice) edited projects, added BF Blender (2.90), EEVEE & Viewport; removed BF Blender.
Petra Mogyorósi (MiceAreVeryNice) updated the task description.Sep 26 2020, 12:22 PM
Petra Mogyorósi (MiceAreVeryNice) edited projects, added BF Blender (2.83), Platform: Linux, OpenGL Error; removed BF Blender (2.90).
Petra Mogyorósi (MiceAreVeryNice) updated the task description.Sep 26 2020, 7:35 PM
Evan Wilson (EAW) changed the task status from Needs Triage to Needs Information from User.Sep 26 2020, 8:56 PM
Evan Wilson (EAW) added a subscriber: Evan Wilson (EAW).

Thanks for the report. The NVIDIA GPUs are below the minimum requirements for Blender, so there is no longer support for it. https://www.blender.org/download/requirements/

Installing the latest graphics driver sometimes helps to make such GPUs work, see here for more information. https://docs.blender.org/manual/en/dev/troubleshooting/gpu/index.html

If that doesn't help, you can use previous Blender versions like 2.79: https://www.blender.org/download/previous-versions/

As far as I can tell, the Xorg Radeon driver is a 2D video only driver. To check, Open Blender and click on Help->Save Sytem Info in the topbar menu. Upload that file here please.

Petra Mogyorósi (MiceAreVeryNice) added a comment.Sep 26 2020, 9:51 PM

System info fetched:

=====================================
= Blender 2.90.0 System Information =
=====================================


Blender:
=====================================

version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: 0330d1af29c0, type: Release
build date: 2020-08-31, 11:54:54
platform: Linux
binary path: '/app/blender/blender'
build cflags:  -Wall -Wcast-align -Werror=implicit-function-declaration -Werror=return-type -Werror=vla -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wformat-signedness -Wrestrict -Wnonnull -Wabsolute-value -Wuninitialized -Wredundant-decls -Wshadow -Wno-error=unused-but-set-variable -Wimplicit-fallthrough=5  -fuse-ld=gold -std=gnu11   -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2 -D_GLIBCXX_USE_CXX11_ABI=0
build cxxflags:  -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Werror=return-type -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wundef -Wformat-signedness -Wrestrict -Wuninitialized -Wundef -Wmissing-declarations -Wimplicit-fallthrough=5  -fuse-ld=gold -std=c++17   -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2 -D_GLIBCXX_USE_CXX11_ABI=0
build linkflags:  -Wl,--version-script='/home/sources/buildbot-worker-linux_centos7/linux_290/blender.git/source/creator/blender.map'
build system: CMake

Python:
=====================================

version: 3.7.7 (default, Jul  9 2020, 12:52:49)  [GCC 9.3.1 20200408 (Red Hat 9.3.1-2)]
file system encoding: utf-8:surrogateescape
paths:
	'/app/blender/2.90/scripts/startup'
	'/app/blender/2.90/scripts/modules'
	'/app/blender/2.90/python/lib/python37.zip'
	'/app/blender/2.90/python/lib/python3.7'
	'/app/blender/2.90/python/lib/python3.7/lib-dynload'
	'/app/blender/2.90/python/lib/python3.7/site-packages'
	'/app/blender/2.90/scripts/freestyle/modules'
	'/app/blender/2.90/scripts/addons/modules'
	'/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/modules'
	'/app/blender/2.90/scripts/addons'
	'/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons'

Python (External Binary):
=====================================

binary path: '/app/blender/2.90/python/bin/python3.7m'
version: Python 3.7.7

Directories:
=====================================

scripts:
	'/app/blender/2.90/scripts/modules'
	'/app/blender/2.90/scripts'
	'/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts'
user scripts: '/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts'
pref scripts: None
datafiles: '/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/datafiles/'
config: '/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/config/'
scripts : '/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/'
autosave: '/home/cincin/.var/app/org.blender.Blender/config/blender/2.90/autosave/'
tempdir: '/tmp/blender_4Q0fHs/'

FFmpeg:
=====================================

avcodec:   '58, 54, 100'
avdevice:  '58,  8, 100'
avformat:  '58, 29, 100'
avutil:    '56, 31, 100'
swscale:   ' 5,  5, 100'

SDL:
=====================================

Version: 2.0.12
Loading method: dynamically loaded by Blender (WITH_SDL_DYNLOAD=ON)

Other Libraries:
=====================================

OpenColorIO:  1,  1,  1
OpenImageIO:  2,  1, 15
OpenShadingLanguage:  1, 10, 10
OpenSubdiv:  0,  0,  0
OpenVDB:  7,  0,  0
Alembic:  1,  7, 12
USD:  0, 20,  5

OpenGL:
=====================================

renderer:	'AMD KABINI (DRM 2.50.0, 4.19.56, LLVM 10.0.1)'
vendor:		'X.Org'
version:	'4.5 (Core Profile) Mesa 20.1.5'
extensions:
	GL_AMD_conservative_depth
	GL_AMD_depth_clamp_separate
	GL_AMD_draw_buffers_blend
	GL_AMD_gpu_shader_int64
	GL_AMD_multi_draw_indirect
	GL_AMD_performance_monitor
	GL_AMD_pinned_memory
	GL_AMD_query_buffer_object
	GL_AMD_seamless_cubemap_per_texture
	GL_AMD_shader_stencil_export
	GL_AMD_shader_trinary_minmax
	GL_AMD_texture_texture4
	GL_AMD_vertex_shader_layer
	GL_AMD_vertex_shader_viewport_index
	GL_ANGLE_texture_compression_dxt3
	GL_ANGLE_texture_compression_dxt5
	GL_ARB_ES2_compatibility
	GL_ARB_ES3_1_compatibility
	GL_ARB_ES3_2_compatibility
	GL_ARB_ES3_compatibility
	GL_ARB_arrays_of_arrays
	GL_ARB_base_instance
	GL_ARB_bindless_texture
	GL_ARB_blend_func_extended
	GL_ARB_buffer_storage
	GL_ARB_clear_buffer_object
	GL_ARB_clear_texture
	GL_ARB_clip_control
	GL_ARB_color_buffer_float
	GL_ARB_compressed_texture_pixel_storage
	GL_ARB_compute_shader
	GL_ARB_compute_variable_group_size
	GL_ARB_conditional_render_inverted
	GL_ARB_conservative_depth
	GL_ARB_copy_buffer
	GL_ARB_copy_image
	GL_ARB_cull_distance
	GL_ARB_debug_output
	GL_ARB_depth_buffer_float
	GL_ARB_depth_clamp
	GL_ARB_derivative_control
	GL_ARB_direct_state_access
	GL_ARB_draw_buffers
	GL_ARB_draw_buffers_blend
	GL_ARB_draw_elements_base_vertex
	GL_ARB_draw_indirect
	GL_ARB_draw_instanced
	GL_ARB_enhanced_layouts
	GL_ARB_explicit_attrib_location
	GL_ARB_explicit_uniform_location
	GL_ARB_fragment_coord_conventions
	GL_ARB_fragment_layer_viewport
	GL_ARB_fragment_shader
	GL_ARB_framebuffer_no_attachments
	GL_ARB_framebuffer_object
	GL_ARB_framebuffer_sRGB
	GL_ARB_get_program_binary
	GL_ARB_get_texture_sub_image
	GL_ARB_gl_spirv
	GL_ARB_gpu_shader5
	GL_ARB_gpu_shader_fp64
	GL_ARB_gpu_shader_int64
	GL_ARB_half_float_pixel
	GL_ARB_half_float_vertex
	GL_ARB_instanced_arrays
	GL_ARB_internalformat_query
	GL_ARB_internalformat_query2
	GL_ARB_invalidate_subdata
	GL_ARB_map_buffer_alignment
	GL_ARB_map_buffer_range
	GL_ARB_multi_bind
	GL_ARB_multi_draw_indirect
	GL_ARB_occlusion_query2
	GL_ARB_parallel_shader_compile
	GL_ARB_pipeline_statistics_query
	GL_ARB_pixel_buffer_object
	GL_ARB_point_sprite
	GL_ARB_polygon_offset_clamp
	GL_ARB_program_interface_query
	GL_ARB_provoking_vertex
	GL_ARB_query_buffer_object
	GL_ARB_robust_buffer_access_behavior
	GL_ARB_robustness
	GL_ARB_sample_shading
	GL_ARB_sampler_objects
	GL_ARB_seamless_cube_map
	GL_ARB_seamless_cubemap_per_texture
	GL_ARB_separate_shader_objects
	GL_ARB_shader_atomic_counter_ops
	GL_ARB_shader_atomic_counters
	GL_ARB_shader_ballot
	GL_ARB_shader_bit_encoding
	GL_ARB_shader_clock
	GL_ARB_shader_group_vote
	GL_ARB_shader_image_load_store
	GL_ARB_shader_image_size
	GL_ARB_shader_objects
	GL_ARB_shader_precision
	GL_ARB_shader_stencil_export
	GL_ARB_shader_storage_buffer_object
	GL_ARB_shader_subroutine
	GL_ARB_shader_texture_image_samples
	GL_ARB_shader_texture_lod
	GL_ARB_shader_viewport_layer_array
	GL_ARB_shading_language_420pack
	GL_ARB_shading_language_include
	GL_ARB_shading_language_packing
	GL_ARB_spirv_extensions
	GL_ARB_stencil_texturing
	GL_ARB_sync
	GL_ARB_tessellation_shader
	GL_ARB_texture_barrier
	GL_ARB_texture_buffer_object
	GL_ARB_texture_buffer_object_rgb32
	GL_ARB_texture_buffer_range
	GL_ARB_texture_compression_bptc
	GL_ARB_texture_compression_rgtc
	GL_ARB_texture_cube_map_array
	GL_ARB_texture_filter_anisotropic
	GL_ARB_texture_float
	GL_ARB_texture_gather
	GL_ARB_texture_mirror_clamp_to_edge
	GL_ARB_texture_multisample
	GL_ARB_texture_non_power_of_two
	GL_ARB_texture_query_levels
	GL_ARB_texture_query_lod
	GL_ARB_texture_rectangle
	GL_ARB_texture_rg
	GL_ARB_texture_rgb10_a2ui
	GL_ARB_texture_stencil8
	GL_ARB_texture_storage
	GL_ARB_texture_storage_multisample
	GL_ARB_texture_swizzle
	GL_ARB_texture_view
	GL_ARB_timer_query
	GL_ARB_transform_feedback2
	GL_ARB_transform_feedback3
	GL_ARB_transform_feedback_instanced
	GL_ARB_transform_feedback_overflow_query
	GL_ARB_uniform_buffer_object
	GL_ARB_vertex_array_bgra
	GL_ARB_vertex_array_object
	GL_ARB_vertex_attrib_64bit
	GL_ARB_vertex_attrib_binding
	GL_ARB_vertex_buffer_object
	GL_ARB_vertex_shader
	GL_ARB_vertex_type_10f_11f_11f_rev
	GL_ARB_vertex_type_2_10_10_10_rev
	GL_ARB_viewport_array
	GL_ATI_blend_equation_separate
	GL_ATI_meminfo
	GL_ATI_texture_float
	GL_ATI_texture_mirror_once
	GL_EXT_EGL_image_storage
	GL_EXT_EGL_sync
	GL_EXT_abgr
	GL_EXT_blend_equation_separate
	GL_EXT_depth_bounds_test
	GL_EXT_draw_buffers2
	GL_EXT_draw_instanced
	GL_EXT_framebuffer_blit
	GL_EXT_framebuffer_multisample
	GL_EXT_framebuffer_multisample_blit_scaled
	GL_EXT_framebuffer_object
	GL_EXT_framebuffer_sRGB
	GL_EXT_memory_object
	GL_EXT_memory_object_fd
	GL_EXT_packed_depth_stencil
	GL_EXT_packed_float
	GL_EXT_pixel_buffer_object
	GL_EXT_polygon_offset_clamp
	GL_EXT_provoking_vertex
	GL_EXT_shader_image_load_formatted
	GL_EXT_shader_image_load_store
	GL_EXT_shader_integer_mix
	GL_EXT_shader_samples_identical
	GL_EXT_texture_array
	GL_EXT_texture_compression_dxt1
	GL_EXT_texture_compression_rgtc
	GL_EXT_texture_compression_s3tc
	GL_EXT_texture_filter_anisotropic
	GL_EXT_texture_integer
	GL_EXT_texture_mirror_clamp
	GL_EXT_texture_sRGB
	GL_EXT_texture_sRGB_R8
	GL_EXT_texture_sRGB_decode
	GL_EXT_texture_shadow_lod
	GL_EXT_texture_shared_exponent
	GL_EXT_texture_snorm
	GL_EXT_texture_swizzle
	GL_EXT_timer_query
	GL_EXT_transform_feedback
	GL_EXT_vertex_array_bgra
	GL_EXT_vertex_attrib_64bit
	GL_EXT_window_rectangles
	GL_IBM_multimode_draw_arrays
	GL_KHR_blend_equation_advanced
	GL_KHR_context_flush_control
	GL_KHR_debug
	GL_KHR_no_error
	GL_KHR_parallel_shader_compile
	GL_KHR_robust_buffer_access_behavior
	GL_KHR_robustness
	GL_KHR_texture_compression_astc_ldr
	GL_KHR_texture_compression_astc_sliced_3d
	GL_MESA_framebuffer_flip_y
	GL_MESA_pack_invert
	GL_MESA_shader_integer_functions
	GL_MESA_texture_signed_rgba
	GL_NVX_gpu_memory_info
	GL_NV_alpha_to_coverage_dither_control
	GL_NV_conditional_render
	GL_NV_copy_image
	GL_NV_depth_clamp
	GL_NV_packed_depth_stencil
	GL_NV_texture_barrier
	GL_NV_vdpau_interop
	GL_OES_EGL_image
	GL_S3_s3tc

Implementation Dependent OpenGL Limits:
=====================================

Maximum DrawElements Vertices:	3000
Maximum DrawElements Indices:	3000

GLSL:
Maximum Varying Floats:	128
Maximum Vertex Attributes:	16
Maximum Vertex Uniform Components:	16384
Maximum Fragment Uniform Components:	16384
Maximum Vertex Image Units:	32
Maximum Fragment Image Units:	32
Maximum Pipeline Image Units:	192

Cycles:
=====================================


CPU device capabilities: SSE2 SSE3 SSE41 AVX

OpenCL device capabilities:
Number of platforms: 1
Platform #0
	Platform Name: Clover
	Platform Vendor: Mesa
	Platform Version: OpenCL 1.1 Mesa 20.1.5
	Platform Profile: FULL_PROFILE
	Platform Extensions: cl_khr_icd
	Number of devices: 1
		Device: #0
			Device Name: AMD KABINI (DRM 2.50.0, 4.19.56, LLVM 10.0.1)
			Device Vendor: AMD
			Device OpenCL C Version: OpenCL C 1.1 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 1.1 Mesa 20.1.5
			Device Extensions: cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64
			Device Max clock frequency (MHz): 496
			Device Max compute units: 2
			Device Max work group size: 256

Enabled add-ons:
=====================================

io_anim_bvh (version: (1, 0, 0), path: /app/blender/2.90/scripts/addons/io_anim_bvh/__init__.py)
io_curve_svg (version: UNKNOWN, path: /app/blender/2.90/scripts/addons/io_curve_svg/__init__.py)
io_mesh_ply (version: UNKNOWN, path: /app/blender/2.90/scripts/addons/io_mesh_ply/__init__.py)
io_mesh_stl (version: (1, 1, 3), path: /app/blender/2.90/scripts/addons/io_mesh_stl/__init__.py)
io_mesh_uv_layout (version: (1, 1, 1), path: /app/blender/2.90/scripts/addons/io_mesh_uv_layout/__init__.py)
io_scene_fbx (version: (4, 21, 3), path: /app/blender/2.90/scripts/addons/io_scene_fbx/__init__.py)
io_scene_gltf2 (version: (1, 3, 48), path: /app/blender/2.90/scripts/addons/io_scene_gltf2/__init__.py)
io_scene_obj (version: (3, 8, 0), path: /app/blender/2.90/scripts/addons/io_scene_obj/__init__.py)
io_scene_x3d (version: (2, 2, 5), path: /app/blender/2.90/scripts/addons/io_scene_x3d/__init__.py)
cycles (version: UNKNOWN, path: /app/blender/2.90/scripts/addons/cycles/__init__.py)
screencastkeys (version: (3, 0, 0), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/screencastkeys/__init__.py)
AddRenderButton (version: (0, 0, 3), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/AddRenderButton.py)
mmd_tools (version: (0, 7, 0), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/mmd_tools/__init__.py)
ant_landscape (version: (0, 1, 8), path: /app/blender/2.90/scripts/addons/ant_landscape/__init__.py)
render_povray (version: (0, 1, 0), path: /app/blender/2.90/scripts/addons/render_povray/__init__.py)
MB-Lab-1_7_7 (version: (1, 7, 7), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/MB-Lab-1_7_7/__init__.py)
BlendLuxCore (version: (2, 2), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/BlendLuxCore/__init__.py)
add_mesh_rocks (version: (1, 4), path: /home/cincin/.var/app/org.blender.Blender/config/blender/2.90/scripts/addons/add_mesh_rocks/__init__.py)
add_mesh_extra_objects (version: (0, 3, 6), path: /app/blender/2.90/scripts/addons/add_mesh_extra_objects/__init__.py)
blenderkit (version: (1, 0, 31), path: /app/blender/2.90/scripts/addons/blenderkit/__init__.py)
archipack (version: (1, 2, 83), path: /app/blender/2.90/scripts/addons/archipack/__init__.py)
archimesh (version: (1, 2, 2), path: /app/blender/2.90/scripts/addons/archimesh/__init__.py)
add_mesh_BoltFactory (version: (0, 4, 0), path: /app/blender/2.90/scripts/addons/add_mesh_BoltFactory/__init__.py)
add_mesh_discombobulator (version: (0, 1, 0), path: /app/blender/2.90/scripts/addons/add_mesh_discombobulator/__init__.py)
add_mesh_geodesic_domes (version: (0, 3, 6), path: /app/blender/2.90/scripts/addons/add_mesh_geodesic_domes/__init__.py)
Petra Mogyorósi (MiceAreVeryNice) changed the task status from Needs Information from User to Needs Triage.Oct 5 2020, 10:20 AM
Petra Mogyorósi (MiceAreVeryNice) updated the task description.
Petra Mogyorósi (MiceAreVeryNice) edited projects, added BF Blender (2.90); removed BF Blender (2.83).
Richard Antalik (ISS) added a subscriber: Richard Antalik (ISS).Oct 7 2020, 10:06 AM

From what I heard in T71576 this is apparently fixed in 2.91

Please download latest development build from https://builder.blender.org/download/ and re-check.

I will merge this report in meanwhile.

I see in report that you mention, that this works in 2.91 so nevermind my comment.

Amy Moo (amy_aimei) added a subscriber: Amy Moo (amy_aimei).Oct 16 2020, 5:48 PM

I just tested 2.91.0 Alpha (ba8233174cd7) with the legacy nVidia cards, it works. Both 2.83.7 and 2.90.1 are not working.