st/mesa: don't generate NIR for ARB_vp/fp if NIR is not preferred
[mesa.git] / src / mesa / tnl / t_vertex_generic.c
index 99ddace73d13f1c39d2e06bea72dd71f16d3d62c..7f871a4f68678c3e06f49215e1bde690a4bb6b4f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright 2003 Tungsten Graphics, inc.
+ * Copyright 2003 VMware, Inc.
  * All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * 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 NON-INFRINGEMENT.  IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * VMWARE AND/OR THEIR SUPPLIERS 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 <keithw@tungstengraphics.com>
+ *    Keith Whitwell <keithw@vmware.com>
  */
 
 #include "main/glheader.h"
 #include "main/context.h"
-#include "main/colormac.h"
-#include "main/simple_list.h"
+#include "main/macros.h"
+#include "swrast/s_chan.h"
 #include "t_context.h"
 #include "t_vertex.h"
 
 
 #if 0
-#define DEBUG_INSERT printf("%s\n", __FUNCTION__)
+#define DEBUG_INSERT printf("%s\n", __func__)
 #else
 #define DEBUG_INSERT
 #endif
@@ -46,7 +46,7 @@
  * NDC->Viewport mapping and store the results at 'v'.
  */
 
-static INLINE void insert_4f_viewport_4( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_4f_viewport_4( const struct tnl_clipspace_attr *a, GLubyte *v,
                       const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -58,7 +58,7 @@ static INLINE void insert_4f_viewport_4( const struct tnl_clipspace_attr *a, GLu
    out[3] = in[3];
 }
 
-static INLINE void insert_4f_viewport_3( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_4f_viewport_3( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -70,7 +70,7 @@ static INLINE void insert_4f_viewport_3( const struct tnl_clipspace_attr *a, GLu
    out[3] = 1;
 }
 
-static INLINE void insert_4f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_4f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -82,7 +82,7 @@ static INLINE void insert_4f_viewport_2( const struct tnl_clipspace_attr *a, GLu
    out[3] = 1;
 }
 
-static INLINE void insert_4f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_4f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -94,7 +94,7 @@ static INLINE void insert_4f_viewport_1( const struct tnl_clipspace_attr *a, GLu
    out[3] = 1;
 }
 
-static INLINE void insert_3f_viewport_3( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_3f_viewport_3( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -105,7 +105,7 @@ static INLINE void insert_3f_viewport_3( const struct tnl_clipspace_attr *a, GLu
    out[2] = vp[10] * in[2] + vp[14];
 }
 
-static INLINE void insert_3f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_3f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -116,7 +116,7 @@ static INLINE void insert_3f_viewport_2( const struct tnl_clipspace_attr *a, GLu
    out[2] = vp[14];
 }
 
-static INLINE void insert_3f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_3f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -127,7 +127,7 @@ static INLINE void insert_3f_viewport_1( const struct tnl_clipspace_attr *a, GLu
    out[2] = vp[14];
 }
 
-static INLINE void insert_2f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_2f_viewport_2( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -137,7 +137,7 @@ static INLINE void insert_2f_viewport_2( const struct tnl_clipspace_attr *a, GLu
    out[1] = vp[5] * in[1] + vp[13];
 }
 
-static INLINE void insert_2f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
+static inline void insert_2f_viewport_1( const struct tnl_clipspace_attr *a, GLubyte *v,
                                const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)v;
@@ -152,7 +152,7 @@ static INLINE void insert_2f_viewport_1( const struct tnl_clipspace_attr *a, GLu
  * These functions do the same as above, except for the viewport mapping.
  */
 
-static INLINE void insert_4f_4( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_4f_4( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -163,7 +163,7 @@ static INLINE void insert_4f_4( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[3] = in[3];
 }
 
-static INLINE void insert_4f_3( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_4f_3( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -174,7 +174,7 @@ static INLINE void insert_4f_3( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[3] = 1;
 }
 
-static INLINE void insert_4f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_4f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -185,7 +185,7 @@ static INLINE void insert_4f_2( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[3] = 1;
 }
 
-static INLINE void insert_4f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_4f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -196,7 +196,7 @@ static INLINE void insert_4f_1( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[3] = 1;
 }
 
-static INLINE void insert_3f_xyw_4( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_3f_xyw_4( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -206,14 +206,14 @@ static INLINE void insert_3f_xyw_4( const struct tnl_clipspace_attr *a, GLubyte
    out[2] = in[3];
 }
 
-static INLINE void insert_3f_xyw_err( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_3f_xyw_err( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    (void) a; (void) v; (void) in;
    DEBUG_INSERT;
    exit(1);
 }
 
-static INLINE void insert_3f_3( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_3f_3( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -223,7 +223,7 @@ static INLINE void insert_3f_3( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[2] = in[2];
 }
 
-static INLINE void insert_3f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_3f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -233,7 +233,7 @@ static INLINE void insert_3f_2( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[2] = 0;
 }
 
-static INLINE void insert_3f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_3f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -244,7 +244,7 @@ static INLINE void insert_3f_1( const struct tnl_clipspace_attr *a, GLubyte *v,
 }
 
 
-static INLINE void insert_2f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_2f_2( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -253,7 +253,7 @@ static INLINE void insert_2f_2( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[1] = in[1];
 }
 
-static INLINE void insert_2f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_2f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -262,7 +262,7 @@ static INLINE void insert_2f_1( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[1] = 0;
 }
 
-static INLINE void insert_1f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_1f_1( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    GLfloat *out = (GLfloat *)(v);
    (void) a;
@@ -270,13 +270,13 @@ static INLINE void insert_1f_1( const struct tnl_clipspace_attr *a, GLubyte *v,
    out[0] = in[0];
 }
 
-static INLINE void insert_null( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
+static inline void insert_null( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in )
 {
    DEBUG_INSERT;
    (void) a; (void) v; (void) in;
 }
 
-static INLINE void insert_4chan_4f_rgba_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4chan_4f_rgba_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                  const GLfloat *in )
 {
    GLchan *c = (GLchan *)v;
@@ -288,7 +288,7 @@ static INLINE void insert_4chan_4f_rgba_4( const struct tnl_clipspace_attr *a, G
    UNCLAMPED_FLOAT_TO_CHAN(c[3], in[3]);
 }
 
-static INLINE void insert_4chan_4f_rgba_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4chan_4f_rgba_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                  const GLfloat *in )
 {
    GLchan *c = (GLchan *)v;
@@ -300,7 +300,7 @@ static INLINE void insert_4chan_4f_rgba_3( const struct tnl_clipspace_attr *a, G
    c[3] = CHAN_MAX;
 }
 
-static INLINE void insert_4chan_4f_rgba_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4chan_4f_rgba_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                  const GLfloat *in )
 {
    GLchan *c = (GLchan *)v;
@@ -312,7 +312,7 @@ static INLINE void insert_4chan_4f_rgba_2( const struct tnl_clipspace_attr *a, G
    c[3] = CHAN_MAX;
 }
 
-static INLINE void insert_4chan_4f_rgba_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4chan_4f_rgba_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                  const GLfloat *in )
 {
    GLchan *c = (GLchan *)v;
@@ -324,7 +324,7 @@ static INLINE void insert_4chan_4f_rgba_1( const struct tnl_clipspace_attr *a, G
    c[3] = CHAN_MAX;
 }
 
-static INLINE void insert_4ub_4f_rgba_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_rgba_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -335,7 +335,7 @@ static INLINE void insert_4ub_4f_rgba_4( const struct tnl_clipspace_attr *a, GLu
    UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[3]);
 }
 
-static INLINE void insert_4ub_4f_rgba_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_rgba_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -346,7 +346,7 @@ static INLINE void insert_4ub_4f_rgba_3( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_rgba_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_rgba_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -357,7 +357,7 @@ static INLINE void insert_4ub_4f_rgba_2( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_rgba_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_rgba_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -368,7 +368,7 @@ static INLINE void insert_4ub_4f_rgba_1( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_bgra_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_bgra_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -379,7 +379,7 @@ static INLINE void insert_4ub_4f_bgra_4( const struct tnl_clipspace_attr *a, GLu
    UNCLAMPED_FLOAT_TO_UBYTE(v[3], in[3]);
 }
 
-static INLINE void insert_4ub_4f_bgra_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_bgra_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -390,7 +390,7 @@ static INLINE void insert_4ub_4f_bgra_3( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_bgra_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_bgra_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -401,7 +401,7 @@ static INLINE void insert_4ub_4f_bgra_2( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_bgra_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_bgra_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -412,7 +412,7 @@ static INLINE void insert_4ub_4f_bgra_1( const struct tnl_clipspace_attr *a, GLu
    v[3] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_argb_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_argb_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -423,7 +423,7 @@ static INLINE void insert_4ub_4f_argb_4( const struct tnl_clipspace_attr *a, GLu
    UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[3]);
 }
 
-static INLINE void insert_4ub_4f_argb_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_argb_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -434,7 +434,7 @@ static INLINE void insert_4ub_4f_argb_3( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_argb_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_argb_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -445,7 +445,7 @@ static INLINE void insert_4ub_4f_argb_2( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_argb_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_argb_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -456,7 +456,7 @@ static INLINE void insert_4ub_4f_argb_1( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_abgr_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_abgr_4( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -467,7 +467,7 @@ static INLINE void insert_4ub_4f_abgr_4( const struct tnl_clipspace_attr *a, GLu
    UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[3]);
 }
 
-static INLINE void insert_4ub_4f_abgr_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_abgr_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -478,7 +478,7 @@ static INLINE void insert_4ub_4f_abgr_3( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_abgr_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_abgr_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -489,7 +489,7 @@ static INLINE void insert_4ub_4f_abgr_2( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_4ub_4f_abgr_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_4ub_4f_abgr_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -500,7 +500,7 @@ static INLINE void insert_4ub_4f_abgr_1( const struct tnl_clipspace_attr *a, GLu
    v[0] = 0xff;
 }
 
-static INLINE void insert_3ub_3f_rgb_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_rgb_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                               const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -510,7 +510,7 @@ static INLINE void insert_3ub_3f_rgb_3( const struct tnl_clipspace_attr *a, GLub
    UNCLAMPED_FLOAT_TO_UBYTE(v[2], in[2]);
 }
 
-static INLINE void insert_3ub_3f_rgb_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_rgb_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                               const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -520,7 +520,7 @@ static INLINE void insert_3ub_3f_rgb_2( const struct tnl_clipspace_attr *a, GLub
    v[2] = 0;
 }
 
-static INLINE void insert_3ub_3f_rgb_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_rgb_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                               const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -530,7 +530,7 @@ static INLINE void insert_3ub_3f_rgb_1( const struct tnl_clipspace_attr *a, GLub
    v[2] = 0;
 }
 
-static INLINE void insert_3ub_3f_bgr_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_bgr_3( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                 const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -540,7 +540,7 @@ static INLINE void insert_3ub_3f_bgr_3( const struct tnl_clipspace_attr *a, GLub
    UNCLAMPED_FLOAT_TO_UBYTE(v[0], in[2]);
 }
 
-static INLINE void insert_3ub_3f_bgr_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_bgr_2( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                 const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -550,7 +550,7 @@ static INLINE void insert_3ub_3f_bgr_2( const struct tnl_clipspace_attr *a, GLub
    v[0] = 0;
 }
 
-static INLINE void insert_3ub_3f_bgr_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_3ub_3f_bgr_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                                 const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -561,7 +561,7 @@ static INLINE void insert_3ub_3f_bgr_1( const struct tnl_clipspace_attr *a, GLub
 }
 
 
-static INLINE void insert_1ub_1f_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
+static inline void insert_1ub_1f_1( const struct tnl_clipspace_attr *a, GLubyte *v, 
                           const GLfloat *in )
 {
    DEBUG_INSERT;
@@ -866,7 +866,7 @@ const struct tnl_format_info _tnl_format_info[EMIT_MAX] =
  * vertices
  */
 #define EMIT5(NR, F0, F1, F2, F3, F4, NAME)                            \
-static void NAME( GLcontext *ctx,                                      \
+static void NAME( struct gl_context *ctx,                                      \
                  GLuint count,                                         \
                  GLubyte *v )                                          \
 {                                                                      \
@@ -929,7 +929,7 @@ EMIT4(insert_4f_4, insert_4ub_4f_rgba_4, insert_2f_2, insert_2f_2, emit_xyzw4_rg
 /* Use the codegen paths to select one of a number of hardwired
  * fastpaths.
  */
-void _tnl_generate_hardwired_emit( GLcontext *ctx )
+void _tnl_generate_hardwired_emit( struct gl_context *ctx )
 {
    struct tnl_clipspace *vtx = GET_VERTEX_STATE(ctx);
    tnl_emit_func func = NULL;
@@ -987,7 +987,7 @@ void _tnl_generate_hardwired_emit( GLcontext *ctx )
  * vertices
  */
 
-void _tnl_generic_emit( GLcontext *ctx,
+void _tnl_generic_emit( struct gl_context *ctx,
                        GLuint count,
                        GLubyte *v )
 {
@@ -1007,7 +1007,7 @@ void _tnl_generic_emit( GLcontext *ctx,
 }
 
 
-void _tnl_generic_interp( GLcontext *ctx,
+void _tnl_generic_interp( struct gl_context *ctx,
                            GLfloat t,
                            GLuint edst, GLuint eout, GLuint ein,
                            GLboolean force_boundary )
@@ -1025,7 +1025,7 @@ void _tnl_generic_interp( GLcontext *ctx,
 
    if (tnl->NeedNdcCoords) {
       const GLfloat *dstclip = VB->ClipPtr->data[edst];
-      if (dstclip[3] != 0.0) {
+      if (dstclip[3] != 0.0f) {
         const GLfloat w = 1.0f / dstclip[3];
         GLfloat pos[4];
 
@@ -1048,10 +1048,7 @@ void _tnl_generic_interp( GLcontext *ctx,
       a[j].extract( &a[j], fin, vin + a[j].vertoffset );
       a[j].extract( &a[j], fout, vout + a[j].vertoffset );
 
-      INTERP_F( t, fdst[3], fout[3], fin[3] );
-      INTERP_F( t, fdst[2], fout[2], fin[2] );
-      INTERP_F( t, fdst[1], fout[1], fin[1] );
-      INTERP_F( t, fdst[0], fout[0], fin[0] );
+      INTERP_4F(t, fdst, fout, fin);
 
       a[j].insert[4-1]( &a[j], vdst + a[j].vertoffset, fdst );
    }
@@ -1061,7 +1058,7 @@ void _tnl_generic_interp( GLcontext *ctx,
 /* Extract color attributes from one vertex and insert them into
  * another.  (Shortcircuit extract/insert with memcpy).
  */
-void _tnl_generic_copy_pv( GLcontext *ctx, GLuint edst, GLuint esrc )
+void _tnl_generic_copy_pv( struct gl_context *ctx, GLuint edst, GLuint esrc )
 {
    struct tnl_clipspace *vtx = GET_VERTEX_STATE(ctx);
    GLubyte *vsrc = vtx->vertex_buf + esrc * vtx->vertex_size;
@@ -1074,9 +1071,9 @@ void _tnl_generic_copy_pv( GLcontext *ctx, GLuint edst, GLuint esrc )
       if (a[j].attrib == VERT_ATTRIB_COLOR0 ||
          a[j].attrib == VERT_ATTRIB_COLOR1) {
 
-        _mesa_memcpy( vdst + a[j].vertoffset,
-                       vsrc + a[j].vertoffset,
-                       a[j].vertattrsize );
+        memcpy( vdst + a[j].vertoffset,
+                 vsrc + a[j].vertoffset,
+                 a[j].vertattrsize );
       }
    }
 }
@@ -1085,7 +1082,7 @@ void _tnl_generic_copy_pv( GLcontext *ctx, GLuint edst, GLuint esrc )
 /* Helper functions for hardware which doesn't put back colors and/or
  * edgeflags into vertices.
  */
-void _tnl_generic_interp_extras( GLcontext *ctx,
+void _tnl_generic_interp_extras( struct gl_context *ctx,
                                   GLfloat t,
                                   GLuint dst, GLuint out, GLuint in,
                                   GLboolean force_boundary )
@@ -1128,7 +1125,7 @@ void _tnl_generic_interp_extras( GLcontext *ctx,
    _tnl_generic_interp(ctx, t, dst, out, in, force_boundary);
 }
 
-void _tnl_generic_copy_pv_extras( GLcontext *ctx, 
+void _tnl_generic_copy_pv_extras( struct gl_context *ctx, 
                                  GLuint dst, GLuint src )
 {
    struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;