Summary: | FlightGear asserts and aborts in r300_mipmap_tree.c:calculate_miptree_layout | ||
---|---|---|---|
Product: | Mesa | Reporter: | Mukund Sivaraman <muks> |
Component: | Drivers/DRI/r300 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | 7.2 | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
full bt at time of assert/abort
avsa242-mesa git glxinfo patch fixing failing numLevels assertion |
Description
Mukund Sivaraman
2009-03-11 12:51:05 UTC
Created attachment 23854 [details]
full bt at time of assert/abort
Created attachment 23855 [details]
avsa242-mesa git glxinfo
Confirmed with mesa git handbuilt (./configure --prefix=/usr/lib/opengl/handbuilt/ --enable-xcb --with-dri-drivers=r300,radeon,swrast --disable-gallium --enable-debug), xf86-video-ati git (live ebuild, x11 layman overlay) xorg-server git (January) on Gentoo, gcc 4.3.3. RS480 XPress 200M 5955. Mine hits the assert in r300_texstate.c instead; numLevels=13 I can confirm this bug. I can reproduce it every time with ubuntu 9.04 beta and before that with ubuntu 8.10. Flightgear crashes with the following message: *********************************WARN_ONCE********************************* File r300_state.c function r500SetupRSUnit line 1907 Don't know how to satisfy InputsRead=0x00000008 *************************************************************************** fgfs: r300_texstate.c:348: r300SetTexImages: Assertion `numLevels <= 12' failed. Here is the glxinfo: name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group client glx vendor string: SGI client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap GLX version: 1.2 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group OpenGL vendor string: DRI R300 Project OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX/SSE2 TCL OpenGL version string: 1.3 Mesa 7.4 OpenGL extensions: GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_MESAX_texture_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program, GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays 16 GLX Visuals visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat ---------------------------------------------------------------------- 0x21 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x22 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x71 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x72 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x73 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x74 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x75 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x76 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x77 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x78 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x79 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x7a 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x7b 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x7c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x7d 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x60 32 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 16 GLXFBConfigs: visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat ---------------------------------------------------------------------- 0x61 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x62 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x63 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x64 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x65 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x66 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x67 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x68 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x69 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x6a 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x6b 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x6c 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x6d 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x6e 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x6f 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x70 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow (In reply to comment #4) I forgot to say: compiz is off; my video card is ATI mobility radeon x1400. I also tried flightgear with the proprietary driver and it works without problems then. (In reply to comment #4) > *********************************WARN_ONCE********************************* > File r300_state.c function r500SetupRSUnit line 1907 > Don't know how to satisfy InputsRead=0x00000008 This looks like bug 17929, which was fixed before Mesa 7.3, but maybe the fix needs to be adapted for R5xx cards as well... > *************************************************************************** > fgfs: r300_texstate.c:348: r300SetTexImages: Assertion `numLevels <= 12' > failed. This should be fixed in Mesa Git master. If someone can confirm this and that it still happens with mesa_7_4_branch, the fix can be backported. (In reply to comment #6) > (In reply to comment #4) > > *********************************WARN_ONCE********************************* > > File r300_state.c function r500SetupRSUnit line 1907 > > Don't know how to satisfy InputsRead=0x00000008 > > This looks like bug 17929, which was fixed before Mesa 7.3, but maybe the fix > needs to be adapted for R5xx cards as well... Nope, this bug and other fog related has been fixed by d8b8fb68954e6eebd0b38708c25a5bec4cf1a26c and 7ad7abc4cd5c94b83feea4553ffb5a69d8ad4757. These commits aren't in 7.3 neither in 7.4. > > *************************************************************************** > > fgfs: r300_texstate.c:348: r300SetTexImages: Assertion `numLevels <= 12' > > failed. > > This should be fixed in Mesa Git master. If someone can confirm this and that > it still happens with mesa_7_4_branch, the fix can be backported. > I will try to reproduce it on my rs690. (In reply to comment #6) > (In reply to comment #4) > > *********************************WARN_ONCE********************************* > > File r300_state.c function r500SetupRSUnit line 1907 > > Don't know how to satisfy InputsRead=0x00000008 > > This looks like bug 17929, which was fixed before Mesa 7.3, but maybe the fix > needs to be adapted for R5xx cards as well... > > > *************************************************************************** > > fgfs: r300_texstate.c:348: r300SetTexImages: Assertion `numLevels <= 12' > > failed. > > This should be fixed in Mesa Git master. If someone can confirm this and that > it still happens with mesa_7_4_branch, the fix can be backported. > This happens with mesa 7.4 as well (which I use, as you can see from the glxinfo I posted earlier). If you apply the two patches mentioned above to 7.4, does it fix the issue? I may release Mesa 7.4.1. on Friday... (In reply to comment #9) > If you apply the two patches mentioned above to 7.4, does it fix the issue? Unfortunately, I have no idea how to do that. (In reply to comment #9) > If you apply the two patches mentioned above to 7.4, does it fix the issue? > > I may release Mesa 7.4.1. on Friday... > I'd suggest not to include those patches even if they would fix the issue. They are pretty invasive, touch sensitive area (incorrect RS setup can easily lockup GPU) and weren't tested separately that much (but the whole patch-set from 2009-03-06 has been tested thoroughly on r300, r400 and r500 cards by Markus Amsler and on rs690 by me). Also d8b8fb68954e6eebd0b38708c25a5bec4cf1a26c patch depends on 25dfbb03f8acf91a707d722af2336821dd73b8ff. Created attachment 24870 [details] [review] patch fixing failing numLevels assertion Attached patch should fix the failing assertion (it's against mesa_7_4_branch). In r300CreateContext we set max texture levels to 13 for >= RV513, for earlier cards we leave it to default (12). In r300SetTexImages we were checking numLevels against RADEON_MAX_TEXTURE_LEVELS (12) instead of actual limit. (In reply to comment #12) > Created an attachment (id=24870) [details] > patch fixing failing numLevels assertion That's not enough to handle >12 levels in general though. Have you tried backporting e101959b6a262ba34a12b407ea6f480e6b4d7d72 from master? (Though your change may make sense on top of that - I was just taking the assertion as guarding against array overflow) We could backport e101959b6a262ba34a12b407ea6f480e6b4d7d72 as Michel Dänzer said, but you still would hit "Don't know how to satisfy InputsRead=0x00000008" problem (which would probably hard lock the GPU). Patches that fixes it are too invasive and won't be backported. The best resolution for you is to upgrade mesa. Closing (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #4) > > > *********************************WARN_ONCE********************************* > > > File r300_state.c function r500SetupRSUnit line 1907 > > > Don't know how to satisfy InputsRead=0x00000008 > > > > This looks like bug 17929, which was fixed before Mesa 7.3, but maybe the fix > > needs to be adapted for R5xx cards as well... > > Nope, this bug and other fog related has been fixed by > d8b8fb68954e6eebd0b38708c25a5bec4cf1a26c and > 7ad7abc4cd5c94b83feea4553ffb5a69d8ad4757. These commits aren't in 7.3 neither > in 7.4. > Fedora 11 shipped with Mesa RPM versions 7.5-0.14.fc11.x86_64, but it's unclear what release they picked as Mesa 7.5 doesn't seem to be released (?). Maybe it's one of the RC releases. I am still able to reproduce the exact same bug as in the description with this RPM version on the same hardware. Let's keep this bug in the resolved state while I get a chance to verify if it has been fixed. Please do not mark this bug as closed until then. The source file of the assertion is different, but it's in the same function, so maybe the file was renamed: [muks@naina ~]$ fgfs Model Author: Unknown Creation Date: 2002-01-01 Version: $Id: c172p.xml,v 1.20 2008/09/01 15:14:33 torsten Exp $ Description: Cessna C-172 FGMultiplayMgr - No receiver port, Multiplayermode disabled KI266 dme indicator #0 initialized Initializing Nasal Electrical System fgfs: radeon_mipmap_tree.c:142: calculate_miptree_layout: Assertion `numLevels <= 12' failed. Aborted [muks@naina ~]$ New package versions: FlightGear-1.9.1-4.fc11.x86_64 xorg-x11-drv-ati-6.12.2-14.fc11.x86_64 mesa-libGL-7.5-0.14.fc11.x86_64 libdrm-2.4.6-7.fc11.x86_64 (In reply to comment #16) > mesa-libGL-7.5-0.14.fc11.x86_64 I assume Fedora 11 ships some variant of the radeon-rewrite branch, see bug 21864. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.