If we ever had a non-tile-aligned tiled renderbuffer, the math was all
off. Use the existing x,y coordinates instead of trying to
reconstruct them from an incorrectly-calculated offset value.
Add error checking and fix handling of level (it should be negative).
Besides, always use the palette entry format/type when calling
_mesa_TexImage2D. It respects the base internal formats of the cpal
formats, and is simpler and faster, except for cases where the unpack
alignment needs to be changed.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
In GL_OES_framebuffer_object and OpenGL ES 2.0, GL_RGB565 is a valid
internal format. Since it is not supported by the core, map it to
GL_RGB5 as a workaround.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Unlike in OpenGL, GL_OES_texture_cube_map says that all coordinates are
changed the same time by the token GL_TEXTURE_GEN_STR_OES, and the
initial mode is GL_REFLECTION_MAP_OES.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit adds definitions of
GL_EXT_texture_compression_dxt1
GL_EXT_texture_lod_bias
GL_EXT_blend_minmax
GL_EXT_multi_draw_arrays
to APIspec.xml and get_gen.py. Some of the enums are not avaiable in
the header files and the defining extensions are disabled.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
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.