2008/6/16 Brian Paul <[EMAIL PROTECTED]>: >> With the fog bugs fixed, there are two issues I run into when running >> Wine's D3D unit tests with Mesa's swrast. The first issue is that by >> default Mesa doesn't report any visuals / FBConfigs with an alpha >> channel in the colorbuffer, unless I set MESA_GLX_FORCE_ALPHA (which >> makes them all get an alpha channel). Is this intentional? I would >> guess not. > > It's intentional. > > With the xlib driver, we're faking GLX. Since we're acting like an ordinary > X client we have no notion of visual alpha channels so by default there > isn't an alpha channel. When MESA_GLX_FORCE_ALPHA is set, we add an alpha > channel to each visual. This isn't free, however, since we have to allocate > extra memory and do extra work. > The problem is that without an alpha channel things like blend operations on the framebuffer that use the destination's alpha component don't work properly. eg. glBendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA);
>> The other issue is that not being able to link multiple >> >> GLSL shaders together makes Mesa's GLSL implementation pretty much >> unusable for Wine. Due to the way D3D SM3 shaders work we're pretty >> much forced to link a second vertex shader to the main vertex shader >> that matches up the correct vertex shader output varyings with the >> fragment shader input varyings for the fragment shader that's used at >> the time. > > This is the first app I've heard of that needs the full linker. The easiest > way to implement this in Mesa would be to concatenate all the shader source > files together then compile the result. Unfortunately, I really don't have > any time to work on that. > I think that's also the way nvidia handles this in their drivers, but the main disadvantage of that approach is that linking becomes a lot more expensive. Otoh, any other implementation will probably be a lot harder. Henri ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
