i965g: strict aliasing changes
authorKeith Whitwell <keithw@vmware.com>
Thu, 24 Dec 2009 12:45:42 +0000 (12:45 +0000)
committerKeith Whitwell <keithw@vmware.com>
Thu, 24 Dec 2009 12:53:06 +0000 (12:53 +0000)
src/gallium/drivers/i965/brw_pipe_clear.c

index 211be881789f1a592463ab404f662ba5048b3180..452e1e89f93c9c624fd06ea51d10e62573eba8cf 100644 (file)
@@ -114,18 +114,18 @@ static void color_clear(struct brw_context *brw,
                         const float *rgba )
 {
    enum pipe_error ret;
-   unsigned value;
+   union util_color value;
 
    util_pack_color( rgba, bsurface->base.format, &value );
 
    if (bsurface->cpp == 2)
-      value |= value << 16;
+      value.ui |= value.ui << 16;
 
-   ret = try_clear( brw, bsurface, value );
+   ret = try_clear( brw, bsurface, value.ui );
 
    if (ret != 0) {
       brw_context_flush( brw );
-      ret = try_clear( brw, bsurface, value );
+      ret = try_clear( brw, bsurface, value.ui );
       assert( ret == 0 );
    }
 }