1212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca/************************************************************************** 2212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * 3212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * Copyright 2010 VMware, Inc. 4212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * All Rights Reserved. 5212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * 6212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * Permission is hereby granted, free of charge, to any person obtaining a 7212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * copy of this software and associated documentation files (the 8212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * "Software"), to deal in the Software without restriction, including 9212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * without limitation the rights to use, copy, modify, merge, publish, 10212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * distribute, sub license, and/or sell copies of the Software, and to 11212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * permit persons to whom the Software is furnished to do so, subject to 12212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * the following conditions: 13212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * 14212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 17212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, 18212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * USE OR OTHER DEALINGS IN THE SOFTWARE. 21212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * 22212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * The above copyright notice and this permission notice (including the 23212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * next paragraph) shall be included in all copies or substantial portions 24212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * of the Software. 25212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * 26212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca **************************************************************************/ 27212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 28212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 29212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#ifndef U_FORMAT_TESTS_H_ 30212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#define U_FORMAT_TESTS_H_ 31212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 32212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 33212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#include "pipe/p_compiler.h" 34212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#include "pipe/p_format.h" 35212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 36212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 37212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#define UTIL_FORMAT_MAX_PACKED_BYTES 16 38d0995544923d8b67098627a8a9e7729613377789José Fonseca#define UTIL_FORMAT_MAX_UNPACKED_WIDTH 4 39d0995544923d8b67098627a8a9e7729613377789José Fonseca#define UTIL_FORMAT_MAX_UNPACKED_HEIGHT 4 40212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 41212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 42212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca/** 43212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * A (packed, unpacked) color pair. 44212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca */ 45212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonsecastruct util_format_test_case 46212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca{ 47212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca enum pipe_format format; 48212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 49212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca /** 50212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * Mask of the bits that actually meaningful data. Used to mask out the 51212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * "X" channels. 52212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca */ 53212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca uint8_t mask[UTIL_FORMAT_MAX_PACKED_BYTES]; 54212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 55212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca uint8_t packed[UTIL_FORMAT_MAX_PACKED_BYTES]; 56212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 57212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca /** 58212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca * RGBA. 59212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca */ 60d0995544923d8b67098627a8a9e7729613377789José Fonseca double unpacked[UTIL_FORMAT_MAX_UNPACKED_HEIGHT][UTIL_FORMAT_MAX_UNPACKED_WIDTH][4]; 61212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca}; 62212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 63212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 64212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonsecaextern const struct util_format_test_case 65212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonsecautil_format_test_cases[]; 66212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 67212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 68212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonsecaextern const unsigned util_format_nr_test_cases; 69212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 70212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca 71212e7433db8e306a678666e9a3e82b0c9e1560ecJosé Fonseca#endif /* U_FORMAT_TESTS_H_ */ 72