From: Leif D. <lde...@re...> - 2003-05-29 17:08:49
|
On Thu, 29 May 2003, Ian Romanick wrote: > Ian Romanick wrote: > > Ian Romanick wrote: > > > >> Log message: > >> Fixed the various supported texture wrap modes. Added a fallback for > >> unsupportable combinations of S/T wrap modes. > > > > > > All of the exported modes on Radeon, R200, and MGA should be correct > > now. I'm going to try and look at i830 this week. Could somebody > > please see about fixing up Rage128 and 3dfx? I see that both of those > > have some of the same problems that the "fixed" drivers used to have. > > Has anyone had a chance to look at this on either Rage128 or 3dfx? I > did a little snooping in both drivers, and I have a couple theories, but > someone with the actual hardware will have to verify them. > > I think the Rage128 driver is wrong in a couple of ways. It uses the > same mode for GL_CLAMP and GL_CLAMP_TO_BORDER. iirc, textures with a border are a fallback on r128. GL_CLAMP looks the same in texwrap on r128 as it does with software/indirect rendering. > If the hardware, like > the Intel hardware, can't support GL_CLAMP, then it should use > GL_CLAMP_TO_EDGE. This is consistent with the Intel driver. I think > it's also closer to what people are likely to expect. > > I looked at Delph3D, and the Rage128 drivers for the other operating > system don't support ARB_texture_mirrored_repeat. They do, however, > support ATI_texure_mirror_once. Changing 'b' in texwrap.c to 1.2 (from > 0.2) will show which the driver is actually doing. I tried this. It is in fact doing mirrored repeat (looks the same as software/indirect rendering with b set to 1.2). > http://delphi3d.net/hardware/viewreport.php?report=294 > > The Rage128 driver also doesn't export the SGI versions of any of the > clamp extensions. This is trivial and not necessary, but is probably a > good idea. I think we should export the EXT and SGIS edge clamp extensions (the texwrap demo gave a warning about that since the GL version is 1.2 but the extensions aren't present). I'll add this. > The 3dfx driver also has a number of problems. The switch-statement > that handles texture wrap modes doesn't have a case for > GL_CLAMP_TO_EDGE, which is a required part of GL 1.2. The bad part is > that because GL_CLAMP_TO_EDGE comes after GL_CLAMP in the test, it will > probably look okay in the test. Moreover, I don't see a mode for it (or > GL_CLAMP_TO_BORDER) in tdfx_glide.h. I'm not sure what we should do > about that. At the very least we should make GL_CLAMP_TO_EDGE work like > GL_CLAMP. Leaving the currently set mode as-is is just plain wrong. > > tdfx_glide.h has a mirror mode (GR_TEXTURECLAMP_MIRROR_EXT, line 308), > so the hardware probably supports ARB / IBM_texture_mirrored_repeat. > That should be investigated. > > The driver also doesn't export any of the extension strings. I assme > that is because it doesn't actually support any of the extensions (even > the required one). > > The Banshee driver (from 07-Jan-2000), Voodoo3 driver (from > 16-Jan-2001), and the Voodoo5 driver (from 21-Nov-2000) for that other > operating system all export SGIS_texture_edge_clamp, but that's all. > Either 3dfx implements GL_CLAMP as GL_CLAMP_TO_EDGE (like Intel), or > there some missing bits in tdfx_glide.h. > > http://delphi3d.net/hardware/viewreport.php?report=19 > http://delphi3d.net/hardware/viewreport.php?report=17 > http://delphi3d.net/hardware/viewreport.php?report=204 > > > > ------------------------------------------------------- > This SF.net email is sponsored by: eBay > Get office equipment for less on eBay! > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Dri-devel mailing list > Dri...@li... > https://lists.sourceforge.net/lists/listinfo/dri-devel > -- Leif Delgass http://www.retinalburn.net |