Re: Compressed textures
Martins D Innus <[email protected]>
| Newsgroups | gmane.comp.graphics.chromium.user |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 7 Jul 2006, Brian Paul wrote: > Martins D Innus wrote: >>>>>> Hi, >>>>>> I get a segfault when viewing an OpenSceneGraph model with >>>>>> compressed textures through tilesort. It works fine with uncompressed >>>>>> textures. Stack trace attached. >>>>> >>>>> >>>>> >>>>> I don't see the attachment. >>>>> >>>>> I just tried a Mesa texture compression test and it seemed to work, >>>>> with a little hack. I had to disable the check for the extension >>>>> GL_EXT_texture_compression_s3tc since it's not fully supported in >>>>> Chromium. It works to the extent that you can call >>>>> glCompressedTexImage2DARB() with a pre-compressed image. But Chromium >>>>> doesn't have the S3TC compression/decompression code needed for some >>>>> of other paths. >>>>> >>>>> -Brian >>>> >>>> >>>> >>>> Sorry, here's the trace. The textures are precompressed so looks like it >>>> should work based on what you say above. >>>> >>>> Doesn't seem like it failing on the extension check, as its actually >>>> making the glCompressedTexImage2D call. >>>> >>>> I don't fully understand the code path, but seems like server_index is >>>> not >>>> being set. >>> >>> >>> Which version of Chromium are you using? The line numbers in the >>> stack trace don't match current CVS. You might try the 1.9 release >>> candidate at http://chromium.sourceforge.net/beta/ >> >> >> I was using 1.9-rc1. Tried cvs from today with the same result. Trace >> attached. > > OK, I reproduced the problem here. There's two things to try: > > 1. Disable the assertion. I think it may be bogus. > 2. Increase your MTU in your .conf file so it can hold any compressed tex > image. Increasing the MTU (1024*1300) made it not crash, but that caused there to be untextured polygons, as well as textures applied to the incorrect polygons. OR Disabling the assertion caused problems further along. See attached. Doesn't "server_index=-1" cause "buffer" to be invalid at line 80 of tilesortspu_flush.c ? Thanks Martins Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Chromium-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chromium-users
cr_tex_error_3.txt
(text/plain, 4.4 KB)
Program received signal SIGTERM, Terminated.
[Switching to Thread 47810075615424 (LWP 8792)]
0x0000003ee762e2ed in raise () from /lib64/tls/libc.so.6
(gdb) where
#0 0x0000003ee762e2ed in raise () from /lib64/tls/libc.so.6
#1 0x00002b7ba66d55a1 in crError (format=0x2b7ba6b2cc50 "Assertion failed: %s, file %s, line %d") at error.c:166
#2 0x00002b7ba6ad3eb0 in __applySendBufferHeader (pack=0x57a7d0, len=0x7fff054d440c) at tilesortspu_flush.c:34
#3 0x00002b7ba6ad4154 in tilesortspuSendServerBufferThread (server_index=-1, thread=0x2b7ba6c45ce8) at tilesortspu_flush.c:94
#4 0x00002b7ba6ad4273 in tilesortspuSendServerBuffer (server_index=-1) at tilesortspu_flush.c:114
#5 0x00002b7ba6ad4556 in tilesortspuHuge (opcode=CR_EXTEND_OPCODE, buf=0x2aaaad400024) at tilesortspu_flush.c:255
#6 0x00002b7ba6edcf72 in crHugePacket (opcode=CR_EXTEND_OPCODE, packet=0x2aaaad400024) at pack_buffer.c:456
#7 0x00002b7ba6eeba06 in crPackCompressedTexImage2DARB (target=3553, level=0, internalformat=33776, width=1024, height=512,
border=0, imagesize=262144, data=0x2aaaac16e010) at pack_texture.c:764
#8 0x00002b7ba6ad8843 in tilesortspu_CompressedTexImage2DARB (target=3553, level=0, internalFormat=33776, width=1024,
height=512, border=0, imagesize=262144, data=0x2aaaac16e010) at tilesortspu_gen.c:1150
#9 0x00002b7ba6395eda in glCompressedTexImage2D (target=3553, level=0, internalFormat=33776, width=1024, height=512, border=0,
imageSize=262144, data=0x2aaaac16e010) at Linux_exports.c:4255
#10 0x00002b7ba61f4024 in osg::Texture::applyTexImage2D_load () from /util/osg/1.0/lib64/libosg.so
#11 0x00002b7ba61e98a7 in osg::Texture2D::apply () from /util/osg/1.0/lib64/libosg.so
#12 0x00002b7ba61cbb6d in osg::State::applyAttributeList () from /util/osg/1.0/lib64/libosg.so
#13 0x00002b7ba61c8a10 in osg::State::apply () from /util/osg/1.0/lib64/libosg.so
#14 0x00002b7ba5ed8607 in osgUtil::RenderLeaf::render () from /util/osg/1.0/lib64/libosgUtil.so
#15 0x00002b7ba5ecfc2f in osgUtil::RenderBin::drawImplementation () from /util/osg/1.0/lib64/libosgUtil.so
#16 0x00002b7ba5ee0100 in osgUtil::RenderStage::drawImplementation () from /util/osg/1.0/lib64/libosgUtil.so
#17 0x00002b7ba5ee0dde in osgUtil::RenderStage::drawInner () from /util/osg/1.0/lib64/libosgUtil.so
#18 0x00002b7ba5ee2f37 in osgUtil::RenderStage::draw () from /util/osg/1.0/lib64/libosgUtil.so
#19 0x00002b7ba5ef5c86 in osgUtil::SceneView::draw () from /util/osg/1.0/lib64/libosgUtil.so
#20 0x00002b7ba57bd854 in osgProducer::OsgSceneHandler::drawImplementation () from /util/osg/1.0/lib64/libosgProducer.so
#21 0x00002b7ba57bdebc in osgProducer::OsgSceneHandler::draw () from /util/osg/1.0/lib64/libosgProducer.so
#22 0x00002b7ba591abb1 in Producer::Camera::_frame () from /util/osg/1.0/lib64/libProducer.so
#23 0x00002b7ba591b37a in Producer::Camera::frame () from /util/osg/1.0/lib64/libProducer.so
#24 0x00002b7ba59241f6 in Producer::CameraGroup::_singleThreadedFrame () from /util/osg/1.0/lib64/libProducer.so
#25 0x00002b7ba5924425 in Producer::CameraGroup::_frame () from /util/osg/1.0/lib64/libProducer.so
#26 0x00002b7ba57b2e6f in osgProducer::OsgCameraGroup::frame () from /util/osg/1.0/lib64/libosgProducer.so
#27 0x00002b7ba57d26a8 in osgProducer::Viewer::frame () from /util/osg/1.0/lib64/libosgProducer.so
#28 0x000000000040ba56 in main ()
(gdb) up
#1 0x00002b7ba66d55a1 in crError (format=0x2b7ba6b2cc50 "Assertion failed: %s, file %s, line %d") at error.c:166
166 raise( SIGTERM );
(gdb) up
#2 0x00002b7ba6ad3eb0 in __applySendBufferHeader (pack=0x57a7d0, len=0x7fff054d440c) at tilesortspu_flush.c:34
34 CRASSERT( pack->opcode_current >= pack->opcode_end );
(gdb) up
#3 0x00002b7ba6ad4154 in tilesortspuSendServerBufferThread (server_index=-1, thread=0x2b7ba6c45ce8) at tilesortspu_flush.c:94
94 hdr = __applySendBufferHeader( buffer, &len );
(gdb) print buffer
$1 = (CRPackBuffer *) 0x57a7d0
(gdb) print *buffer
$2 = {pack = 0x4b000, size = 5756608, mtu = 0, data_start = 0x57b250 "tcpip://head19-m.ccr.buffalo.edu:7053",
data_current = 0x4b000 <Address 0x4b000 out of bounds>, data_end = 0x57d990 "",
opcode_start = 0x57b280 "tcpip://head20-m.ccr.buffalo.edu:7053", opcode_current = 0x4b000 <Address 0x4b000 out of bounds>,
opcode_end = 0x57dbc0 "", geometry_only = 0 '\0', holds_BeginEnd = 0 '\0', in_BeginEnd = 0 '\0', canBarf = 0 '\0',
holds_List = 0 '\0', in_List = 0 '\0', context = 0x651}
(gdb)