Generate GL_INVALID_VALUE, not GL_INVALID_ENUM when glVertexAttrib is called
with a bad index.
Use _mesa_noop_vtxfmt_init() in DRI drivers to initialize vertex format
struct.
SrcReg->Swizzle is always initialized to SWIZZLE_NOOP, and if the program
specifies a 2/3/4-compontent swizzle suffix, SrcReg->Swizzles is just ORed
against the new component values, without resetting it first.
Attached patch makes tests/vptest2 pass.
From Tilam Sauerbeck bug 6673
When popping GL_DRAW_BUFFER state, need to re-do error checking since
validity depends on whether a window-system FBO or user-created FBO is
currently bound. glPopAttrib() may generate GL_INVALID_OPERATION because
of this.
Fix comment about MaxTextureUnits, needs to be min of coord and image units.
See bug 5994.
Also add a few assertions.
Use MaxTextureUnits in get.c code.
There's probably other places where we need to clean-up the usage of the
MaxTexture[Coord/Image]Units constants.
- use macros to access and modify render inputs bit-field;
- un-alias generic vertex attributes for ARB vertex calls;
- use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS
(ARB code) in place of VERT_ATTRIB_MAX;
- define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex
attributes for ARB_vertex_shader;
- fix generic attribute index range check in arbprogparse.c;
- interface GLSL varyings between vertex and fragment shader;
- use 64-bit optimised bitset (bitset.h) for render inputs;
fix some conflict happenings at context destroy by freeing buffers immediately. array locking can be done with vbos for vtxfmt_a so we dont really need to try to reuse them.
Replace MESA_FORMAT_DEPTH_COMPONENT_FLOAT32 with 32-bit integer format.
This allows render to depth texture (we don't support floating pt. Z buffers).
Rename MESA_FORMAT_DEPTH_COMPONENT16/32 as MESA_FORMAT_Z16/32.
Software fallback for glCopyTexImage now uses integer temporary image instead
of float, eliminates a lot of float/int conversions.