Makes the vertex program output from the fragment input.
It makes the driver capable of catching output-input mismatches safely. Primarily
based on some of Aapo Tahkola's code.
Implement GLX_SGI_make_current_read for tdfx. Remove annoying debug
printf in tdfxSwapBuffers. Updated a comment in drirenderbuffer.h to
note that the tdfx driver uses a flag that was previously only used by
s3v.
This code was tested with glxgears, wincopy, and manywin.
Via depth_test_pixels (swrast/s_depth.c), tdfxDDWriteDepthPixels can
be called with mask == NULL. Test for this condition in the places
where mask might be dereference. This matches the behavior of several
other functions in this file with a 'const GLubyte mask[]' parameter.
In 16-bit color modes the 3D driver was erroneously creating fbconfigs
with 16-bits of accumulation alpha. Since the 2D driver always
generates modes with zero bits of alpha, the lists of fbconfigs did
not match and warnings were generated by libGL.
Refactor savageXMesaSetBackClipRects and savageXMesaSetFrontClipRects
into a single new routine called savageXMesaSetClipRects. This allows
a few cleanups in the code.
Eliminate use of deprecated GetBufferSize interface. Keep framebuffer
state associated with the read-drawable and the draw-drawable up to
date.
Tested with progs/demos/wincopy.
Discontinue use of the old GetBuffeSize interface. Track both the
current read-drawable and the current draw-drawable. After moving
some context state to via_rednerbuffer, GLX_SGI_make_current_read can
be enabled.
The extension works, but the wincopy test prodcues a black window for
the destination window. After messing around with the window and
looking at the code, I believe the problem is in the handling of
buffer swap requests on a drawable that isn't the current draw-drawable.