Brian Paul wrote:

> Jonathan Bastien-Filiatrault wrote:
>   
>> [snip]
>> at around 45-50 fps with a 960 face model in zpass mode.
>>
>> PS: Have you noticed that some versions of the newer mesa does not seem 
>> to like mixing plain old vertex arrays with VBOs ? The mesa in Debian 
>> unstable(7.0.1) does not segfault on me with direct rendering with mixed 
>> code.
>>     
>
> Are you saying 7.0.1 works as expected but Mesa from git (or the swz 
> branch) doesn't work?  I don't quite follow what you're saying.
>   
Sorry for the non-sequitur. The latest git and the swz branch tend to
segfault when mixing VBOs with plain old vertex arrays with DRI. This
problem is not present with the mesa in Debian. Disabling hardware
acceleration prevents the segfault. I am using the latest DDX and DRM
code. The kernel is 2.6.22.9 vanilla. The machine is a Dell D620, AMD64.
Here are the few last lines from valgrind:

==21659== Invalid read of size 8
==21659==    at 0x806F3C9: _tnl_draw_prims (t_draw.c:131)
==21659==    by 0x8067E83: vbo_exec_DrawArrays (vbo_exec_array.c:259)
==21659==    by 0x805C413: neutral_DrawArrays (vtxfmt_tmp.h:328)
==21659==    by 0x41E9D3: OglGeometry::drawShadowVolume(RenderPass
const&) (geometry.cpp:315)
^^ vertex array draw
==21659==    by 0x41EBE8: OglGeometry::render(RenderPass const&)
(geometry.cpp:357)
==21659==    by 0x41697F: Drawable::draw(RenderPass const&) (drawable.h:32)
==21659==    by 0x4169AF: DrawableObject::draw(RenderPass const&)
(drawableobject.h:14)
==21659==    by 0x416DC3: Node::draw(RenderPass const&) (node.cpp:24)
==21659==    by 0x417BBA: Scene::render() (scene.cpp:111)
==21659==    by 0x4138FE: Window::draw() (window.cpp:242)
==21659==    by 0x41393D: Window::draw_cb() (window.cpp:36)
==21659==    by 0x4C4639A: processWindowWorkList (glut_event.c:1306)
==21659==  Address 0x1C5D7558 is not stack'd, malloc'd or (recently) free'd

I am pretty sure I am not passing invalid pointers to mesa. Shall I
write a test case ? Do you want to have a look at the code ?
>> Is it even worth it putting shadow edge geometry in a VBO ? For 
>> the light cap, I use glDrawElements with the main vertex VBO, avoiding 
>> copies of vertex data.
>>     
>
> Sometimes, determining the best storage/rendering method depends on the 
> hardware or other factors so it's best to do actual measurements to 
> answer the question.
>
> -Brian
Thanks,
Jonathan


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to