/*
* Mesa 3-D graphics library
- * Version: 3.5
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
*
* Authors:
- * Keith Whitwell <keith@tungstengraphics.com>
+ * Keith Whitwell <keithw@vmware.com>
*/
#include "math/m_translate.h"
* really convenient to put them. Need to build some actual .o files in
* this directory?
*/
-static void copy_pv_rgba4_spec5( GLcontext *ctx, GLuint edst, GLuint esrc )
+static void copy_pv_rgba4_spec5( struct gl_context *ctx, GLuint edst, GLuint esrc )
{
LOCALVARS
GLubyte *verts = GET_VERTEX_STORE();
dst[5] = src[5];
}
-static void copy_pv_rgba4( GLcontext *ctx, GLuint edst, GLuint esrc )
+static void copy_pv_rgba4( struct gl_context *ctx, GLuint edst, GLuint esrc )
{
LOCALVARS
GLubyte *verts = GET_VERTEX_STORE();
dst[4] = src[4];
}
-static void copy_pv_rgba3( GLcontext *ctx, GLuint edst, GLuint esrc )
+static void copy_pv_rgba3( struct gl_context *ctx, GLuint edst, GLuint esrc )
{
LOCALVARS
GLubyte *verts = GET_VERTEX_STORE();
}
-void TAG(translate_vertex)(GLcontext *ctx,
+void TAG(translate_vertex)(struct gl_context *ctx,
const VERTEX *src,
SWvertex *dst)
{
if (format == TINY_VERTEX_FORMAT) {
if (HAVE_HW_VIEWPORT) {
- dst->attrib[FRAG_ATTRIB_WPOS][0] = s[0] * src->v.x + s[12];
- dst->attrib[FRAG_ATTRIB_WPOS][1] = s[5] * src->v.y + s[13];
- dst->attrib[FRAG_ATTRIB_WPOS][2] = s[10] * src->v.z + s[14];
- dst->attrib[FRAG_ATTRIB_WPOS][3] = 1.0;
+ dst->attrib[VARYING_SLOT_POS][0] = s[0] * src->v.x + s[12];
+ dst->attrib[VARYING_SLOT_POS][1] = s[5] * src->v.y + s[13];
+ dst->attrib[VARYING_SLOT_POS][2] = s[10] * src->v.z + s[14];
+ dst->attrib[VARYING_SLOT_POS][3] = 1.0;
} else {
- dst->attrib[FRAG_ATTRIB_WPOS][0] = UNVIEWPORT_X( src->v.x );
- dst->attrib[FRAG_ATTRIB_WPOS][1] = UNVIEWPORT_Y( src->v.y );
- dst->attrib[FRAG_ATTRIB_WPOS][2] = UNVIEWPORT_Z( src->v.z );
- dst->attrib[FRAG_ATTRIB_WPOS][3] = 1.0;
+ dst->attrib[VARYING_SLOT_POS][0] = UNVIEWPORT_X( src->v.x );
+ dst->attrib[VARYING_SLOT_POS][1] = UNVIEWPORT_Y( src->v.y );
+ dst->attrib[VARYING_SLOT_POS][2] = UNVIEWPORT_Z( src->v.z );
+ dst->attrib[VARYING_SLOT_POS][3] = 1.0;
}
dst->color[0] = src->tv.color.red;
if (HAVE_HW_VIEWPORT) {
if (HAVE_HW_DIVIDE && CHECK_HW_DIVIDE) {
GLfloat oow = 1.0 / src->v.w;
- dst->attrib[FRAG_ATTRIB_WPOS][0] = s[0] * src->v.x * oow + s[12];
- dst->attrib[FRAG_ATTRIB_WPOS][1] = s[5] * src->v.y * oow + s[13];
- dst->attrib[FRAG_ATTRIB_WPOS][2] = s[10] * src->v.z * oow + s[14];
- dst->attrib[FRAG_ATTRIB_WPOS][3] = oow;
+ dst->attrib[VARYING_SLOT_POS][0] = s[0] * src->v.x * oow + s[12];
+ dst->attrib[VARYING_SLOT_POS][1] = s[5] * src->v.y * oow + s[13];
+ dst->attrib[VARYING_SLOT_POS][2] = s[10] * src->v.z * oow + s[14];
+ dst->attrib[VARYING_SLOT_POS][3] = oow;
} else {
- dst->attrib[FRAG_ATTRIB_WPOS][0] = s[0] * src->v.x + s[12];
- dst->attrib[FRAG_ATTRIB_WPOS][1] = s[5] * src->v.y + s[13];
- dst->attrib[FRAG_ATTRIB_WPOS][2] = s[10] * src->v.z + s[14];
- dst->attrib[FRAG_ATTRIB_WPOS][3] = src->v.w;
+ dst->attrib[VARYING_SLOT_POS][0] = s[0] * src->v.x + s[12];
+ dst->attrib[VARYING_SLOT_POS][1] = s[5] * src->v.y + s[13];
+ dst->attrib[VARYING_SLOT_POS][2] = s[10] * src->v.z + s[14];
+ dst->attrib[VARYING_SLOT_POS][3] = src->v.w;
}
} else {
- dst->attrib[FRAG_ATTRIB_WPOS][0] = UNVIEWPORT_X( src->v.x );
- dst->attrib[FRAG_ATTRIB_WPOS][1] = UNVIEWPORT_Y( src->v.y );
- dst->attrib[FRAG_ATTRIB_WPOS][2] = UNVIEWPORT_Z( src->v.z );
- dst->attrib[FRAG_ATTRIB_WPOS][3] = src->v.w;
+ dst->attrib[VARYING_SLOT_POS][0] = UNVIEWPORT_X( src->v.x );
+ dst->attrib[VARYING_SLOT_POS][1] = UNVIEWPORT_Y( src->v.y );
+ dst->attrib[VARYING_SLOT_POS][2] = UNVIEWPORT_Z( src->v.z );
+ dst->attrib[VARYING_SLOT_POS][3] = src->v.w;
}
dst->color[0] = src->v.color.red;
dst->color[2] = src->v.color.blue;
dst->color[3] = src->v.color.alpha;
- dst->attrib[FRAG_ATTRIB_COL1][0] = UBYTE_TO_FLOAT(src->v.specular.red);
- dst->attrib[FRAG_ATTRIB_COL1][1] = UBYTE_TO_FLOAT(src->v.specular.green);
- dst->attrib[FRAG_ATTRIB_COL1][2] = UBYTE_TO_FLOAT(src->v.specular.blue);
+ dst->attrib[VARYING_SLOT_COL1][0] = UBYTE_TO_FLOAT(src->v.specular.red);
+ dst->attrib[VARYING_SLOT_COL1][1] = UBYTE_TO_FLOAT(src->v.specular.green);
+ dst->attrib[VARYING_SLOT_COL1][2] = UBYTE_TO_FLOAT(src->v.specular.blue);
- dst->attrib[FRAG_ATTRIB_FOGC][0] = UBYTE_TO_FLOAT(src->v.specular.alpha);
+ dst->attrib[VARYING_SLOT_FOGC][0] = UBYTE_TO_FLOAT(src->v.specular.alpha);
if (HAVE_PTEX_VERTICES &&
((HAVE_TEX2_VERTICES && format == PROJ_TEX3_VERTEX_FORMAT) ||
(format == PROJ_TEX1_VERTEX_FORMAT))) {
- dst->attrib[FRAG_ATTRIB_TEX0][0] = src->pv.u0;
- dst->attrib[FRAG_ATTRIB_TEX0][1] = src->pv.v0;
- dst->attrib[FRAG_ATTRIB_TEX0][3] = src->pv.q0;
+ dst->attrib[VARYING_SLOT_TEX0][0] = src->pv.u0;
+ dst->attrib[VARYING_SLOT_TEX0][1] = src->pv.v0;
+ dst->attrib[VARYING_SLOT_TEX0][3] = src->pv.q0;
- dst->attrib[FRAG_ATTRIB_TEX1][0] = src->pv.u1;
- dst->attrib[FRAG_ATTRIB_TEX1][1] = src->pv.v1;
- dst->attrib[FRAG_ATTRIB_TEX1][3] = src->pv.q1;
+ dst->attrib[VARYING_SLOT_TEX1][0] = src->pv.u1;
+ dst->attrib[VARYING_SLOT_TEX1][1] = src->pv.v1;
+ dst->attrib[VARYING_SLOT_TEX1][3] = src->pv.q1;
if (HAVE_TEX2_VERTICES) {
- dst->attrib[FRAG_ATTRIB_TEX2][0] = src->pv.u2;
- dst->attrib[FRAG_ATTRIB_TEX2][1] = src->pv.v2;
- dst->attrib[FRAG_ATTRIB_TEX2][3] = src->pv.q2;
+ dst->attrib[VARYING_SLOT_TEX2][0] = src->pv.u2;
+ dst->attrib[VARYING_SLOT_TEX2][1] = src->pv.v2;
+ dst->attrib[VARYING_SLOT_TEX2][3] = src->pv.q2;
}
if (HAVE_TEX3_VERTICES) {
- dst->attrib[FRAG_ATTRIB_TEX3][0] = src->pv.u3;
- dst->attrib[FRAG_ATTRIB_TEX3][1] = src->pv.v3;
- dst->attrib[FRAG_ATTRIB_TEX3][3] = src->pv.q3;
+ dst->attrib[VARYING_SLOT_TEX3][0] = src->pv.u3;
+ dst->attrib[VARYING_SLOT_TEX3][1] = src->pv.v3;
+ dst->attrib[VARYING_SLOT_TEX3][3] = src->pv.q3;
}
}
else {
- dst->attrib[FRAG_ATTRIB_TEX0][0] = src->v.u0;
- dst->attrib[FRAG_ATTRIB_TEX0][1] = src->v.v0;
- dst->attrib[FRAG_ATTRIB_TEX0][3] = 1.0;
+ dst->attrib[VARYING_SLOT_TEX0][0] = src->v.u0;
+ dst->attrib[VARYING_SLOT_TEX0][1] = src->v.v0;
+ dst->attrib[VARYING_SLOT_TEX0][3] = 1.0;
- dst->attrib[FRAG_ATTRIB_TEX1][0] = src->v.u1;
- dst->attrib[FRAG_ATTRIB_TEX1][1] = src->v.v1;
- dst->attrib[FRAG_ATTRIB_TEX1][3] = 1.0;
+ dst->attrib[VARYING_SLOT_TEX1][0] = src->v.u1;
+ dst->attrib[VARYING_SLOT_TEX1][1] = src->v.v1;
+ dst->attrib[VARYING_SLOT_TEX1][3] = 1.0;
if (HAVE_TEX2_VERTICES) {
- dst->attrib[FRAG_ATTRIB_TEX2][0] = src->v.u2;
- dst->attrib[FRAG_ATTRIB_TEX2][1] = src->v.v2;
- dst->attrib[FRAG_ATTRIB_TEX2][3] = 1.0;
+ dst->attrib[VARYING_SLOT_TEX2][0] = src->v.u2;
+ dst->attrib[VARYING_SLOT_TEX2][1] = src->v.v2;
+ dst->attrib[VARYING_SLOT_TEX2][3] = 1.0;
}
if (HAVE_TEX3_VERTICES) {
- dst->attrib[FRAG_ATTRIB_TEX3][0] = src->v.u3;
- dst->attrib[FRAG_ATTRIB_TEX3][1] = src->v.v3;
- dst->attrib[FRAG_ATTRIB_TEX3][3] = 1.0;
+ dst->attrib[VARYING_SLOT_TEX3][0] = src->v.u3;
+ dst->attrib[VARYING_SLOT_TEX3][1] = src->v.v3;
+ dst->attrib[VARYING_SLOT_TEX3][3] = 1.0;
}
}
}
/* prototype to silence warning */
-void TAG(print_vertex)( GLcontext *ctx, const VERTEX *v );
+void TAG(print_vertex)( struct gl_context *ctx, const VERTEX *v );
-void TAG(print_vertex)( GLcontext *ctx, const VERTEX *v )
+void TAG(print_vertex)( struct gl_context *ctx, const VERTEX *v )
{
LOCALVARS
GLuint format = GET_VERTEX_FORMAT();
#define GET_COLOR(ptr, idx) ((ptr)->data[idx])
-INTERP_QUALIFIER void TAG(interp_extras)( GLcontext *ctx,
+INTERP_QUALIFIER void TAG(interp_extras)( struct gl_context *ctx,
GLfloat t,
GLuint dst, GLuint out, GLuint in,
GLboolean force_boundary )
INTERP_VERTEX(ctx, t, dst, out, in, force_boundary);
}
-INTERP_QUALIFIER void TAG(copy_pv_extras)( GLcontext *ctx,
+INTERP_QUALIFIER void TAG(copy_pv_extras)( struct gl_context *ctx,
GLuint dst, GLuint src )
{
LOCALVARS