From: Vladimir D. <vo...@mi...> - 2005-01-31 07:27:05
|
I just tagged "jump_and_click" snapshot of r300_driver. Both drm driver and r300 subdirectories were modified, the first one in a rather small way. The big change is that q3demo should now play in game mode, albeit with some texture related artifacts which are due to missing pixel shader generator. Thanks to Rune Petersen for nailing down the cause of lockups in NeHe lesson 20 ! Other highlights: * Aapo Tahkola have started integrating proper support for vertex shaders. You will likely need to upgrade to latest Mesa tree to play with this. * Wladimir van der Laan have done wonderful work figuring out the meaning of texture format fields and how to use stencils. Turns out the texture transparency that "worked" in blended_fountain shapshot did so by accident. * Ben Skeggs nailed down remaining 3d primitive. Also looks like the warning about "not enough vertices" is normal for some programs. TODO/Help needed: * pixel shader generator is needed to take into account environment mode. Without it texture transparency will likely not work. A quick hack would be to convert the one we have to handle Alpha component properly. * stencil code is there, but we don't know how to enable stencil (i.e. an analog of STENCIL_ENABLE bit of R200). ClearBuffer also needs to be modified to process stencil as well. * rewrite r300_render.c to use proper mesa code (templates?) and support vertex buffers. * tuxracer-demo still locks up on entering game mode. Remember that anonymous CVS on SourceForge lags behind the main one. enjoy ! Vladimir Dergachev |
From: Ben S. <dar...@ii...> - 2005-01-31 12:36:53
|
Hello, > > The big change is that q3demo should now play in game mode, albeit > with some texture related artifacts which are due to missing pixel > shader generator. Thanks to Rune Petersen for nailing down the > cause > of lockups in NeHe lesson 20 ! > lesson20 now works correctly without lockups for me. I'm unable to enter a game in quake3 (retail 1.32b) though. I don't have a lockup, but just after the intro screen, quake3 exits, with this message: quake3.x86: r300_cmdbuf.h:56: r300EnsureCmdBufSpace: Assertion `dwords < r300->cmdbuf.size' failed. > * rewrite r300_render.c to use proper mesa code (templates?) > and support vertex buffers. I've started some preliminary work on porting the r200 maos code over. Is this a good starting point for implementing vertex buffers? I still don't understand a fair bit of the driver, but I'm having fun messing with it in my (somewhat limited) spare time. Thanks for the update Vladimir, and to everyone who's contributed. Ben Skeggs. |
From: Vladimir D. <vo...@mi...> - 2005-01-31 14:35:36
|
On Mon, 31 Jan 2005, Ben Skeggs wrote: > Hello, > >> >> The big change is that q3demo should now play in game mode, albeit >> with some texture related artifacts which are due to missing pixel >> shader generator. Thanks to Rune Petersen for nailing down the cause >> of lockups in NeHe lesson 20 ! >> > lesson20 now works correctly without lockups for me. I'm unable to enter a > game in quake3 (retail 1.32b) though. I don't have a lockup, but just after > the intro screen, quake3 exits, with this message: > > quake3.x86: r300_cmdbuf.h:56: r300EnsureCmdBufSpace: Assertion `dwords < > r300->cmdbuf.size' failed. This should not really happen could you try to track down what causes it ? It might worthwhile to try turning off/on different graphics features in quake. > > >> * rewrite r300_render.c to use proper mesa code (templates?) >> and support vertex buffers. > > I've started some preliminary work on porting the r200 maos code over. Is > this a good starting point for implementing vertex buffers? At the very least it is a good starting point to look at :) The current scheme is closer to maos code, though it would be nicer (and cleaner) if there were one of the templates that other drivers use. Also, I am not sure whether AOS is really used in Mesa, judging by tnl->VB structure it might be not so (the benefit of AOS is that client programs can specify several arrays of vertex components and then mix and match them at will). best Vladimir Dergachev |
From: Ben S. <dar...@ii...> - 2005-01-31 15:09:29
|
>> lesson20 now works correctly without lockups for me. I'm unable to >> enter a >> game in quake3 (retail 1.32b) though. I don't have a lockup, but >> just after >> the intro screen, quake3 exits, with this message: >> >> quake3.x86: r300_cmdbuf.h:56: r300EnsureCmdBufSpace: Assertion >> `dwords < r300->cmdbuf.size' failed. > > > This should not really happen could you try to track down what causes > it ? > It might worthwhile to try turning off/on different graphics features > in quake. > I've tracked the problem down to using compiled vertex arrays (r_ext_compiled_vertex_array in q3config.cfg). Is this something we should be able to handle? Or is there a fallback we should be catching somewhere? Anyhow, quake3 runs now. > At the very least it is a good starting point to look at :) The > current scheme is closer to maos code, though it would be nicer (and > cleaner) if there were one of the templates that other drivers use. Is there any documentation on the use of these templates? Regards, Ben Skeggs. |
From: Rune P. <ru...@ma...> - 2005-01-31 16:51:49
|
Ben Skeggs wrote: > >>> lesson20 now works correctly without lockups for me. I'm unable to >>> enter a >>> game in quake3 (retail 1.32b) though. I don't have a lockup, but >>> just after >>> the intro screen, quake3 exits, with this message: >>> >>> quake3.x86: r300_cmdbuf.h:56: r300EnsureCmdBufSpace: Assertion >>> `dwords < r300->cmdbuf.size' failed. >> >> >> >> This should not really happen could you try to track down what causes >> it ? >> It might worthwhile to try turning off/on different graphics features >> in quake. >> > I've tracked the problem down to using compiled vertex arrays > (r_ext_compiled_vertex_array in q3config.cfg). Is this something we > should be able to handle? Or is there a fallback we should be catching > somewhere? Anyhow, quake3 runs now. > I can confirm this problem with Q3, but I can only play a map if I disable multi texturing (r_ext_multitexture). If I don't I get this: r300_check_render: fallback:ctx->Texture.Unit[i].Enabled Received Signal 11 exiting... Destroying context ! Rune Petersen |
From: Vladimir D. <vo...@mi...> - 2005-01-31 19:50:52
|
>>> >> I've tracked the problem down to using compiled vertex arrays >> (r_ext_compiled_vertex_array in q3config.cfg). Is this something we should >> be able to handle? Or is there a fallback we should be catching somewhere? >> Anyhow, quake3 runs now. >> > > I can confirm this problem with Q3, but I can only play a map if I disable > multi texturing (r_ext_multitexture). > If I don't I get this: > r300_check_render: fallback:ctx->Texture.Unit[i].Enabled > Received Signal 11 exiting... > Destroying context ! It used to be that this fallbacks worked fine, but these kind of problems happen more often now. If you want to play with multitexturing you could increase the index from 1 to 2 in the check_render() function (r300_render.c file). It won't produce correct rendering, of course, but it would be interesting to know whether we get a lockup. best Vladimir Dergachev > > Rune Petersen > |
From: Vladimir D. <vo...@mi...> - 2005-01-31 19:48:59
|
On Tue, 1 Feb 2005, Ben Skeggs wrote: > >>> lesson20 now works correctly without lockups for me. I'm unable to enter >>> a >>> game in quake3 (retail 1.32b) though. I don't have a lockup, but just >>> after >>> the intro screen, quake3 exits, with this message: >>> >>> quake3.x86: r300_cmdbuf.h:56: r300EnsureCmdBufSpace: Assertion `dwords < >>> r300->cmdbuf.size' failed. >> >> >> This should not really happen could you try to track down what causes it ? >> It might worthwhile to try turning off/on different graphics features in >> quake. >> > I've tracked the problem down to using compiled vertex arrays > (r_ext_compiled_vertex_array in q3config.cfg). Is this something we should > be able to handle? Or is there a fallback we should be catching somewhere? > Anyhow, quake3 runs now. I would not be surprised if compiled vertex arrays are broken right now, there is no special code in r300 driver to deal with those. > >> At the very least it is a good starting point to look at :) The current >> scheme is closer to maos code, though it would be nicer (and cleaner) if >> there were one of the templates that other drivers use. > > Is there any documentation on the use of these templates? No idea unfortunately. One can look at other drivers as an example, but most are different from R300. best Vladimir Dergachev > > Regards, > Ben Skeggs. > |
From: Rune P. <ru...@ma...> - 2005-01-31 20:57:34
|
Vladimir Dergachev wrote: >> >> I can confirm this problem with Q3, but I can only play a map if I >> disable multi texturing (r_ext_multitexture). >> If I don't I get this: >> r300_check_render: fallback:ctx->Texture.Unit[i].Enabled >> Received Signal 11 exiting... >> Destroying context ! > > > It used to be that this fallbacks worked fine, but these kind of > problems happen more often now. > > If you want to play with multitexturing you could increase the index > from 1 to 2 in the check_render() function (r300_render.c file). > > It won't produce correct rendering, of course, but it would be > interesting to know whether we get a lockup. It does lockup, and the log gives no hints. Rune Petersen |
From: Vladimir D. <vo...@mi...> - 2005-02-01 05:56:49
|
On Mon, 31 Jan 2005, Rune Petersen wrote: > Vladimir Dergachev wrote: >>> >>> I can confirm this problem with Q3, but I can only play a map if I disable >>> multi texturing (r_ext_multitexture). >>> If I don't I get this: >>> r300_check_render: fallback:ctx->Texture.Unit[i].Enabled >>> Received Signal 11 exiting... >>> Destroying context ! >> >> >> It used to be that this fallbacks worked fine, but these kind of problems >> happen more often now. >> >> If you want to play with multitexturing you could increase the index from 1 >> to 2 in the check_render() function (r300_render.c file). >> >> It won't produce correct rendering, of course, but it would be interesting >> to know whether we get a lockup. > > It does lockup, and the log gives no hints. I see. It could be that there are issues from legacy Radeon operations - those we assumed worked the same on R300, but, apparently, they can cause lockups. I just fixed HOSTDATA_BLT, chances are that page swap needs fixing too. best Vladimir Dergachev > > Rune Petersen > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting > Tool for open source databases. Create drag-&-drop reports. Save time > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > -- > _______________________________________________ > Dri-devel mailing list > Dri...@li... > https://lists.sourceforge.net/lists/listinfo/dri-devel > |