Hi, while I was trying to understand the DMA buffer allocation of the radeon driver a few months ago I added an assertion at the end of radeonAllocDmaRegion:
assert (rmesa->dma.current.ptr <= rmesa->dma.current.end); It fails if someone tries to allocate more DMA buffer space than one DMA buffer size. Now while testing quakeforge after a long time again the assertion did actually fail. RADEON_DEBUG=ioctl shows that radeonAllocDmaRegion is called with bytes=72000. IIRC the DMA buffer size is 65536. Here is a backtrace: nq-glx: radeon_ioctl.c:635: radeonAllocDmaRegion: Assertion `rmesa->dma.current.ptr <= rmesa->dma.current.end' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 1024 (LWP 1016)] 0x40334581 in kill () from /lib/libc.so.6 (gdb) bt #0 0x40334581 in kill () from /lib/libc.so.6 #1 0x40334394 in raise () from /lib/libc.so.6 #2 0x403358d1 in abort () from /lib/libc.so.6 #3 0x4032edb2 in __assert_fail () from /lib/libc.so.6 #4 0x41654ce7 in radeonAllocDmaRegion () at radeon_ioctl.c:609 #5 0x41656442 in radeonEmitArrays (ctx=0x8167898, inputs=24) at radeon_maos_verts.c:305 #6 0x416788e5 in radeon_run_tcl_render (ctx=0x8167898, stage=0x82e2d38) at radeon_tcl.c:315 #7 0x4162f733 in _tnl_run_pipeline (ctx=0x8167898) at t_pipeline.c:154 #8 0x41661d87 in radeonWrapRunPipeline (ctx=0x8167898) at radeon_state.c:2088 #9 0x41620115 in _tnl_DrawElements (mode=2823, count=137243856, type=137243856, indices=0x8318ba8) at t_array_api.c:99 #10 0x415bb936 in neutral_DrawElements (mode=0, count=0, type=0, indices=0x0) at ../../../../extras/Mesa/src/vtxfmt_tmp.h:369 #11 0x41680571 in radeon_fallback_DrawElements (mode=0, count=0, type=0, indices=0x0) at ../../../../../../extras/Mesa/src/vtxfmt_tmp.h:369 #12 0x415bb936 in neutral_DrawElements (mode=0, count=0, type=0, indices=0x0) at ../../../../extras/Mesa/src/vtxfmt_tmp.h:369 #13 0x40026f38 in Draw_nString (x=6, y=1078070736, str=0x4144e780 "_histogram GL_EXT_packed_pixels GL_EXT_polygon_offset", ' ' <repeats 19 times>, "GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_texture3D", ' ' <repeats 17 times>, "GL_EXT_texture_env_add GL_EXT_texture_env_combine ---Type <return> to continue, or q <return> to quit--- "..., count=0) at gl_draw.c:367 #14 0x72676f74 in ?? () Cannot access memory at address 0x7369685f Felix __\|/__ ___ ___ ___ __Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___ _____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____ [EMAIL PROTECTED] >o<__/ \___/ \___/ at the same time! ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel