Ville Syrjälä wrote:

This patch implements these extensions:
 GL_ARB_texture_env_combine
 GL_EXT_texture_env_combine
 GL_ARB_texture_env_crossbar

I was thinking about this earlier today, and I think I know how we can improve performance...a lot. If my understanding of how a texturing fallback works is correct, it ought to be possible to improve the performance of a texturing-related fallback by several orders of magnitude without having to use SIMD instructions. :) Hopefully Brian or Keith can correct me if I'm totally off base.


In the current code, a texturing-related fallback causes *all* rendering (for that primitive) to be done in software. This includes stages of the GL rendering pipeline that come *after* texture application. This includes everything in figure 4.1 of the OpenGL 1.4 spec (page 164 of the document, page 177 of the pdf). Unless there is another reason for the fallback (i.e., unsupported logic-op), none of this should be done by software.

If we could re-wire Mesa just slightly to give the result of _swrast_texture_span back to the HW driver, we could short-cut all of that. The hardware would just do some sort of blit (i.e., textured line draw, simple blit, etc.) of the swrast->array->rgba data to the correct position in the frame-buffer. The *ideal* scenario would be if the swrast routines could be modified to draw to a buffer in AGP memory, depending on the hardware.

Without being able to do that, I don't think all the SIMD optimization of texture_combine (in swrast/s_texture.c) in the world will help overall performance much. In addition, this type of optimization could be applied to other chips that can't fully support GL_ARB_texture_env_combine (i.e., Rage128 & i810).




------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to