gallium: WinCE portability fixes.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 10 Mar 2008 13:04:13 +0000 (13:04 +0000)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 10 Mar 2008 14:00:13 +0000 (14:00 +0000)
src/gallium/auxiliary/draw/draw_unfilled.c
src/gallium/auxiliary/util/p_debug.c
src/gallium/drivers/softpipe/sp_quad_alpha_test.c
src/gallium/drivers/softpipe/sp_quad_blend.c
src/gallium/drivers/softpipe/sp_quad_depth_test.c
src/gallium/include/pipe/p_util.h

index 4d718d514c6f7e06be30d7e7deb9d832052aa2ac..b07860cd9ea17f55f4bd21e20d698259319e664a 100644 (file)
@@ -129,7 +129,7 @@ static void unfilled_tri( struct draw_stage *stage,
       points( stage, header );
       break;
    default:
-      abort();
+      assert(0);
    }   
 }
 
index 7b3c0309565dcd333bb0143844c7bd290c807561..6255d716a618adc61a1c7103b741ea63bc334085 100644 (file)
@@ -57,11 +57,15 @@ int rpl_vsnprintf(char *, size_t, const char *, va_list);
 void debug_vprintf(const char *format, va_list ap)
 {
 #ifdef WIN32
+#ifndef WINCE
    /* EngDebugPrint does not handle float point arguments, so we need to use
     * our own vsnprintf implementation */
    char buf[512 + 1];
    rpl_vsnprintf(buf, sizeof(buf), format, ap);
    rpl_EngDebugPrint("%s", buf);
+#else
+   /* TODO: Implement debug print for WINCE */
+#endif
 #else
    vfprintf(stderr, format, ap);
 #endif
@@ -80,7 +84,11 @@ void debug_printf(const char *format, ...)
 static INLINE void debug_abort(void) 
 {
 #ifdef WIN32
+#ifndef WINCE
    EngDebugBreak();
+#else
+   _asm {int 3};
+#endif
 #else
    abort();
 #endif
index 4ffeac35e167254518108d05698010f8281253ae..318916fe3018a1aebf058d15e1375118bb63f17e 100644 (file)
@@ -72,7 +72,7 @@ alpha_test_quad(struct quad_stage *qs, struct quad_header *quad)
       passMask = MASK_ALL;
       break;
    default:
-      abort();
+      assert(0);
    }
 
    quad->mask &= passMask;
index 17f3ecd0b83cbec42a5384c745ed24970127afda..0b79cfa1ed2b58930767cc93863199e49818d7f8 100644 (file)
@@ -392,7 +392,7 @@ blend_quad(struct quad_stage *qs, struct quad_header *quad)
       assert(0); /* to do */
       break;
    default:
-      abort();
+      assert(0);
    }
    
    /*
@@ -464,7 +464,7 @@ blend_quad(struct quad_stage *qs, struct quad_header *quad)
       }
       break;
    default:
-      abort();
+      assert(0);
    }
    
    
@@ -716,7 +716,7 @@ blend_quad(struct quad_stage *qs, struct quad_header *quad)
       VEC4_MAX(quadColor[3], source[3], dest[3]); /* A */
       break;
    default:
-      abort();
+      assert(0);
    }
    
    /* pass blended quad to next stage */
index a9a0754f2797e0604da0fae29900e73eff464c2b..a1859f988325b1abcfb3079799f3954629d569de 100644 (file)
@@ -185,7 +185,7 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
       zmask = MASK_ALL;
       break;
    default:
-      abort();
+      assert(0);
    }
 
    quad->mask &= zmask;
index 3b32ba1d2481be7b060fa81c46f4502e2c1778da..ef36ce75f7dc09c8a7c6d632ce753b868db03619 100644 (file)
@@ -54,7 +54,12 @@ EngFreeMem(
 static INLINE void *
 MALLOC( unsigned size )
 {
+#ifdef WINCE
+   /* TODO: Need to abstract this */
+   return malloc( size );
+#else
    return EngAllocMem( 0, size, 'D3AG' );
+#endif
 }
 
 static INLINE void *
@@ -71,7 +76,12 @@ static INLINE void
 FREE( void *ptr )
 {
    if( ptr ) {
+#ifdef WINCE
+      /* TODO: Need to abstract this */
+      free( ptr );
+#else
       EngFreeMem( ptr );
+#endif
    }
 }