Summary: | workaround to avoid the assert main/renderbuffer.c:2041: _mesa_add_renderbuffer:... | ||
---|---|---|---|
Product: | Mesa | Reporter: | Pierre Nerzic <pierre.nerzic> |
Component: | Drivers/DRI/Unichrome | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | bensberg, tfogal, vladimir |
Version: | 6.5 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
mesa-6.5.3/src/mesa/main/renderbuffer.c diffs to avoid assert failure
mesa-6.5.3/src/mesa/main/renderbuffer.c diffs to avoid assert failure stack trace and variable dump patch to via_context.c error messages when running DirectX programs with Wine and Unichrome driver, in the latest version patch for OSMesa driver |
Description
Pierre Nerzic
2007-05-16 05:28:38 UTC
please attach a diff with your changes. Created attachment 9984 [details] [review] mesa-6.5.3/src/mesa/main/renderbuffer.c diffs to avoid assert failure this is a test for _mesa_add_renderbuffer() in the case there was a renderbuffer attached to a framebuffer, due to a bug in the via/unichrome driver. Please attach a unified diff, made with 'diff -u' from the top dir of mesa. Created attachment 9986 [details] [review] mesa-6.5.3/src/mesa/main/renderbuffer.c diffs to avoid assert failure I'm going to veto that patch. The real bug is in the unichrome driver, not in core Mesa. If you can provide a stack trace when the problem occurs, I might be able to suggest something better. Also, what is the value of 'bufferName' at that time? Created attachment 9992 [details]
stack trace and variable dump
Dear Paul, Alex and Benno, Many apologies for my proposal, clearly this is not a good direction, but it was my only way to make it work. If I knew something about the Unichrome driver... I attached some explanations about the failure, having modified the sources src/mesa/drivers/dri/unichrome/via_context.c to print the calls to viaMakeCurrent and other. Best regards, Pierre Created attachment 9995 [details] [review] patch to via_context.c Thanks for the extra info. I'm attaching a patch that should help. The same thing may be needed for the BACK and DEPTH renderbuffers. Note that thte unichrome driver really needs some work in this area so this is basically a bandage. See the comments in viaCreateBuffer(). (In reply to comment #8) > Created an attachment (id=9995) [details] > patch to via_context.c > > Thanks for the extra info. I'm attaching a patch that should help. The same > thing may be needed for the BACK and DEPTH renderbuffers. > > Note that thte unichrome driver really needs some work in this area so this is > basically a bandage. See the comments in viaCreateBuffer(). > For some reason your patch doesn't work with my unichrome card. However Pierre's hack seem to solve problem with wine and assert messages. Hello there, I have exactly the same problem with a SiS630 integrated video adapter. I tried the workaround, mentioned here, but unfortunately, with no success. I get no more "assertion failed" messages, but DirectDraw and D3D appliactions still don't run with Wine... I'm using Ubuntu 7.04, with the built-in version of Mesa (6.5.2). I tried compiling Mesa from source (versions 6.5.2 and 6.5.3), but nothing has changed. When I start a ddraw or d3d app, my computer locks up completely, I have to do a hard reset. Any ideas? Created attachment 13762 [details]
error messages when running DirectX programs with Wine and Unichrome driver, in the latest version
It seems with the latest version of Wine and Mesa, the error messages when running DirectX programs with Unichrome was changed. Currently it's like:
main/renderbuffer.c:2150:_mesa_reference_renderbuffer: Assertion “oldRb->Magic == 0xaabbccdd” Failed.
I've attached more error messages about this.
We are hitting this with our application, VisIt, using software rendering with OSMesa 7.8.2. yana3{brugger}33: bin/visit Running: gui -dv Running: viewer -host 127.0.0.1 -port 5600 -dv -geometry 1512x1148+408+0 -borders 21,8,4,4 -shift 4,21 -preshift 0,0 -defer Running: mdserver -host 127.0.0.1 -port 5601 -dv Running: engine_ser -host 127.0.0.1 -port 5600 -dv engine_ser: main/renderbuffer.c:1924: _mesa_add_renderbuffer: Assertion `bufferName == BUFFER_DEPTH || bufferName == BUFFER_STENCIL || fb->Attachment[bufferName].Renderbuffer == ((void *)0)' failed. Running: engine_ser -host 127.0.0.1 -port 5600 -dv engine_ser: main/renderbuffer.c:1924: _mesa_add_renderbuffer: Assertion `bufferName == BUFFER_DEPTH || bufferName == BUFFER_STENCIL || fb->Attachment[bufferName].Renderbuffer == ((void *)0)' failed. This is with our current trunk. Mesa is built using the autoconf build system: ./configure \ CC="${C_COMPILER}" \ CXX="${CXX_COMPILER}" \ CFLAGS="${CFLAGS} -DUSE_MGL_NAMESPACE" \ CXXFLAGS="${CXXFLAGS} -DUSE_MGL_NAMESPACE" \ --prefix=${PF} \ --without-demos \ --with-driver=osmesa \ --disable-gallium \ --with-max-width=16384 \ --with-max-height=16384 \ --disable-glw \ --disable-glu \ --disable-egl AFAIK, we don't actually use glRenderbuffer* in our application, so I guess there is an implicit buffer for the implicit display? More information as I know it... Potentially the same bug: http://www.cmake.org/Bug/view.php?id=10900 Created attachment 36700 [details] [review] patch for OSMesa driver Tom, can you try this patch to the OSMesa driver? Brian, yeah, that fixes the crash && rendering works as expected. Thanks for the quick response. OK, osmesa patch pushed as commit 91c37599f621a0ec498c0f0add14f16470ca852b The SIS and Unichrome drivers probably need similar fixes, if anyone cares. *** Bug 29824 has been marked as a duplicate of this bug. *** It's no longer a Mesa Core issue, reassigning to Unichrome. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/openchrome/old-bug-database/issues/2. |
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.