es_generator.py did not generate code for special functions. They were
supposed to be defined elsewhere. But as a result, parameter checking
was also skipped. This commit changes the way special functions are
called so that parameter checking is always performed.
When there is nothing to check, the check functions becomes macros
expanding to the real functions, as an optimization.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Have get_gen.py generate _mesa_GetFixedv. The generated function does
all the checkings and thus simplifies APIspec.xml a bit.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
APIspec.xml is based on APIspec.txt. The new format has less code
duplications and should be easier to read.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This function was using intel->depth_region, which is the static region
for the DRI1 depth buffer. This code has always been broken with DRI2
but I suspect it doesn't get excersized much.
This lets the individual drivers select which extensions to advertise.
Specifically, most drivers (tdfx, sis, savage etc) don't support DRI2
but the shared extension list in dri_util.c does list the DRI2 extension.
Pushing the list into the drivers, lets us avoid listing the DRI2
extension for drivers that don't support it.
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate
and __DRIscreen, and likewise for __DRIdrawablePrivate and
__DRIcontextPrivate. I left typedefs in place though, to avoid renaming
all the *Private use internal to the driver. That was probably a
mistake, and it turns out a one-line find+sed combo can do the mass
rename. Better late than never.
This adds missing pkg-config lookup for intel and moves the radeon
lookup into a case...esac so it's only looked up when one or more of
the radeon drivers are enabled.
By default we generate a function per GL entry point to warn if it's
called without a context set. This is to allow the function to print
it's name in the warning. By using a generic function that doesn't print
the function name in the non-DEBUG case, we reduce libGL size from
320008 bytes to 283144 bytes (11%).