Home | History | Annotate | Download | only in util
      1 /**************************************************************************
      2  *
      3  * Copyright 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 SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
     17  * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
     18  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
     19  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
     20  * USE OR OTHER DEALINGS IN THE SOFTWARE.
     21  *
     22  * The above copyright notice and this permission notice (including the
     23  * next paragraph) shall be included in all copies or substantial portions
     24  * of the Software.
     25  *
     26  **************************************************************************/
     27 
     28 
     29 #ifndef U_FORMAT_TESTS_H_
     30 #define U_FORMAT_TESTS_H_
     31 
     32 
     33 #include "pipe/p_compiler.h"
     34 #include "pipe/p_format.h"
     35 
     36 
     37 #define UTIL_FORMAT_MAX_PACKED_BYTES 32  // R64G64B64A64_FLOAT
     38 #define UTIL_FORMAT_MAX_UNPACKED_WIDTH 12  // ASTC 12x12
     39 #define UTIL_FORMAT_MAX_UNPACKED_HEIGHT 12
     40 
     41 
     42 /**
     43  * A (packed, unpacked) color pair.
     44  */
     45 struct util_format_test_case
     46 {
     47    enum pipe_format format;
     48 
     49    /**
     50     * Mask of the bits that actually meaningful data. Used to mask out the
     51     * "X" channels.
     52     */
     53    uint8_t mask[UTIL_FORMAT_MAX_PACKED_BYTES];
     54 
     55    uint8_t packed[UTIL_FORMAT_MAX_PACKED_BYTES];
     56 
     57    /**
     58     * RGBA.
     59     */
     60    double unpacked[UTIL_FORMAT_MAX_UNPACKED_HEIGHT][UTIL_FORMAT_MAX_UNPACKED_WIDTH][4];
     61 };
     62 
     63 
     64 extern const struct util_format_test_case
     65 util_format_test_cases[];
     66 
     67 
     68 extern const unsigned util_format_nr_test_cases;
     69 
     70 
     71 #endif /* U_FORMAT_TESTS_H_ */
     72