protected all codegen behind AllowCodegen
authorDaniel Borca <dborca@users.sourceforge.net>
Mon, 5 Apr 2004 06:49:36 +0000 (06:49 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Mon, 5 Apr 2004 06:49:36 +0000 (06:49 +0000)
src/mesa/tnl/t_context.c
src/mesa/tnl/t_vtx_api.c
src/mesa/tnl/t_vtx_x86_gcc.S

index 330c19d649d3077463285e5f8419141a7071ca17..1f8c4d40fab47b48664cf37a86c48f10af0f6332 100644 (file)
@@ -81,6 +81,9 @@ _tnl_CreateContext( GLcontext *ctx )
       return GL_FALSE;
    }
 
+   if (getenv("MESA_CODEGEN"))
+      tnl->AllowCodegen = GL_TRUE;
+
    /* Initialize the VB.
     */
    tnl->vb.Size = ctx->Const.MaxArrayLockSize + MAX_CLIPPED_VERTICES;
@@ -121,10 +124,6 @@ _tnl_CreateContext( GLcontext *ctx )
    tnl->Driver.Render.PrimTabVerts = _tnl_render_tab_verts;
    tnl->Driver.NotifyMaterialChange = _mesa_validate_all_lighting_tables;
    
-
-   if (getenv("MESA_CODEGEN"))
-      tnl->AllowCodegen = GL_TRUE;
-
    return GL_TRUE;
 }
 
index 26403fc8ef2bcdbdd5764fa5b6132aaacad63698..9f67c6cee731659d0f3aa05e4e1b23cd0bb8942d 100644 (file)
@@ -905,7 +905,9 @@ void _tnl_vtx_init( GLcontext *ctx )
    _tnl_current_init( ctx );
    _tnl_exec_vtxfmt_init( ctx );
    _tnl_generic_exec_vtxfmt_init( ctx );
-   _tnl_x86_exec_vtxfmt_init( ctx ); /* x86 DISPATCH_ATTRFV */
+   if (tnl->AllowCodegen) {
+      _tnl_x86_exec_vtxfmt_init( ctx ); /* x86 DISPATCH_ATTRFV */
+   }
 
    _mesa_install_exec_vtxfmt( ctx, &tnl->exec_vtxfmt );
 
index 0bccd17302b0852e4e6a39a407343490b159a307..7dbe5c06283c19fb371493ddd3ef872f9a3260ab 100644 (file)
@@ -30,7 +30,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
  *   Keith Whitwell <keith@tungstengraphics.com>
  */
 
-#if !defined (__DJGPP__)
+#if !defined (__DJGPP__) && !defined (__MINGW32__)
 
 #define GLOBL( x )     \
 .globl x;              \
@@ -58,12 +58,10 @@ _##x:
 
 // [dBorca] TODO
 // Unfold functions for each vertex size?
-// Build super-specialized MMX/SSE versions?
+// Build super-specialized SSE versions?
 // STDCALL woes (HAVE_NONSTANDARD_GLAPIENTRY):
 //   need separate routine for the non "fv" case,
-//   to clean up the stack (I guess we could codegen
-//   'ret nn' insn)! Also we need to call notify, then
-//   return, instead of jump!
+//   to clean up the stack!
 
 GLOBL ( _tnl_x86_Vertex1fv )
        movl    4(%esp), %ecx