Home | History | Annotate | Download | only in unit
      1 /**************************************************************************
      2  *
      3  * Copyright 2009-2010 VMware, Inc.
      4  * All Rights Reserved.
      5  *
      6  * Permission is hereby granted, free of charge, to any person obtaining a
      7  * copy of this software and associated documentation files (the
      8  * "Software"), to deal in the Software without restriction, including
      9  * without limitation the rights to use, copy, modify, merge, publish,
     10  * distribute, sub license, and/or sell copies of the Software, and to
     11  * permit persons to whom the Software is furnished to do so, subject to
     12  * the following conditions:
     13  *
     14  * The above copyright notice and this permission notice (including the
     15  * next paragraph) shall be included in all copies or substantial portions
     16  * of the Software.
     17  *
     18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
     21  * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
     22  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     25  *
     26  **************************************************************************/
     27 
     28 
     29 #include <stdlib.h>
     30 #include <stdio.h>
     31 
     32 #include "util/u_format.h"
     33 
     34 
     35 static boolean
     36 test_all(void)
     37 {
     38    enum pipe_format src_format;
     39    enum pipe_format dst_format;
     40 
     41    for (src_format = 1; src_format < PIPE_FORMAT_COUNT; ++src_format) {
     42       const struct util_format_description *src_format_desc;
     43       src_format_desc = util_format_description(src_format);
     44       if (!src_format_desc) {
     45          continue;
     46       }
     47 
     48       for (dst_format = 1; dst_format < PIPE_FORMAT_COUNT; ++dst_format) {
     49 	 const struct util_format_description *dst_format_desc;
     50 	 dst_format_desc = util_format_description(dst_format);
     51 	 if (!dst_format_desc) {
     52 	    continue;
     53 	 }
     54 
     55          if (dst_format == src_format) {
     56             continue;
     57          }
     58 
     59 	 if (util_is_format_compatible(src_format_desc, dst_format_desc)) {
     60 	    debug_printf("%s -> %s\n", src_format_desc->short_name, dst_format_desc->short_name);
     61 	 }
     62       }
     63    }
     64 
     65    return TRUE;
     66 }
     67 
     68 
     69 int main(int argc, char **argv)
     70 {
     71    boolean success;
     72 
     73    success = test_all();
     74 
     75    return success ? 0 : 1;
     76 }
     77