diff options
92 files changed, 1192 insertions, 1168 deletions
| diff --git a/bin/raw2png.py b/bin/raw2png.py deleted file mode 100755 index f01e7990a1..0000000000 --- a/bin/raw2png.py +++ /dev/null @@ -1,366 +0,0 @@ -#!/usr/bin/env python -########################################################################## -#  -# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. -# All Rights Reserved. -#  -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sub license, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -#  -# The above copyright notice and this permission notice (including the -# next paragraph) shall be included in all copies or substantial portions -# of the Software. -#  -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR -# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#  -########################################################################## - - -import os.path -import sys -import struct -import Image # http://www.pythonware.com/products/pil/ - -PIPE_FORMAT_LAYOUT_RGBAZS   = 0 -PIPE_FORMAT_LAYOUT_YCBCR    = 1 -PIPE_FORMAT_LAYOUT_DXT      = 2 -PIPE_FORMAT_LAYOUT_MIXED    = 3 - -PIPE_FORMAT_COMP_R    = 0 -PIPE_FORMAT_COMP_G    = 1 -PIPE_FORMAT_COMP_B    = 2 -PIPE_FORMAT_COMP_A    = 3 -PIPE_FORMAT_COMP_0    = 4 -PIPE_FORMAT_COMP_1    = 5 -PIPE_FORMAT_COMP_Z    = 6 -PIPE_FORMAT_COMP_S    = 7 - -PIPE_FORMAT_TYPE_UNKNOWN = 0 -PIPE_FORMAT_TYPE_FLOAT   = 1 -PIPE_FORMAT_TYPE_UNORM   = 2 -PIPE_FORMAT_TYPE_SNORM   = 3 -PIPE_FORMAT_TYPE_USCALED = 4 -PIPE_FORMAT_TYPE_SSCALED = 5 -PIPE_FORMAT_TYPE_SRGB    = 6 -PIPE_FORMAT_TYPE_FIXED   = 7 - -def _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, EXP2, TYPE ): -   return ((PIPE_FORMAT_LAYOUT_RGBAZS << 0) |\ -   ((SWZ) << 2) |\ -   ((SIZEX) << 14) |\ -   ((SIZEY) << 17) |\ -   ((SIZEZ) << 20) |\ -   ((SIZEW) << 23) |\ -   ((EXP2) << 26) |\ -   ((TYPE) << 29) ) - -def _PIPE_FORMAT_SWZ( SWZX, SWZY, SWZZ, SWZW ): -	return (((SWZX) << 0) | ((SWZY) << 3) | ((SWZZ) << 6) | ((SWZW) << 9)) - -def _PIPE_FORMAT_RGBAZS_1( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): -	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 0, TYPE ) - -def _PIPE_FORMAT_RGBAZS_2( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): -    _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 1, TYPE ) - -def _PIPE_FORMAT_RGBAZS_8( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): -	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 3, TYPE ) - -def _PIPE_FORMAT_RGBAZS_64( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ): -	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 6, TYPE ) - -def _PIPE_FORMAT_MIXED( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, SIGNX, SIGNY, SIGNZ, SIGNW, NORMALIZED, SCALE8 ): -    return ((PIPE_FORMAT_LAYOUT_MIXED << 0) |\ -    ((SWZ) << 2) |\ -    ((SIZEX) << 14) |\ -    ((SIZEY) << 17) |\ -    ((SIZEZ) << 20) |\ -    ((SIZEW) << 23) |\ -    ((SIGNX) << 26) |\ -    ((SIGNY) << 27) |\ -    ((SIGNZ) << 28) |\ -    ((SIGNW) << 29) |\ -    ((NORMALIZED) << 30) |\ -    ((SCALE8) << 31) ) - - -_PIPE_FORMAT_R001 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 ) -_PIPE_FORMAT_RG01 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 ) -_PIPE_FORMAT_RGB1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_1 ) -_PIPE_FORMAT_RGBA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_A ) -_PIPE_FORMAT_ARGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B ) -_PIPE_FORMAT_ABGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R ) -_PIPE_FORMAT_BGRA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_A ) -_PIPE_FORMAT_1RGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B ) -_PIPE_FORMAT_1BGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R ) -_PIPE_FORMAT_BGR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 ) -_PIPE_FORMAT_0000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) -_PIPE_FORMAT_000R = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_R ) -_PIPE_FORMAT_RRR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 ) -_PIPE_FORMAT_RRRR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R ) -_PIPE_FORMAT_RRRG = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G ) -_PIPE_FORMAT_Z000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) -_PIPE_FORMAT_0Z00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) -_PIPE_FORMAT_SZ00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) -_PIPE_FORMAT_ZS00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) -_PIPE_FORMAT_S000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 ) - -def _PIPE_FORMAT_YCBCR( REV ): -   return ((PIPE_FORMAT_LAYOUT_YCBCR << 0) |\ -   ((REV) << 2) ) - -def _PIPE_FORMAT_DXT( LEVEL, RSIZE, GSIZE, BSIZE, ASIZE ): -    return ((PIPE_FORMAT_LAYOUT_DXT << 0) | \ -    ((LEVEL) << 2) | \ -    ((RSIZE) << 5) | \ -    ((GSIZE) << 8) | \ -    ((BSIZE) << 11) | \ -    ((ASIZE) << 14) ) - -PIPE_FORMAT_NONE                  = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN ) -PIPE_FORMAT_A8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_X8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_1RGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_B8G8R8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_B8G8R8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_A1R5G5B5_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_A4R4G4B4_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R5G6B5_UNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB1, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_A2B10G10R10_UNORM     = _PIPE_FORMAT_RGBAZS_2 ( _PIPE_FORMAT_ABGR, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_L8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_A8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 0, 0, 0, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_I8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_A8L8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_L16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_YCBCR                 = _PIPE_FORMAT_YCBCR( 0 ) -PIPE_FORMAT_YCBCR_REV             = _PIPE_FORMAT_YCBCR( 1 ) -PIPE_FORMAT_Z16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_Z32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_Z32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_S8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_Z24S8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_X8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_0Z00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_Z24X8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_S8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R64_FLOAT             = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R64G64_FLOAT          = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R64G64B64_FLOAT       = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R64G64B64A64_FLOAT    = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R32G32_FLOAT          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R32G32B32_FLOAT       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R32G32B32A32_FLOAT    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT ) -PIPE_FORMAT_R32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R32G32_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R32G32B32_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R32G32B32A32_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R32_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R32G32_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R32G32B32_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R32G32B32A32_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R32_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R32G32_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R32G32B32_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R32G32B32A32_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R32_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R32G32_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R32G32B32_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R32G32B32A32_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R16G16_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R16G16B16_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R16G16B16A16_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R16_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R16G16_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R16G16B16_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R16G16B16A16_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R16_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R16G16_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R16G16B16_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R16G16B16A16_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R16_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R16G16_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R16G16B16_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R16G16B16A16_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R8G8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R8G8B8_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R8G8B8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R8G8B8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM ) -PIPE_FORMAT_R8_USCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R8G8_USCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R8G8B8_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R8G8B8A8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R8G8B8X8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED ) -PIPE_FORMAT_R8_SNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R8G8_SNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R8G8B8_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R8G8B8A8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R8G8B8X8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_B6G5R5_SNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_A8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_X8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM ) -PIPE_FORMAT_R8_SSCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R8G8_SSCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R8G8B8_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R8G8B8A8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R8G8B8X8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED ) -PIPE_FORMAT_R32_FIXED             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FIXED ) -PIPE_FORMAT_R32G32_FIXED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FIXED ) -PIPE_FORMAT_R32G32B32_FIXED       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FIXED ) -PIPE_FORMAT_R32G32B32A32_FIXED    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FIXED ) -PIPE_FORMAT_L8_SRGB               = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB ) -PIPE_FORMAT_A8_L8_SRGB            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) -PIPE_FORMAT_R8G8B8_SRGB           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB ) -PIPE_FORMAT_R8G8B8A8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) -PIPE_FORMAT_R8G8B8X8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB ) -PIPE_FORMAT_X8UB8UG8SR8S_NORM     = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_1BGR, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 ) -PIPE_FORMAT_B6UG5SR5S_NORM        = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, 0, 1, 1, 0, 1, 0 ) -PIPE_FORMAT_DXT1_RGB              = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 0 ) -PIPE_FORMAT_DXT1_RGBA             = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 8 ) -PIPE_FORMAT_DXT3_RGBA             = _PIPE_FORMAT_DXT( 3, 8, 8, 8, 8 ) -PIPE_FORMAT_DXT5_RGBA             = _PIPE_FORMAT_DXT( 5, 8, 8, 8, 8 ) - - -formats = {} -for name, value in globals().items(): -    if name.startswith("PIPE_FORMAT_") and isinstance(value, int): -        formats[value] = name - - -def clip(g): -	return min(max(g, 0), 255) - - -def yuv2rgb(y, u, v): -	C = y - 16 -	D = u - 128 -	E = v - 128 - -	r = clip(( 298 * C           + 409 * E + 128) >> 8) -	g = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8) -	b = clip(( 298 * C + 516 * D           + 128) >> 8) -	 -	return r, g, b - -	 -def translate_r5g6b5(data): -	value, = struct.unpack_from("H", data) -	r = ((value >> 11) & 0x1f)*0xff/0x1f -	g = ((value >>  5) & 0x3f)*0xff/0x3f -	b = ((value >>  0) & 0x1f)*0xff/0x1f -	a = 255 -	return [[(r, g, b, a)]] - -def translate_a8r8g8b8(data): -    b, g, r, a = struct.unpack_from("BBBB", data) -    return [[(r, g, b, a)]] - - -def translate_x8r8g8b8(data): -    b, g, r, x = struct.unpack_from("BBBB", data) -    a = 255 -    return [[(r, g, b, a)]] - -def translate_r8g8b8a8(data): -	r, g, b, a = struct.unpack_from("BBBB", data) -	return [[(r, g, b, a)]] - -def translate_ycbcr(data): -	y1, u, y2, v = struct.unpack_from("BBBB", data) -	r1, g1, b1 = yuv2rgb(y1, u, v) -	r2, g2, b2 = yuv2rgb(y1, u, v) -	return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]] - -def translate_ycbcr_rev(data): -    v, y2, u, y1 = struct.unpack_from("BBBB", data) -    r1, g1, b1 = yuv2rgb(y1, u, v) -    r2, g2, b2 = yuv2rgb(y1, u, v) -    return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]] - -def translate_x8z24(data): -    value, = struct.unpack_from("I", data) -    r = g = b = (value & 0xffffff)*0xff/0xffffff -    a = 255 -    return [[(r, g, b, a)]] - -def translate_s8z24(data): -    value, = struct.unpack_from("I", data) -    r = (value & 0xffffff)*0xff/0xffffff -    g = value >> 24 -    b = 0 -    a = 255 -    return [[(r, g, b, a)]] - - -translate = { -	PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_a8r8g8b8), -	PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_x8r8g8b8), -	PIPE_FORMAT_B8G8R8A8_UNORM: (4, 1, 1, translate_r8g8b8a8), -	PIPE_FORMAT_B8G8R8X8_UNORM: (4, 1, 1, translate_r8g8b8a8), -	PIPE_FORMAT_A8B8G8R8_SNORM: (4, 1, 1, translate_r8g8b8a8), -	PIPE_FORMAT_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5), -	PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr), -	PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev), -    PIPE_FORMAT_S8Z24_UNORM: (4, 1, 1, translate_s8z24), -    PIPE_FORMAT_X8Z24_UNORM: (4, 1, 1, translate_x8z24), -} - -def read_header(infile): -	header_fmt = "IIII" -	header = infile.read(struct.calcsize(header_fmt)) -	return struct.unpack_from(header_fmt, header) - -def process(infilename, outfilename): -	sys.stderr.write("%s -> %s\n" % (infilename, outfilename)) -	infile = open(infilename, "rb") -	format, cpp, width, height = read_header(infile) -	sys.stderr.write("  %ux%ux%ubpp %s\n" % (width, height, cpp*8, formats[format])) -	outimage = Image.new( -	mode='RGB', -	size=(width, height), -	color=(0,0,0)) -	outpixels = outimage.load() -	try: -		bsize, bwidth, bheight, translate_func = translate[format] -	except KeyError: -		sys.stderr.write('error: unsupported format %s\n' % formats[format]) -		return -	for y in range(0, height, bheight): -		for x in range(0, width, bwidth): -			indata = infile.read(bsize) -			outdata = translate_func(indata) -			for j in range(bheight): -				for i in range(bwidth): -					r, g, b, a = outdata[j][i] -					outpixels[x+i, y+j] = r, g, b -	outimage.save(outfilename, "PNG") - - -def main(): -	if sys.platform == 'win32': -		# wildcard expansion -		from glob import glob -		args = [] -		for arg in sys.argv[1:]: -			args.extend(glob(arg)) -	else: -		args = sys.argv[1:] -	for infilename in args: -		root, ext = os.path.splitext(infilename) -		outfilename = root + ".png" -		process(infilename, outfilename) - - -if __name__ == '__main__': -	main() diff --git a/progs/gallium/python/retrace/interpreter.py b/progs/gallium/python/retrace/interpreter.py index d0ada7decd..b30469dfae 100755 --- a/progs/gallium/python/retrace/interpreter.py +++ b/progs/gallium/python/retrace/interpreter.py @@ -543,7 +543,7 @@ class Context(Object):                      gallium.PIPE_FORMAT_R32G32_FLOAT: '2f',                      gallium.PIPE_FORMAT_R32G32B32_FLOAT: '3f',                      gallium.PIPE_FORMAT_R32G32B32A32_FLOAT: '4f', -                    gallium.PIPE_FORMAT_B8G8R8A8_UNORM: '4B', +                    gallium.PIPE_FORMAT_A8R8G8B8_UNORM: '4B',                      gallium.PIPE_FORMAT_R8G8B8A8_UNORM: '4B',                      gallium.PIPE_FORMAT_R16G16B16_SNORM: '3h',                  }[velem.src_format] diff --git a/progs/gallium/python/samples/gs.py b/progs/gallium/python/samples/gs.py index cd68abac9a..5c22269b18 100644 --- a/progs/gallium/python/samples/gs.py +++ b/progs/gallium/python/samples/gs.py @@ -134,7 +134,7 @@ def test(dev):      # framebuffer      cbuf = dev.texture_create( -        PIPE_FORMAT_X8R8G8B8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM,          width, height,          tex_usage=PIPE_TEXTURE_USAGE_RENDER_TARGET,      ).get_surface() diff --git a/progs/gallium/python/samples/tri.py b/progs/gallium/python/samples/tri.py index f0b5e3dc98..d7fbdb10ac 100644 --- a/progs/gallium/python/samples/tri.py +++ b/progs/gallium/python/samples/tri.py @@ -134,7 +134,7 @@ def test(dev):      # framebuffer      cbuf = dev.texture_create( -        PIPE_FORMAT_X8R8G8B8_UNORM,  +        PIPE_FORMAT_B8G8R8X8_UNORM,           width, height,          tex_usage=PIPE_TEXTURE_USAGE_RENDER_TARGET,      ).get_surface() diff --git a/progs/gallium/python/tests/base.py b/progs/gallium/python/tests/base.py index b022d073fd..bd82f50811 100755 --- a/progs/gallium/python/tests/base.py +++ b/progs/gallium/python/tests/base.py @@ -50,8 +50,8 @@ def is_depth_stencil_format(format):      # FIXME: make and use binding to util_format_is_depth_or_stencil      return format in (          PIPE_FORMAT_Z32_UNORM, -        PIPE_FORMAT_Z24S8_UNORM, -        PIPE_FORMAT_Z24X8_UNORM, +        PIPE_FORMAT_S8Z24_UNORM, +        PIPE_FORMAT_X8Z24_UNORM,          PIPE_FORMAT_Z16_UNORM,      ) diff --git a/progs/gallium/python/tests/regress/fragment-shader/fragment-shader.py b/progs/gallium/python/tests/regress/fragment-shader/fragment-shader.py index 41dd69d254..b758b4c622 100644 --- a/progs/gallium/python/tests/regress/fragment-shader/fragment-shader.py +++ b/progs/gallium/python/tests/regress/fragment-shader/fragment-shader.py @@ -113,7 +113,7 @@ def test(dev, name):      # framebuffer      cbuf = dev.texture_create( -        PIPE_FORMAT_X8R8G8B8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM,          width, height,          tex_usage=PIPE_TEXTURE_USAGE_RENDER_TARGET,      ).get_surface() diff --git a/progs/gallium/python/tests/regress/vertex-shader/vertex-shader.py b/progs/gallium/python/tests/regress/vertex-shader/vertex-shader.py index 2c44f872e1..bd838cc282 100644 --- a/progs/gallium/python/tests/regress/vertex-shader/vertex-shader.py +++ b/progs/gallium/python/tests/regress/vertex-shader/vertex-shader.py @@ -114,7 +114,7 @@ def test(dev, name):      # framebuffer      cbuf = dev.texture_create( -        PIPE_FORMAT_X8R8G8B8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM,          width, height,          tex_usage=PIPE_TEXTURE_USAGE_RENDER_TARGET,      ).get_surface() diff --git a/progs/gallium/python/tests/surface_copy.py b/progs/gallium/python/tests/surface_copy.py index df5babb78a..a3f1b3e130 100755 --- a/progs/gallium/python/tests/surface_copy.py +++ b/progs/gallium/python/tests/surface_copy.py @@ -131,15 +131,15 @@ def main():      ]      formats = [ -        PIPE_FORMAT_A8R8G8B8_UNORM, -        PIPE_FORMAT_X8R8G8B8_UNORM, -        PIPE_FORMAT_A8R8G8B8_SRGB, -        PIPE_FORMAT_R5G6B5_UNORM, -        PIPE_FORMAT_A1R5G5B5_UNORM, -        PIPE_FORMAT_A4R4G4B4_UNORM, +        PIPE_FORMAT_B8G8R8A8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM, +        PIPE_FORMAT_B8G8R8A8_SRGB, +        PIPE_FORMAT_B5G6R5_UNORM, +        PIPE_FORMAT_B5G5R5A1_UNORM, +        PIPE_FORMAT_B4G4R4A4_UNORM,          PIPE_FORMAT_Z32_UNORM, -        PIPE_FORMAT_Z24S8_UNORM, -        PIPE_FORMAT_Z24X8_UNORM, +        PIPE_FORMAT_S8Z24_UNORM, +        PIPE_FORMAT_X8Z24_UNORM,          PIPE_FORMAT_Z16_UNORM,          PIPE_FORMAT_S8_UNORM,          PIPE_FORMAT_A8_UNORM, diff --git a/progs/gallium/python/tests/texture_render.py b/progs/gallium/python/tests/texture_render.py index 0fac1ea5ef..1e26639db6 100755 --- a/progs/gallium/python/tests/texture_render.py +++ b/progs/gallium/python/tests/texture_render.py @@ -96,7 +96,7 @@ class TextureTest(TestCase):          src_texture = dev.texture_create(              target = target, -            format = PIPE_FORMAT_A8R8G8B8_UNORM,  +            format = PIPE_FORMAT_B8G8R8A8_UNORM,               width = dst_surface.width,               height = dst_surface.height,              depth = 1,  @@ -149,7 +149,7 @@ class TextureTest(TestCase):          #  framebuffer           cbuf_tex = dev.texture_create( -            PIPE_FORMAT_A8R8G8B8_UNORM,  +            PIPE_FORMAT_B8G8R8A8_UNORM,               width,               height,              tex_usage = PIPE_TEXTURE_USAGE_RENDER_TARGET, @@ -251,15 +251,15 @@ def main():      ]      formats = [ -        PIPE_FORMAT_A8R8G8B8_UNORM, -        PIPE_FORMAT_X8R8G8B8_UNORM, -        #PIPE_FORMAT_A8R8G8B8_SRGB, -        PIPE_FORMAT_R5G6B5_UNORM, -        PIPE_FORMAT_A1R5G5B5_UNORM, -        PIPE_FORMAT_A4R4G4B4_UNORM, +        PIPE_FORMAT_B8G8R8A8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM, +        #PIPE_FORMAT_B8G8R8A8_SRGB, +        PIPE_FORMAT_B5G6R5_UNORM, +        PIPE_FORMAT_B5G5R5A1_UNORM, +        PIPE_FORMAT_B4G4R4A4_UNORM,          #PIPE_FORMAT_Z32_UNORM, -        #PIPE_FORMAT_Z24S8_UNORM, -        #PIPE_FORMAT_Z24X8_UNORM, +        #PIPE_FORMAT_S8Z24_UNORM, +        #PIPE_FORMAT_X8Z24_UNORM,          #PIPE_FORMAT_Z16_UNORM,          #PIPE_FORMAT_S8_UNORM,          PIPE_FORMAT_A8_UNORM, diff --git a/progs/gallium/python/tests/texture_sample.py b/progs/gallium/python/tests/texture_sample.py index db32b537a1..49545c2e07 100755 --- a/progs/gallium/python/tests/texture_sample.py +++ b/progs/gallium/python/tests/texture_sample.py @@ -193,7 +193,7 @@ class TextureColorSampleTest(TestCase):          #  framebuffer           cbuf_tex = dev.texture_create( -            PIPE_FORMAT_A8R8G8B8_UNORM,  +            PIPE_FORMAT_B8G8R8A8_UNORM,               width,               height,              tex_usage = PIPE_TEXTURE_USAGE_RENDER_TARGET, @@ -383,14 +383,14 @@ class TextureDepthSampleTest(TestCase):          #  framebuffer           cbuf_tex = dev.texture_create( -            PIPE_FORMAT_A8R8G8B8_UNORM,  +            PIPE_FORMAT_B8G8R8A8_UNORM,               width,               height,              tex_usage = PIPE_TEXTURE_USAGE_RENDER_TARGET,          )          zsbuf_tex = dev.texture_create( -            PIPE_FORMAT_Z24X8_UNORM,  +            PIPE_FORMAT_X8Z24_UNORM,               width,               height,              tex_usage = PIPE_TEXTURE_USAGE_RENDER_TARGET, @@ -498,15 +498,15 @@ def main():      ]      color_formats = [ -        PIPE_FORMAT_A8R8G8B8_UNORM, -        PIPE_FORMAT_X8R8G8B8_UNORM, -        #PIPE_FORMAT_A8R8G8B8_SRGB, -        PIPE_FORMAT_R5G6B5_UNORM, -        PIPE_FORMAT_A1R5G5B5_UNORM, -        PIPE_FORMAT_A4R4G4B4_UNORM, +        PIPE_FORMAT_B8G8R8A8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM, +        #PIPE_FORMAT_B8G8R8A8_SRGB, +        PIPE_FORMAT_B5G6R5_UNORM, +        PIPE_FORMAT_B5G5R5A1_UNORM, +        PIPE_FORMAT_B4G4R4A4_UNORM,          PIPE_FORMAT_A8_UNORM,          PIPE_FORMAT_L8_UNORM, -        PIPE_FORMAT_YCBCR, +        PIPE_FORMAT_UYVY,          PIPE_FORMAT_DXT1_RGB,          #PIPE_FORMAT_DXT1_RGBA,          #PIPE_FORMAT_DXT3_RGBA, @@ -515,8 +515,8 @@ def main():      depth_formats = [          PIPE_FORMAT_Z32_UNORM, -        PIPE_FORMAT_Z24S8_UNORM, -        PIPE_FORMAT_Z24X8_UNORM, +        PIPE_FORMAT_S8Z24_UNORM, +        PIPE_FORMAT_X8Z24_UNORM,          PIPE_FORMAT_Z16_UNORM,      ] diff --git a/progs/gallium/python/tests/texture_transfer.py b/progs/gallium/python/tests/texture_transfer.py index 35daca9e49..7da00e4255 100755 --- a/progs/gallium/python/tests/texture_transfer.py +++ b/progs/gallium/python/tests/texture_transfer.py @@ -111,15 +111,15 @@ def main():      ]      formats = [ -        PIPE_FORMAT_A8R8G8B8_UNORM, -        PIPE_FORMAT_X8R8G8B8_UNORM, -        PIPE_FORMAT_A8R8G8B8_SRGB, -        PIPE_FORMAT_R5G6B5_UNORM, -        PIPE_FORMAT_A1R5G5B5_UNORM, -        PIPE_FORMAT_A4R4G4B4_UNORM, +        PIPE_FORMAT_B8G8R8A8_UNORM, +        PIPE_FORMAT_B8G8R8X8_UNORM, +        PIPE_FORMAT_B8G8R8A8_SRGB, +        PIPE_FORMAT_B5G6R5_UNORM, +        PIPE_FORMAT_B5G5R5A1_UNORM, +        PIPE_FORMAT_B4G4R4A4_UNORM,          PIPE_FORMAT_Z32_UNORM, -        PIPE_FORMAT_Z24S8_UNORM, -        PIPE_FORMAT_Z24X8_UNORM, +        PIPE_FORMAT_S8Z24_UNORM, +        PIPE_FORMAT_X8Z24_UNORM,          PIPE_FORMAT_Z16_UNORM,          PIPE_FORMAT_S8_UNORM,          PIPE_FORMAT_A8_UNORM, diff --git a/progs/gallium/unit/u_format_test.c b/progs/gallium/unit/u_format_test.c index 35bf0220e5..78b90a4755 100644 --- a/progs/gallium/unit/u_format_test.c +++ b/progs/gallium/unit/u_format_test.c @@ -33,7 +33,7 @@  #include "util/u_format_pack.h" -#define MAX_PACKED_BYTES 4 +#define MAX_PACKED_BYTES 16  /** @@ -62,10 +62,20 @@ struct util_format_test_case   * Helper macros to create the packed bytes for longer words.   */ -#define PACKED_1x8(x) {x, 0, 0, 0} -#define PACKED_4x8(x, y, z, w) {x, y, z, w} -#define PACKED_1x32(x) {(x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, ((x) >> 24) & 0xff} -#define PACKED_1x16(x) {(x) & 0xff, ((x) >> 8) & 0xff, 0, 0} +#define PACKED_1x8(x)          {x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_2x8(x, y)       {x, y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_3x8(x, y, z)    {x, y, z, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_4x8(x, y, z, w) {x, y, z, w, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +#define PACKED_1x16(x)          {(x) & 0xff, (x) >> 8,          0,        0,          0,        0,          0,        0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_2x16(x, y)       {(x) & 0xff, (x) >> 8, (y) & 0xff, (y) >> 8,          0,        0,          0,        0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_3x16(x, y, z)    {(x) & 0xff, (x) >> 8, (y) & 0xff, (y) >> 8, (z) & 0xff, (z) >> 8,          0,        0, 0, 0, 0, 0, 0, 0, 0, 0} +#define PACKED_4x16(x, y, z, w) {(x) & 0xff, (x) >> 8, (y) & 0xff, (y) >> 8, (z) & 0xff, (z) >> 8, (w) & 0xff, (w) >> 8, 0, 0, 0, 0, 0, 0, 0, 0} + +#define PACKED_1x32(x)          {(x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, (x) >> 24,          0,                 0,                  0,         0,          0,                 0,                  0,         0,          0,                 0,                  0,         0} +#define PACKED_2x32(x, y)       {(x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, (x) >> 24, (y) & 0xff, ((y) >> 8) & 0xff, ((y) >> 16) & 0xff, (y) >> 24,          0,                 0,                  0,         0,          0,                 0,                  0,         0} +#define PACKED_3x32(x, y, z)    {(x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, (x) >> 24, (y) & 0xff, ((y) >> 8) & 0xff, ((y) >> 16) & 0xff, (y) >> 24, (z) & 0xff, ((z) >> 8) & 0xff, ((z) >> 16) & 0xff, (z) >> 24,          0,                 0,                  0,         0} +#define PACKED_4x32(x, y, z, w) {(x) & 0xff, ((x) >> 8) & 0xff, ((x) >> 16) & 0xff, (x) >> 24, (y) & 0xff, ((y) >> 8) & 0xff, ((y) >> 16) & 0xff, (y) >> 24, (z) & 0xff, ((z) >> 8) & 0xff, ((z) >> 16) & 0xff, (z) >> 24, (w) & 0xff, ((w) >> 8) & 0xff, ((w) >> 16) & 0xff, (w) >> 24}  /** @@ -80,76 +90,87 @@ struct util_format_test_case  static const struct util_format_test_case  test_cases[] =  { -   {PIPE_FORMAT_R5G6B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x001f), {0.0, 0.0, 1.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x07e0), {0.0, 1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xf800), {1.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x001f), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x03e0), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x7c00), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x8000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, +   /* +    * 32-bit rendertarget formats +    */ -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x000f), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x00f0), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0f00), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xf000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A4R4G4B4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000003ff), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000ffc00), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x3ff00000), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xc0000000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A2B10G10R10_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x0000ff00), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00ff0000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}},     {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 1.0, 0.0}},     {PIPE_FORMAT_A8R8G8B8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 1.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x0000ff00), {0.0, 1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00ff0000), {1.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x0000ff00), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xff000000), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_X8R8G8B8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8B8G8R8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x0000ff00), {1.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xff000000), {0.0, 0.0, 1.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8X8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x0000ff00), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xff000000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_X8B8G8R8_UNORM, PACKED_1x32(0xffffff00), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -#if 0 -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -#endif +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000003ff), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000ffc00), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x3ff00000), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xc0000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R10G10B10A2_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x000000ff), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000ff00), {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00ff0000), {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 1.0, 1.0, 1.0}}, +   /* +    * 16-bit rendertarget formats +    */ + +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x001f), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x03e0), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x7c00), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x8000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x000f), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x00f0), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0f00), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xf000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B4G4R4A4_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_B5G6R5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x001f), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x07e0), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xf800), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, + +   /* +    * Luminance/intensity/alpha formats +    */     {PIPE_FORMAT_L8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0x00), {0.0, 0.0, 0.0, 1.0}},     {PIPE_FORMAT_L8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0xff), {1.0, 1.0, 1.0, 1.0}}, @@ -160,38 +181,400 @@ test_cases[] =     {PIPE_FORMAT_I8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0x00), {0.0, 0.0, 0.0, 0.0}},     {PIPE_FORMAT_I8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0xff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A8L8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8L8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x00ff), {1.0, 1.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A8L8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xff00), {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A8L8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_L8A8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_L8A8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x00ff), {1.0, 1.0, 1.0, 0.0}}, +   {PIPE_FORMAT_L8A8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xff00), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_L8A8_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}},     {PIPE_FORMAT_L16_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 1.0}},     {PIPE_FORMAT_L16_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), { 0.0,  0.0,  0.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x0000007f), { 1.0,  0.0,  0.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000081), {-1.0,  0.0,  0.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00007f00), { 0.0,  1.0,  0.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00008100), { 0.0, -1.0,  0.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x007f0000), { 0.0,  0.0,  1.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00810000), { 0.0,  0.0, -1.0,  0.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x7f000000), { 0.0,  0.0,  0.0,  1.0}}, -   {PIPE_FORMAT_A8B8G8R8_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x81000000), { 0.0,  0.0,  0.0, -1.0}}, +   /* +    * TODO: SRGB formats +    */ + +   /* +    * Signed (bump map) formats +    */ + +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000000), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x0000007f), { 1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000081), {-1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00007f00), { 0.0,  1.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00008100), { 0.0, -1.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x007f0000), { 0.0,  0.0,  1.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8X8_SNORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00810000), { 0.0,  0.0, -1.0,  1.0}}, + +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000000), { 0.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x0000007f), { 1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000081), {-1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00007f00), { 0.0,  1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00008100), { 0.0, -1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00ff0000), { 0.0,  0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_R8SG8SB8UX8U_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xff000000), { 0.0,  0.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), { 0.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x000f), { 1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0011), {-1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x01e0), { 0.0,  1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0220), { 0.0, -1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R5SG5SB6U_NORM, PACKED_1x16(0xffff), PACKED_1x16(0xfc00), { 0.0,  0.0, 1.0, 1.0}}, + +   /* +    * TODO: Depth-stencil formats +    */ + +   /* +    * TODO: YUV formats +    */ + +   /* +    * TODO: Compressed formats +    */ + +   /* +    * Standard 8-bit integer formats +    */ + +   {PIPE_FORMAT_R8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0x00), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8_UNORM, PACKED_1x8(0xff), PACKED_1x8(0xff), {1.0, 0.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8_UNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x00), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_UNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0xff, 0x00), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_UNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0xff), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_UNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0xff, 0xff), {1.0, 1.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8_UNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x00), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_UNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0xff, 0x00, 0x00), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_UNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0xff, 0x00), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_UNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0xff), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_UNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0xff, 0xff, 0xff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x00), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0xff, 0x00, 0x00, 0x00), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0xff, 0x00, 0x00), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0xff, 0x00), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0xff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8A8_UNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0xff, 0xff, 0xff, 0xff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R8_USCALED, PACKED_1x8(0xff), PACKED_1x8(0x00), {  0.0,   0.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8_USCALED, PACKED_1x8(0xff), PACKED_1x8(0xff), {255.0,   0.0,   0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8_USCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x00), {  0.0,   0.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_USCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0xff, 0x00), {255.0,   0.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_USCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0xff), {  0.0, 255.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_USCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0xff, 0xff), {255.0, 255.0,   0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8_USCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x00), {  0.0,   0.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_USCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0xff, 0x00, 0x00), {255.0,   0.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_USCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0xff, 0x00), {  0.0, 255.0,   0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_USCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0xff), {  0.0,   0.0, 255.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_USCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0xff, 0xff, 0xff), {255.0, 255.0, 255.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x00), {  0.0,   0.0,   0.0,   0.0}}, +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0xff, 0x00, 0x00, 0x00), {255.0,   0.0,   0.0,   0.0}}, +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0xff, 0x00, 0x00), {  0.0, 255.0,   0.0,   0.0}}, +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0xff, 0x00), {  0.0,   0.0, 255.0,   0.0}}, +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0xff), {  0.0,   0.0,   0.0, 255.0}}, +   {PIPE_FORMAT_R8G8B8A8_USCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0xff, 0xff, 0xff, 0xff), {255.0, 255.0, 255.0, 255.0}}, + +   {PIPE_FORMAT_R8_SNORM, PACKED_1x8(0xff), PACKED_1x8(0x00), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8_SNORM, PACKED_1x8(0xff), PACKED_1x8(0x7f), { 1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8_SNORM, PACKED_1x8(0xff), PACKED_1x8(0x81), {-1.0,  0.0,  0.0,  1.0}}, + +   {PIPE_FORMAT_R8G8_SNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x00), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8_SNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x7f, 0x00), { 1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8_SNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x81, 0x00), {-1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8_SNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x7f), { 0.0,  1.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8_SNORM, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x81), { 0.0, -1.0,  0.0,  1.0}}, + +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x00), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x7f, 0x00, 0x00), { 1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x81, 0x00, 0x00), {-1.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x7f, 0x00), { 0.0,  1.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x81, 0x00), { 0.0, -1.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x7f), { 0.0,  0.0,  1.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8_SNORM, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x81), { 0.0,  0.0, -1.0,  1.0}}, + +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x00), { 0.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x7f, 0x00, 0x00, 0x00), { 1.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x81, 0x00, 0x00, 0x00), {-1.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x7f, 0x00, 0x00), { 0.0,  1.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x81, 0x00, 0x00), { 0.0, -1.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x7f, 0x00), { 0.0,  0.0,  1.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x81, 0x00), { 0.0,  0.0, -1.0,  0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x7f), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R8G8B8A8_SNORM, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x81), { 0.0,  0.0,  0.0, -1.0}}, + +   {PIPE_FORMAT_R8_SSCALED, PACKED_1x8(0xff), PACKED_1x8(0x00), {   0.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8_SSCALED, PACKED_1x8(0xff), PACKED_1x8(0x7f), { 127.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8_SSCALED, PACKED_1x8(0xff), PACKED_1x8(0x80), {-128.0,    0.0,    0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8_SSCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x00), {   0.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_SSCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x7f, 0x00), { 127.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_SSCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x80, 0x00), {-128.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_SSCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x7f), {   0.0,  127.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8_SSCALED, PACKED_2x8(0xff, 0xff), PACKED_2x8(0x00, 0x80), {   0.0, -128.0,    0.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x00), {   0.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x7f, 0x00, 0x00), { 127.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x80, 0x00, 0x00), {-128.0,    0.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x7f, 0x00), {   0.0,  127.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x80, 0x00), {   0.0, -128.0,    0.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x7f), {   0.0,    0.0,  127.0, 1.0}}, +   {PIPE_FORMAT_R8G8B8_SSCALED, PACKED_3x8(0xff, 0xff, 0xff), PACKED_3x8(0x00, 0x00, 0x80), {   0.0,    0.0, -128.0, 1.0}}, + +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x00), {   0.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x7f, 0x00, 0x00, 0x00), { 127.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x80, 0x00, 0x00, 0x00), {-128.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x7f, 0x00, 0x00), {   0.0,  127.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x80, 0x00, 0x00), {   0.0, -128.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x7f, 0x00), {   0.0,    0.0,  127.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x80, 0x00), {   0.0,    0.0, -128.0,    0.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x7f), {   0.0,    0.0,    0.0,  127.0}}, +   {PIPE_FORMAT_R8G8B8A8_SSCALED, PACKED_4x8(0xff, 0xff, 0xff, 0xff), PACKED_4x8(0x00, 0x00, 0x00, 0x80), {   0.0,    0.0,    0.0, -128.0}}, + +   /* +    * Standard 16-bit integer formats +    */ + +   {PIPE_FORMAT_R16_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16_UNORM, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {1.0, 0.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R16G16_UNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x0000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16_UNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0xffff, 0x0000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16_UNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0xffff), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16_UNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0xffff, 0xffff), {1.0, 1.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R16G16B16_UNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x0000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16B16_UNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0xffff, 0x0000, 0x0000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16B16_UNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0xffff, 0x0000), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16B16_UNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0xffff), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_R16G16B16_UNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0xffff, 0xffff, 0xffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x0000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0xffff, 0x0000, 0x0000, 0x0000), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0xffff, 0x0000, 0x0000), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0xffff, 0x0000), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0xffff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R16G16B16A16_UNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R16_USCALED, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {    0.0,     0.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16_USCALED, PACKED_1x16(0xffff), PACKED_1x16(0xffff), {65535.0,     0.0,     0.0,   1.0}}, + +   {PIPE_FORMAT_R16G16_USCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x0000), {    0.0,     0.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_USCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0xffff, 0x0000), {65535.0,     0.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_USCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0xffff), {    0.0, 65535.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_USCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0xffff, 0xffff), {65535.0, 65535.0,     0.0,   1.0}}, + +   {PIPE_FORMAT_R16G16B16_USCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x0000), {    0.0,     0.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_USCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0xffff, 0x0000, 0x0000), {65535.0,     0.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_USCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0xffff, 0x0000), {    0.0, 65535.0,     0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_USCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0xffff), {    0.0,     0.0, 65535.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_USCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0xffff, 0xffff, 0xffff), {65535.0, 65535.0, 65535.0,   1.0}}, + +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x0000), {    0.0,     0.0,     0.0,     0.0}}, +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0xffff, 0x0000, 0x0000, 0x0000), {65535.0,     0.0,     0.0,     0.0}}, +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0xffff, 0x0000, 0x0000), {    0.0, 65535.0,     0.0,     0.0}}, +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0xffff, 0x0000), {    0.0,     0.0, 65535.0,     0.0}}, +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0xffff), {    0.0,     0.0,     0.0, 65535.0}}, +   {PIPE_FORMAT_R16G16B16A16_USCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), {65535.0, 65535.0, 65535.0, 65535.0}}, + +   {PIPE_FORMAT_R16_SNORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16_SNORM, PACKED_1x16(0xffff), PACKED_1x16(0x7fff), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16_SNORM, PACKED_1x16(0xffff), PACKED_1x16(0x8001), {  -1.0,    0.0,    0.0,    1.0}}, + +   {PIPE_FORMAT_R16G16_SNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x0000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16_SNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x7fff, 0x0000), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16_SNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x8001, 0x0000), {  -1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16_SNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x7fff), {   0.0,    1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16_SNORM, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x8001), {   0.0,   -1.0,    0.0,    1.0}}, + +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x0000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x7fff, 0x0000, 0x0000), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x8001, 0x0000, 0x0000), {  -1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x7fff, 0x0000), {   0.0,    1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x8001, 0x0000), {   0.0,   -1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x7fff), {   0.0,    0.0,    1.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16_SNORM, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x8001), {   0.0,    0.0,   -1.0,    1.0}}, + +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x0000), {   0.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x7fff, 0x0000, 0x0000, 0x0000), {   1.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x8001, 0x0000, 0x0000, 0x0000), {  -1.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x7fff, 0x0000, 0x0000), {   0.0,    1.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x8001, 0x0000, 0x0000), {   0.0,   -1.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x7fff, 0x0000), {   0.0,    0.0,    1.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x8001, 0x0000), {   0.0,    0.0,   -1.0,    0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x7fff), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R16G16B16A16_SNORM, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x8001), {   0.0,    0.0,    0.0,   -1.0}}, + +   {PIPE_FORMAT_R16_SSCALED, PACKED_1x16(0xffff), PACKED_1x16(0x0000), {     0.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16_SSCALED, PACKED_1x16(0xffff), PACKED_1x16(0x7fff), { 32767.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16_SSCALED, PACKED_1x16(0xffff), PACKED_1x16(0x8000), {-32768.0,      0.0,      0.0,   1.0}}, + +   {PIPE_FORMAT_R16G16_SSCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x0000), {     0.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_SSCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x7fff, 0x0000), { 32767.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_SSCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x8000, 0x0000), {-32768.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_SSCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x7fff), {     0.0,  32767.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16_SSCALED, PACKED_2x16(0xffff, 0xffff), PACKED_2x16(0x0000, 0x8000), {     0.0, -32768.0,      0.0,   1.0}}, + +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x0000), {     0.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x7fff, 0x0000, 0x0000), { 32767.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x8000, 0x0000, 0x0000), {-32768.0,      0.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x7fff, 0x0000), {     0.0,  32767.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x8000, 0x0000), {     0.0, -32768.0,      0.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x7fff), {     0.0,      0.0,  32767.0,   1.0}}, +   {PIPE_FORMAT_R16G16B16_SSCALED, PACKED_3x16(0xffff, 0xffff, 0xffff), PACKED_3x16(0x0000, 0x0000, 0x8000), {     0.0,      0.0, -32768.0,   1.0}}, + +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x0000), {     0.0,      0.0,      0.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x7fff, 0x0000, 0x0000, 0x0000), { 32767.0,      0.0,      0.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x8000, 0x0000, 0x0000, 0x0000), {-32768.0,      0.0,      0.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x7fff, 0x0000, 0x0000), {     0.0,  32767.0,      0.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x8000, 0x0000, 0x0000), {     0.0, -32768.0,      0.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x7fff, 0x0000), {     0.0,      0.0,  32767.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x8000, 0x0000), {     0.0,      0.0, -32768.0,      0.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x7fff), {     0.0,      0.0,      0.0,  32767.0}}, +   {PIPE_FORMAT_R16G16B16A16_SSCALED, PACKED_4x16(0xffff, 0xffff, 0xffff, 0xffff), PACKED_4x16(0x0000, 0x0000, 0x0000, 0x8000), {     0.0,      0.0,      0.0, -32768.0}}, + +   /* +    * Standard 32-bit integer formats +    * +    * NOTE: We can't accurately represent integers larger than +/-0x1000000 +    * with single precision floats, so that's as far as we test. +    */ + +   {PIPE_FORMAT_R32_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32_UNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0xffffffff), {1.0, 0.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R32G32_UNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_UNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0xffffffff, 0x00000000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_UNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0xffffffff), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_UNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0xffffffff, 0xffffffff), {1.0, 1.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R32G32B32_UNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x00000000), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_UNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0xffffffff, 0x00000000, 0x00000000), {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_UNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0xffffffff, 0x00000000), {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_UNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0xffffffff), {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_UNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x00000000), {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0xffffffff, 0x00000000, 0x00000000, 0x00000000), {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0xffffffff, 0x00000000, 0x00000000), {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0xffffffff, 0x00000000), {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0xffffffff), {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32A32_UNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), {1.0, 1.0, 1.0, 1.0}}, + +   {PIPE_FORMAT_R32_USCALED, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {       0.0,        0.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32_USCALED, PACKED_1x32(0xffffffff), PACKED_1x32(0x01000000), {16777216.0,        0.0,        0.0,   1.0}}, + +   {PIPE_FORMAT_R32G32_USCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x00000000), {       0.0,        0.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_USCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x01000000, 0x00000000), {16777216.0,        0.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_USCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x01000000), {       0.0, 16777216.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_USCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x01000000, 0x01000000), {16777216.0, 16777216.0,        0.0,   1.0}}, + +   {PIPE_FORMAT_R32G32B32_USCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x00000000), {       0.0,        0.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_USCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x01000000, 0x00000000, 0x00000000), {16777216.0,        0.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_USCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x01000000, 0x00000000), {       0.0, 16777216.0,        0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_USCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x01000000), {       0.0,        0.0, 16777216.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_USCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x01000000, 0x01000000, 0x01000000), {16777216.0, 16777216.0, 16777216.0,   1.0}}, + +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x00000000), {       0.0,        0.0,        0.0,        0.0}}, +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x01000000, 0x00000000, 0x00000000, 0x00000000), {16777216.0,        0.0,        0.0,        0.0}}, +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x01000000, 0x00000000, 0x00000000), {       0.0, 16777216.0,        0.0,        0.0}}, +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x01000000, 0x00000000), {       0.0,        0.0, 16777216.0,        0.0}}, +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x01000000), {       0.0,        0.0,        0.0, 16777216.0}}, +   {PIPE_FORMAT_R32G32B32A32_USCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x01000000, 0x01000000, 0x01000000, 0x01000000), {16777216.0, 16777216.0, 16777216.0, 16777216.0}}, + +   {PIPE_FORMAT_R32_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x7fffffff), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32_SNORM, PACKED_1x32(0xffffffff), PACKED_1x32(0x80000001), {  -1.0,    0.0,    0.0,    1.0}}, + +   {PIPE_FORMAT_R32G32_SNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x00000000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32_SNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x7fffffff, 0x00000000), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32_SNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x80000001, 0x00000000), {  -1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32_SNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x7fffffff), {   0.0,    1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32_SNORM, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x80000001), {   0.0,   -1.0,    0.0,    1.0}}, + +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x00000000), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x7fffffff, 0x00000000, 0x00000000), {   1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x80000001, 0x00000000, 0x00000000), {  -1.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x7fffffff, 0x00000000), {   0.0,    1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x80000001, 0x00000000), {   0.0,   -1.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x7fffffff), {   0.0,    0.0,    1.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32_SNORM, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x80000001), {   0.0,    0.0,   -1.0,    1.0}}, + +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x00000000), {   0.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x7fffffff, 0x00000000, 0x00000000, 0x00000000), {   1.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x80000001, 0x00000000, 0x00000000, 0x00000000), {  -1.0,    0.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x7fffffff, 0x00000000, 0x00000000), {   0.0,    1.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x80000001, 0x00000000, 0x00000000), {   0.0,   -1.0,    0.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x7fffffff, 0x00000000), {   0.0,    0.0,    1.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x80000001, 0x00000000), {   0.0,    0.0,   -1.0,    0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x7fffffff), {   0.0,    0.0,    0.0,    1.0}}, +   {PIPE_FORMAT_R32G32B32A32_SNORM, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x80000001), {   0.0,    0.0,    0.0,   -1.0}}, + +   {PIPE_FORMAT_R32_SSCALED, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {        0.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32_SSCALED, PACKED_1x32(0xffffffff), PACKED_1x32(0x01000000), { 16777216.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32_SSCALED, PACKED_1x32(0xffffffff), PACKED_1x32(0xff000000), {-16777216.0,         0.0,         0.0,   1.0}}, + +   {PIPE_FORMAT_R32G32_SSCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x00000000), {        0.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_SSCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x01000000, 0x00000000), { 16777216.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_SSCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0xff000000, 0x00000000), {-16777216.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_SSCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x01000000), {        0.0,  16777216.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32_SSCALED, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0xff000000), {        0.0, -16777216.0,         0.0,   1.0}}, + +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x00000000), {        0.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x01000000, 0x00000000, 0x00000000), { 16777216.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0xff000000, 0x00000000, 0x00000000), {-16777216.0,         0.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x01000000, 0x00000000), {        0.0,  16777216.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0xff000000, 0x00000000), {        0.0, -16777216.0,         0.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x01000000), {        0.0,         0.0,  16777216.0,   1.0}}, +   {PIPE_FORMAT_R32G32B32_SSCALED, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0xff000000), {        0.0,         0.0, -16777216.0,   1.0}}, + +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x00000000), {        0.0,         0.0,         0.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x01000000, 0x00000000, 0x00000000, 0x00000000), { 16777216.0,         0.0,         0.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0xff000000, 0x00000000, 0x00000000, 0x00000000), {-16777216.0,         0.0,         0.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x01000000, 0x00000000, 0x00000000), {        0.0,  16777216.0,         0.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0xff000000, 0x00000000, 0x00000000), {        0.0, -16777216.0,         0.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x01000000, 0x00000000), {        0.0,         0.0,  16777216.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0xff000000, 0x00000000), {        0.0,         0.0, -16777216.0,         0.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x01000000), {        0.0,         0.0,         0.0,  16777216.0}}, +   {PIPE_FORMAT_R32G32B32A32_SSCALED, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0xff000000), {        0.0,         0.0,         0.0, -16777216.0}}, + +   /* +    * Standard 32-bit float formats +    */ + +   {PIPE_FORMAT_R32_FLOAT, PACKED_1x32(0xffffffff), PACKED_1x32(0x00000000), {  0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32_FLOAT, PACKED_1x32(0xffffffff), PACKED_1x32(0x3f800000), {  1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32_FLOAT, PACKED_1x32(0xffffffff), PACKED_1x32(0xbf800000), { -1.0, 0.0, 0.0, 1.0}}, + +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x00000000), { 0.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x3f800000, 0x00000000), { 1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0xbf800000, 0x00000000), {-1.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0x3f800000), { 0.0,  1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x00000000, 0xbf800000), { 0.0, -1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32_FLOAT, PACKED_2x32(0xffffffff, 0xffffffff), PACKED_2x32(0x3f800000, 0x3f800000), { 1.0,  1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000000), { 0.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x0000007f), { 1.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00000081), {-1.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00007f00), { 0.0,  1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00008100), { 0.0, -1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0x00ff0000), { 0.0,  0.0, 1.0, 1.0}}, -   {PIPE_FORMAT_X8UB8UG8SR8S_NORM, PACKED_1x32(0x00ffffff), PACKED_1x32(0xff000000), { 0.0,  0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x00000000), { 0.0,  0.0,  0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x3f800000, 0x00000000, 0x00000000), { 1.0,  0.0,  0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0xbf800000, 0x00000000, 0x00000000), {-1.0,  0.0,  0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x3f800000, 0x00000000), { 0.0,  1.0,  0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0xbf800000, 0x00000000), { 0.0, -1.0,  0.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0x3f800000), { 0.0,  0.0,  1.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x00000000, 0x00000000, 0xbf800000), { 0.0,  0.0, -1.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32_FLOAT, PACKED_3x32(0xffffffff, 0xffffffff, 0xffffffff), PACKED_3x32(0x3f800000, 0x3f800000, 0x3f800000), { 1.0,  1.0,  1.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0000), { 0.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x000f), { 1.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0011), {-1.0,  0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x01e0), { 0.0,  1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0x0220), { 0.0, -1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B6UG5SR5S_NORM, PACKED_1x16(0xffff), PACKED_1x16(0xfc00), { 0.0,  0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x00000000), { 0.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x3f800000, 0x00000000, 0x00000000, 0x00000000), { 1.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0xbf800000, 0x00000000, 0x00000000, 0x00000000), {-1.0,  0.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x3f800000, 0x00000000, 0x00000000), { 0.0,  1.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0xbf800000, 0x00000000, 0x00000000), { 0.0, -1.0,  0.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x3f800000, 0x00000000), { 0.0,  0.0,  1.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0xbf800000, 0x00000000), { 0.0,  0.0, -1.0,  0.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0x3f800000), { 0.0,  0.0,  0.0,  1.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x00000000, 0x00000000, 0x00000000, 0xbf800000), { 0.0,  0.0,  0.0, -1.0}}, +   {PIPE_FORMAT_R32G32B32A32_FLOAT, PACKED_4x32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff), PACKED_4x32(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000), { 1.0,  1.0,  1.0,  1.0}},  }; @@ -235,8 +618,17 @@ test_format_pack(const struct util_format_test_case *test)           success = FALSE;     if (!success) { -      printf("FAILED: (%02x %02x %02x %02x) obtained\n", packed[0], packed[1], packed[2], packed[3]); -      printf("        (%02x %02x %02x %02x) expected\n", test->packed[0], test->packed[1], test->packed[2], test->packed[3]); +      /* TODO: print more than 4 bytes */ +      printf("FAILED: (%02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x) obtained\n", +             packed[0], packed[1], packed[2], packed[3], +             packed[4], packed[5], packed[6], packed[7], +             packed[8], packed[9], packed[10], packed[11], +             packed[12], packed[13], packed[14], packed[15]); +      printf("        (%02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x) expected\n", +             test->packed[0], test->packed[1], test->packed[2], test->packed[3], +             test->packed[4], test->packed[5], test->packed[6], test->packed[7], +             test->packed[8], test->packed[9], test->packed[10], test->packed[11], +             test->packed[12], test->packed[13], test->packed[14], test->packed[15]);     }     return success; diff --git a/progs/rbug/bin_to_bmp.c b/progs/rbug/bin_to_bmp.c index 40ae629090..99a7ec5bc5 100644 --- a/progs/rbug/bin_to_bmp.c +++ b/progs/rbug/bin_to_bmp.c @@ -48,7 +48,7 @@ int main(int argc, char** argv)     unsigned stride = width * 4;     unsigned size = stride * height;     const char *filename = "mybin.bin"; -   enum pipe_format format = PIPE_FORMAT_A8R8G8B8_UNORM; +   enum pipe_format format = PIPE_FORMAT_B8G8R8A8_UNORM;     dump(width, height, stride, format, rbug_read(filename, size), size); diff --git a/src/gallium/auxiliary/draw/draw_pipe_vbuf.c b/src/gallium/auxiliary/draw/draw_pipe_vbuf.c index d40c035240..2709957961 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_vbuf.c +++ b/src/gallium/auxiliary/draw/draw_pipe_vbuf.c @@ -262,7 +262,7 @@ vbuf_start_prim( struct vbuf_stage *vbuf, uint prim )  	 src_offset = 0;  	 break;        case EMIT_4UB: -	 output_format = PIPE_FORMAT_B8G8R8A8_UNORM; +	 output_format = PIPE_FORMAT_A8R8G8B8_UNORM;  	 emit_sz = 4 * sizeof(ubyte);           break;        default: diff --git a/src/gallium/auxiliary/draw/draw_pt_emit.c b/src/gallium/auxiliary/draw/draw_pt_emit.c index 4fb53276bb..ae357b5122 100644 --- a/src/gallium/auxiliary/draw/draw_pt_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_emit.c @@ -112,7 +112,7 @@ void draw_pt_emit_prepare( struct pt_emit *emit,  	 src_offset = 0;  	 break;        case EMIT_4UB: -	 output_format = PIPE_FORMAT_B8G8R8A8_UNORM; +	 output_format = PIPE_FORMAT_A8R8G8B8_UNORM;  	 emit_sz = 4 * sizeof(ubyte);           break;        default: diff --git a/src/gallium/auxiliary/draw/draw_vs_aos_io.c b/src/gallium/auxiliary/draw/draw_vs_aos_io.c index a6eb37d128..ece1ddde0c 100644 --- a/src/gallium/auxiliary/draw/draw_vs_aos_io.c +++ b/src/gallium/auxiliary/draw/draw_vs_aos_io.c @@ -191,7 +191,7 @@ static boolean load_input( struct aos_compilation *cp,     case PIPE_FORMAT_R32G32B32A32_FLOAT:        emit_load_R32G32B32A32(cp, dataXMM, src);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        emit_load_R8G8B8A8_UNORM(cp, dataXMM, src);        emit_swizzle(cp, dataXMM, dataXMM, SHUF(Z,Y,X,W));        break; diff --git a/src/gallium/auxiliary/translate/translate_generic.c b/src/gallium/auxiliary/translate/translate_generic.c index 24727d4988..c9ec2b32bf 100644 --- a/src/gallium/auxiliary/translate/translate_generic.c +++ b/src/gallium/auxiliary/translate/translate_generic.c @@ -392,10 +392,10 @@ static fetch_func get_fetch_func( enum pipe_format format )     case PIPE_FORMAT_R8G8B8A8_SSCALED:        return &fetch_R8G8B8A8_SSCALED; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return &fetch_A8R8G8B8_UNORM; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        return &fetch_B8G8R8A8_UNORM;     case PIPE_FORMAT_R32_FIXED: @@ -551,10 +551,10 @@ static emit_func get_emit_func( enum pipe_format format )     case PIPE_FORMAT_R8G8B8A8_SSCALED:        return &emit_R8G8B8A8_SSCALED; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return &emit_A8R8G8B8_UNORM; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        return &emit_B8G8R8A8_UNORM;     default: diff --git a/src/gallium/auxiliary/translate/translate_sse.c b/src/gallium/auxiliary/translate/translate_sse.c index c13e742738..03e093c11e 100644 --- a/src/gallium/auxiliary/translate/translate_sse.c +++ b/src/gallium/auxiliary/translate/translate_sse.c @@ -336,7 +336,7 @@ static boolean translate_attr( struct translate_sse *p,     case PIPE_FORMAT_R32G32B32A32_FLOAT:        emit_load_R32G32B32A32(p, dataXMM, srcECX);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        emit_load_R8G8B8A8_UNORM(p, dataXMM, srcECX);        emit_swizzle(p, dataXMM, dataXMM, SHUF(Z,Y,X,W));        break; @@ -360,7 +360,7 @@ static boolean translate_attr( struct translate_sse *p,     case PIPE_FORMAT_R32G32B32A32_FLOAT:        emit_store_R32G32B32A32(p, dstEAX, dataXMM);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        emit_swizzle(p, dataXMM, dataXMM, SHUF(Z,Y,X,W));        emit_store_R8G8B8A8_UNORM(p, dstEAX, dataXMM);        break; diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index 858d52c6ef..94be682c4b 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -387,7 +387,7 @@ void debug_dump_image(const char *prefix,        /* XXX this is a hack */        switch (format) { -      case PIPE_FORMAT_A8R8G8B8_UNORM: +      case PIPE_FORMAT_B8G8R8A8_UNORM:           r = 2;           g = 1;           b = 0; diff --git a/src/gallium/auxiliary/util/u_format.csv b/src/gallium/auxiliary/util/u_format.csv index a7bd6abf81..c9766e6207 100644 --- a/src/gallium/auxiliary/util/u_format.csv +++ b/src/gallium/auxiliary/util/u_format.csv @@ -47,8 +47,9 @@  # - color space: rgb, yub, sz  #  # See also: -# - http://msdn.microsoft.com/en-us/library/ee416489.aspx -# - http://msdn.microsoft.com/en-us/library/ee415668.aspx +# - http://msdn.microsoft.com/en-us/library/ee416489.aspx (D3D9) +# - http://msdn.microsoft.com/en-us/library/ee415668.aspx (D3D9 -> D3D10) +# - http://msdn.microsoft.com/en-us/library/ee418116.aspx (D3D10)  #  # Note that GL doesn't really specify the layout of internal formats. See  # OpenGL 2.1 specification, Table 3.16, on the "Correspondence of sized @@ -56,59 +57,57 @@  # resolutions for each sized internal format."  # Typical rendertarget formats -PIPE_FORMAT_A8R8G8B8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, rgb -PIPE_FORMAT_X8R8G8B8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , zyx1, rgb -PIPE_FORMAT_B8G8R8A8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , yzwx, rgb -PIPE_FORMAT_B8G8R8X8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , yzw1, rgb -PIPE_FORMAT_R8G8B8X8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , wzy1, rgb -# XXX: insert PIPE_FORMAT_R8G8B8A8_UNORM here later -# XXX: insert PIPE_FORMAT_R8G8B8_UNORM here later -PIPE_FORMAT_A1R5G5B5_UNORM        , plain, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb -PIPE_FORMAT_A4R4G4B4_UNORM        , plain, 1, 1, un4 , un4 , un4 , un4 , zyxw, rgb -PIPE_FORMAT_R5G6B5_UNORM          , plain, 1, 1, un5 , un6 , un5 ,     , zyx1, rgb -PIPE_FORMAT_A2B10G10R10_UNORM     , plain, 1, 1, un10, un10, un10, un2 , xyzw, rgb +PIPE_FORMAT_B8G8R8A8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, rgb +PIPE_FORMAT_B8G8R8X8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , zyx1, rgb +PIPE_FORMAT_A8R8G8B8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , yzwx, rgb +PIPE_FORMAT_X8R8G8B8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , yzw1, rgb +PIPE_FORMAT_A8B8G8R8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , wzyx, rgb +PIPE_FORMAT_X8B8G8R8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , wzy1, rgb +PIPE_FORMAT_B5G5R5A1_UNORM        , plain, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb +PIPE_FORMAT_B4G4R4A4_UNORM        , plain, 1, 1, un4 , un4 , un4 , un4 , zyxw, rgb +PIPE_FORMAT_B5G6R5_UNORM          , plain, 1, 1, un5 , un6 , un5 ,     , zyx1, rgb +PIPE_FORMAT_R10G10B10A2_UNORM     , plain, 1, 1, un10, un10, un10, un2 , xyzw, rgb  # Luminance/Intensity/Alpha formats  PIPE_FORMAT_L8_UNORM              , plain, 1, 1, un8 ,     ,     ,     , xxx1, rgb  PIPE_FORMAT_A8_UNORM              , plain, 1, 1, un8 ,     ,     ,     , 000x, rgb  PIPE_FORMAT_I8_UNORM              , plain, 1, 1, un8 ,     ,     ,     , xxxx, rgb -PIPE_FORMAT_A8L8_UNORM            , plain, 1, 1, un8 , un8 ,     ,     , xxxy, rgb +PIPE_FORMAT_L8A8_UNORM            , plain, 1, 1, un8 , un8 ,     ,     , xxxy, rgb  PIPE_FORMAT_L16_UNORM             , plain, 1, 1, un16,     ,     ,     , xxx1, rgb  # SRGB formats  PIPE_FORMAT_L8_SRGB               , plain, 1, 1, un8 ,     ,     ,     , xxx1, srgb  -PIPE_FORMAT_A8L8_SRGB             , plain, 1, 1, un8 , un8 ,     ,     , xxxy, srgb  -PIPE_FORMAT_R8G8B8_SRGB           , plain, 1, 1, un8 , un8 , un8 ,     , zyx1, srgb  -PIPE_FORMAT_R8G8B8A8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , wzyx, srgb -PIPE_FORMAT_R8G8B8X8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , wzy1, srgb -PIPE_FORMAT_A8R8G8B8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, srgb -PIPE_FORMAT_X8R8G8B8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , zyx1, srgb -PIPE_FORMAT_B8G8R8A8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , yzwx, srgb -PIPE_FORMAT_B8G8R8X8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , yzw1, srgb +PIPE_FORMAT_L8A8_SRGB             , plain, 1, 1, un8 , un8 ,     ,     , xxxy, srgb  +PIPE_FORMAT_R8G8B8_SRGB           , plain, 1, 1, un8 , un8 , un8 ,     , xyz1, srgb  +PIPE_FORMAT_A8B8G8R8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , wzyx, srgb +PIPE_FORMAT_X8B8G8R8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , wzy1, srgb +PIPE_FORMAT_B8G8R8A8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, srgb +PIPE_FORMAT_B8G8R8X8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , zyx1, srgb +PIPE_FORMAT_A8R8G8B8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , yzwx, srgb +PIPE_FORMAT_X8R8G8B8_SRGB         , plain, 1, 1, un8 , un8 , un8 , un8 , yzw1, srgb  # Signed formats (typically used for bump map textures) -PIPE_FORMAT_A8B8G8R8_SNORM        , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , xyzw, rgb -PIPE_FORMAT_X8B8G8R8_SNORM        , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , xyz1, rgb -PIPE_FORMAT_X8UB8UG8SR8S_NORM     , plain, 1, 1, sn8 , sn8 , un8 , x8  , xyz1, rgb -PIPE_FORMAT_B6UG5SR5S_NORM        , plain, 1, 1, sn5 , sn5 , un6 ,     , xyz1, rgb +PIPE_FORMAT_R8G8B8X8_SNORM        , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , xyz1, rgb +PIPE_FORMAT_R8SG8SB8UX8U_NORM     , plain, 1, 1, sn8 , sn8 , un8 , x8  , xyz1, rgb +PIPE_FORMAT_R5SG5SB6U_NORM        , plain, 1, 1, sn5 , sn5 , un6 ,     , xyz1, rgb  # Depth-stencil formats  PIPE_FORMAT_S8_UNORM              , plain, 1, 1, un8 ,     ,     ,     , _x__, zs   PIPE_FORMAT_Z16_UNORM             , plain, 1, 1, un16,     ,     ,     , x___, zs   PIPE_FORMAT_Z32_UNORM             , plain, 1, 1, un32,     ,     ,     , x___, zs   PIPE_FORMAT_Z32_FLOAT             , plain, 1, 1, f32 ,     ,     ,     , x___, zs  -PIPE_FORMAT_S8Z24_UNORM           , plain, 1, 1, un24, un8 ,     ,     , xy__, zs  -PIPE_FORMAT_Z24S8_UNORM           , plain, 1, 1, un8 , un24,     ,     , yx__, zs  -PIPE_FORMAT_X8Z24_UNORM           , plain, 1, 1, un24, un8 ,     ,     , x___, zs  -PIPE_FORMAT_Z24X8_UNORM           , plain, 1, 1, un8 , un24,     ,     , y___, zs  +PIPE_FORMAT_Z24S8_UNORM           , plain, 1, 1, un24, un8 ,     ,     , xy__, zs  +PIPE_FORMAT_S8Z24_UNORM           , plain, 1, 1, un8 , un24,     ,     , yx__, zs  +PIPE_FORMAT_Z24X8_UNORM           , plain, 1, 1, un24, un8 ,     ,     , x___, zs  +PIPE_FORMAT_X8Z24_UNORM           , plain, 1, 1, un8 , un24,     ,     , y___, zs   # YUV formats  # http://www.fourcc.org/yuv.php#UYVY -PIPE_FORMAT_YCBCR                 , subsampled, 2, 1, x32 ,     ,     ,     , xyz1, yuv +PIPE_FORMAT_UYVY                 , subsampled, 2, 1, x32 ,     ,     ,     , xyz1, yuv  # http://www.fourcc.org/yuv.php#YUYV (a.k.a http://www.fourcc.org/yuv.php#YUY2)  # XXX: u_tile.c's ycbcr_get_tile_rgba actually interprets it as VYUY but the   # intent should be to match D3DFMT_YUY2 -PIPE_FORMAT_YCBCR_REV             , subsampled, 2, 1, x32 ,     ,     ,     , xyz1, yuv +PIPE_FORMAT_YUYV                 , subsampled, 2, 1, x32 ,     ,     ,     , xyz1, yuv  # Compressed formats  PIPE_FORMAT_DXT1_RGB              , compressed, 4, 4, x64 ,     ,     ,     , xyz1, rgb @@ -120,8 +119,9 @@ PIPE_FORMAT_DXT1_SRGBA            , compressed, 4, 4, x64 ,     ,     ,     , xy  PIPE_FORMAT_DXT3_SRGBA            , compressed, 4, 4, x128,     ,     ,     , xyzw, srgb  PIPE_FORMAT_DXT5_SRGBA            , compressed, 4, 4, x128,     ,     ,     , xyzw, srgb -# Old vector formats -# XXX: Swizzle notation is reversed for these! +# Straightforward D3D10-like formats (also used for  +# vertex buffer element description) +#   # See also:  # - src/gallium/auxiliary/translate/translate_generic.c  # - src/mesa/state_tracker/st_draw.c @@ -171,8 +171,8 @@ PIPE_FORMAT_R16G16B16_SSCALED     , plain, 1, 1, s16 , s16 , s16 ,     , xyz1, r  PIPE_FORMAT_R16G16B16A16_SSCALED  , plain, 1, 1, s16 , s16 , s16 , s16 , xyzw, rgb  PIPE_FORMAT_R8_UNORM              , plain, 1, 1, un8 ,     ,     ,     , x001, rgb  PIPE_FORMAT_R8G8_UNORM            , plain, 1, 1, un8 , un8 ,     ,     , xy01, rgb -# XXX: insert PIPE_FORMAT_R8G8B8_UNORM here later -# XXX: insert PIPE_FORMAT_R8G8B8A8_UNORM here later +PIPE_FORMAT_R8G8B8_UNORM          , plain, 1, 1, un8 , un8 , un8 ,     , xyz1, rgb +PIPE_FORMAT_R8G8B8A8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , xyzw, rgb  PIPE_FORMAT_R8_USCALED            , plain, 1, 1, u8  ,     ,     ,     , x001, rgb  PIPE_FORMAT_R8G8_USCALED          , plain, 1, 1, u8  , u8  ,     ,     , xy01, rgb  PIPE_FORMAT_R8G8B8_USCALED        , plain, 1, 1, u8  , u8  , u8  ,     , xyz1, rgb @@ -185,15 +185,3 @@ PIPE_FORMAT_R8_SSCALED            , plain, 1, 1, s8  ,     ,     ,     , x001, r  PIPE_FORMAT_R8G8_SSCALED          , plain, 1, 1, s8  , s8  ,     ,     , xy01, rgb  PIPE_FORMAT_R8G8B8_SSCALED        , plain, 1, 1, s8  , s8  , s8  ,     , xyz1, rgb  PIPE_FORMAT_R8G8B8A8_SSCALED      , plain, 1, 1, s8  , s8  , s8  , s8  , xyzw, rgb - -# Ambiguous formats -# FIXME: They are used with different meanings in different places!!! -PIPE_FORMAT_R8G8B8_UNORM          , plain, 1, 1, un8 , un8 , un8 ,     , zyx1, rgb -PIPE_FORMAT_R8G8B8A8_UNORM        , plain, 1, 1, un8 , un8 , un8 , un8 , wzyx, rgb - -# Unused formats -# XXX: Couldn't find any state tracker using them!! -PIPE_FORMAT_B6G5R5_SNORM          , plain, 1, 1, sn5 , sn5 , sn6 ,     , xyz1, rgb -PIPE_FORMAT_R8G8B8X8_SNORM        , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , wzy1, rgb -PIPE_FORMAT_R8G8B8X8_USCALED      , plain, 1, 1, u8  , u8  , u8  , u8  , wzy1, rgb -PIPE_FORMAT_R8G8B8X8_SSCALED      , plain, 1, 1, s8  , s8  , s8  , s8  , wzy1, rgb diff --git a/src/gallium/auxiliary/util/u_format_access.py b/src/gallium/auxiliary/util/u_format_access.py index 1c9be1b538..00424779d2 100644 --- a/src/gallium/auxiliary/util/u_format_access.py +++ b/src/gallium/auxiliary/util/u_format_access.py @@ -37,6 +37,7 @@  ''' +import math  import sys  from u_format_pack import * @@ -94,6 +95,20 @@ def native_type(format):          assert False +def generate_srgb_tables(): +    print 'static ubyte srgb_to_linear[256] = {' +    for i in range(256): +        print '   %s,' % (int(math.pow((i / 255.0 + 0.055) / 1.055, 2.4) * 255)) +    print '};' +    print +    print 'static ubyte linear_to_srgb[256] = {' +    print '   0,' +    for i in range(1, 256): +        print '   %s,' % (int((1.055 * math.pow(i / 255.0, 0.41666) - 0.055) * 255)) +    print '};' +    print + +  def generate_format_read(format, dst_channel, dst_native_type, dst_suffix):      '''Generate the function to read pixels from a particular format''' @@ -305,6 +320,8 @@ def main():      print '#include "u_format_pack.h"'      print +    generate_srgb_tables() +      type = Channel(FLOAT, False, 32)      native_type = 'float'      suffix = '4f' diff --git a/src/gallium/auxiliary/util/u_gen_mipmap.c b/src/gallium/auxiliary/util/u_gen_mipmap.c index f423882ca2..fc027e48e4 100644 --- a/src/gallium/auxiliary/util/u_gen_mipmap.c +++ b/src/gallium/auxiliary/util/u_gen_mipmap.c @@ -923,29 +923,29 @@ format_to_type_comps(enum pipe_format pformat,  {     /* XXX I think this could be implemented in terms of the pf_*() functions */     switch (pformat) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: -   case PIPE_FORMAT_X8R8G8B8_UNORM:     case PIPE_FORMAT_B8G8R8A8_UNORM:     case PIPE_FORMAT_B8G8R8X8_UNORM: -   case PIPE_FORMAT_R8G8B8A8_SRGB: -   case PIPE_FORMAT_R8G8B8X8_SRGB: -   case PIPE_FORMAT_A8R8G8B8_SRGB: -   case PIPE_FORMAT_X8R8G8B8_SRGB: +   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_SRGB: +   case PIPE_FORMAT_X8B8G8R8_SRGB:     case PIPE_FORMAT_B8G8R8A8_SRGB:     case PIPE_FORMAT_B8G8R8X8_SRGB: +   case PIPE_FORMAT_A8R8G8B8_SRGB: +   case PIPE_FORMAT_X8R8G8B8_SRGB:     case PIPE_FORMAT_R8G8B8_SRGB:        *datatype = DTYPE_UBYTE;        *comps = 4;        return; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        *datatype = DTYPE_USHORT_1_5_5_5_REV;        *comps = 4;        return; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        *datatype = DTYPE_USHORT_4_4_4_4;        *comps = 4;        return; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        *datatype = DTYPE_USHORT_5_6_5;        *comps = 3;        return; @@ -956,8 +956,8 @@ format_to_type_comps(enum pipe_format pformat,        *datatype = DTYPE_UBYTE;        *comps = 1;        return; -   case PIPE_FORMAT_A8L8_UNORM: -   case PIPE_FORMAT_A8L8_SRGB: +   case PIPE_FORMAT_L8A8_UNORM: +   case PIPE_FORMAT_L8A8_SRGB:        *datatype = DTYPE_UBYTE;        *comps = 2;        return; diff --git a/src/gallium/auxiliary/util/u_pack_color.h b/src/gallium/auxiliary/util/u_pack_color.h index 0ab53c75dd..50f1b1670b 100644 --- a/src/gallium/auxiliary/util/u_pack_color.h +++ b/src/gallium/auxiliary/util/u_pack_color.h @@ -57,47 +57,47 @@ util_pack_color_ub(ubyte r, ubyte g, ubyte b, ubyte a,                     enum pipe_format format, union util_color *uc)  {     switch (format) { -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        {           uc->ui = (r << 24) | (g << 16) | (b << 8) | a;        }        return; -   case PIPE_FORMAT_R8G8B8X8_UNORM: +   case PIPE_FORMAT_X8B8G8R8_UNORM:        {           uc->ui = (r << 24) | (g << 16) | (b << 8) | 0xff;        }        return; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        {           uc->ui = (a << 24) | (r << 16) | (g << 8) | b;        }        return; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        {           uc->ui = (0xff << 24) | (r << 16) | (g << 8) | b;        }        return; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        {           uc->ui = (b << 24) | (g << 16) | (r << 8) | a;        }        return; -   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM:        {           uc->ui = (b << 24) | (g << 16) | (r << 8) | 0xff;        }        return; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        {           uc->us = ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | (b >> 3);        }        return; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        {           uc->us = ((a & 0x80) << 8) | ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | (b >> 3);        }        return; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        {           uc->us = ((a & 0xf0) << 8) | ((r & 0xf0) << 4) | ((g & 0xf0) << 0) | (b >> 4);        } @@ -153,7 +153,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,                       ubyte *r, ubyte *g, ubyte *b, ubyte *a)  {     switch (format) { -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >> 24) & 0xff); @@ -162,7 +162,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) ((p >>  0) & 0xff);        }        return; -   case PIPE_FORMAT_R8G8B8X8_UNORM: +   case PIPE_FORMAT_X8B8G8R8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >> 24) & 0xff); @@ -171,7 +171,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) 0xff;        }        return; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >> 16) & 0xff); @@ -180,7 +180,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) ((p >> 24) & 0xff);        }        return; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >> 16) & 0xff); @@ -189,7 +189,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) 0xff;        }        return; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >>  8) & 0xff); @@ -198,7 +198,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) ((p >>  0) & 0xff);        }        return; -   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM:        {           uint p = uc->ui;           *r = (ubyte) ((p >>  8) & 0xff); @@ -207,7 +207,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) 0xff;        }        return; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        {           ushort p = uc->us;           *r = (ubyte) (((p >> 8) & 0xf8) | ((p >> 13) & 0x7)); @@ -216,7 +216,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) 0xff;        }        return; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        {           ushort p = uc->us;           *r = (ubyte) (((p >>  7) & 0xf8) | ((p >> 12) & 0x7)); @@ -225,7 +225,7 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc,           *a = (ubyte) (0xff * (p >> 15));        }        return; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        {           ushort p = uc->us;           *r = (ubyte) (((p >> 4) & 0xf0) | ((p >>  8) & 0xf)); @@ -326,47 +326,47 @@ util_pack_color(const float rgba[4], enum pipe_format format, union util_color *     }     switch (format) { -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        {           uc->ui = (r << 24) | (g << 16) | (b << 8) | a;        }        return; -   case PIPE_FORMAT_R8G8B8X8_UNORM: +   case PIPE_FORMAT_X8B8G8R8_UNORM:        {           uc->ui = (r << 24) | (g << 16) | (b << 8) | 0xff;        }        return; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        {           uc->ui = (a << 24) | (r << 16) | (g << 8) | b;        }        return; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        {           uc->ui = (0xff << 24) | (r << 16) | (g << 8) | b;        }        return; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        {           uc->ui = (b << 24) | (g << 16) | (r << 8) | a;        }        return; -   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM:        {           uc->ui = (b << 24) | (g << 16) | (r << 8) | 0xff;        }        return; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        {           uc->us = ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | (b >> 3);        }        return; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        {           uc->us = ((a & 0x80) << 8) | ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | (b >> 3);        }        return; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        {           uc->ub = ((a & 0xf0) << 8) | ((r & 0xf0) << 4) | ((g & 0xf0) << 0) | (b >> 4);        } @@ -427,13 +427,13 @@ util_pack_z(enum pipe_format format, double z)        return (uint) (z * 0xffffffff);     case PIPE_FORMAT_Z32_FLOAT:        return (uint)z; -   case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:        if (z == 1.0)           return 0xffffff;        return (uint) (z * 0xffffff); -   case PIPE_FORMAT_Z24S8_UNORM: -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        if (z == 1.0)           return 0xffffff00;        return ((uint) (z * 0xffffff)) << 8; @@ -458,10 +458,10 @@ util_pack_z_stencil(enum pipe_format format, double z, uint s)     unsigned packed = util_pack_z(format, z);     switch (format) { -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        packed |= s << 24;        break; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        packed |= s;        break;     case PIPE_FORMAT_S8_UNORM: diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c index c9f1c9c210..33306bbc2a 100644 --- a/src/gallium/auxiliary/util/u_surface.c +++ b/src/gallium/auxiliary/util/u_surface.c @@ -54,9 +54,9 @@ util_create_rgba_surface(struct pipe_screen *screen,                           struct pipe_surface **surfaceOut)  {     static const enum pipe_format rgbaFormats[] = { -      PIPE_FORMAT_A8R8G8B8_UNORM,        PIPE_FORMAT_B8G8R8A8_UNORM, -      PIPE_FORMAT_R8G8B8A8_UNORM, +      PIPE_FORMAT_A8R8G8B8_UNORM, +      PIPE_FORMAT_A8B8G8R8_UNORM,        PIPE_FORMAT_NONE     };     const uint target = PIPE_TEXTURE_2D; diff --git a/src/gallium/auxiliary/util/u_tile.c b/src/gallium/auxiliary/util/u_tile.c index 0051258e22..79481b710b 100644 --- a/src/gallium/auxiliary/util/u_tile.c +++ b/src/gallium/auxiliary/util/u_tile.c @@ -108,7 +108,7 @@ pipe_put_tile_raw(struct pipe_transfer *pt, -/*** PIPE_FORMAT_A8R8G8B8_UNORM ***/ +/*** PIPE_FORMAT_B8G8R8A8_UNORM ***/  static void  a8r8g8b8_get_tile_rgba(const unsigned *src, @@ -155,7 +155,7 @@ a8r8g8b8_put_tile_rgba(unsigned *dst,  } -/*** PIPE_FORMAT_X8R8G8B8_UNORM ***/ +/*** PIPE_FORMAT_B8G8R8X8_UNORM ***/  static void  x8r8g8b8_get_tile_rgba(const unsigned *src, @@ -201,7 +201,7 @@ x8r8g8b8_put_tile_rgba(unsigned *dst,  } -/*** PIPE_FORMAT_B8G8R8A8_UNORM ***/ +/*** PIPE_FORMAT_A8R8G8B8_UNORM ***/  static void  b8g8r8a8_get_tile_rgba(const unsigned *src, @@ -248,7 +248,7 @@ b8g8r8a8_put_tile_rgba(unsigned *dst,  } -/*** PIPE_FORMAT_R8G8B8A8_UNORM ***/ +/*** PIPE_FORMAT_A8B8G8R8_UNORM ***/  static void  r8g8b8a8_get_tile_rgba(const unsigned *src, @@ -295,7 +295,7 @@ r8g8b8a8_put_tile_rgba(unsigned *dst,  } -/*** PIPE_FORMAT_A1R5G5B5_UNORM ***/ +/*** PIPE_FORMAT_B5G5R5A1_UNORM ***/  static void  a1r5g5b5_get_tile_rgba(const ushort *src, @@ -346,7 +346,7 @@ a1r5g5b5_put_tile_rgba(ushort *dst,  } -/*** PIPE_FORMAT_A4R4G4B4_UNORM ***/ +/*** PIPE_FORMAT_B4G4R4A4_UNORM ***/  static void  a4r4g4b4_get_tile_rgba(const ushort *src, @@ -397,7 +397,7 @@ a4r4g4b4_put_tile_rgba(ushort *dst,  } -/*** PIPE_FORMAT_R5G6B5_UNORM ***/ +/*** PIPE_FORMAT_B5G6R5_UNORM ***/  static void  r5g6b5_get_tile_rgba(const ushort *src, @@ -691,7 +691,7 @@ r16g16b16a16_put_tile_rgba(short *dst,  } -/*** PIPE_FORMAT_R8G8B8A8_SRGB ***/ +/*** PIPE_FORMAT_A8B8G8R8_SRGB ***/  /**   * Convert an 8-bit sRGB value from non-linear space to a @@ -784,7 +784,7 @@ a8r8g8b8_srgb_put_tile_rgba(unsigned *dst,  } -/*** PIPE_FORMAT_A8L8_SRGB ***/ +/*** PIPE_FORMAT_L8A8_SRGB ***/  static void  a8l8_srgb_get_tile_rgba(const ushort *src, @@ -913,7 +913,7 @@ i8_put_tile_rgba(ubyte *dst,  } -/*** PIPE_FORMAT_A8L8_UNORM ***/ +/*** PIPE_FORMAT_L8A8_UNORM ***/  static void  a8l8_get_tile_rgba(const ushort *src, @@ -987,7 +987,7 @@ z32_get_tile_rgba(const unsigned *src,  } -/*** PIPE_FORMAT_S8Z24_UNORM ***/ +/*** PIPE_FORMAT_Z24S8_UNORM ***/  /**   * Return Z component as four float in [0,1].  Stencil part ignored. @@ -1014,7 +1014,7 @@ s8z24_get_tile_rgba(const unsigned *src,  } -/*** PIPE_FORMAT_Z24S8_UNORM ***/ +/*** PIPE_FORMAT_S8Z24_UNORM ***/  /**   * Return Z component as four float in [0,1].  Stencil part ignored. @@ -1067,7 +1067,7 @@ z32f_get_tile_rgba(const float *src,  } -/*** PIPE_FORMAT_YCBCR / PIPE_FORMAT_YCBCR_REV ***/ +/*** PIPE_FORMAT_UYVY / PIPE_FORMAT_YUYV ***/  /**   * Convert YCbCr (or YCrCb) to RGBA. @@ -1162,25 +1162,25 @@ pipe_tile_raw_to_rgba(enum pipe_format format,                        float *dst, unsigned dst_stride)  {     switch (format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        a8r8g8b8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        x8r8g8b8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        b8g8r8a8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        r8g8b8a8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        a1r5g5b5_get_tile_rgba((ushort *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        a4r4g4b4_get_tile_rgba((ushort *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        r5g6b5_get_tile_rgba((ushort *) src, w, h, dst, dst_stride);        break;     case PIPE_FORMAT_R8G8B8_UNORM: @@ -1195,7 +1195,7 @@ pipe_tile_raw_to_rgba(enum pipe_format format,     case PIPE_FORMAT_I8_UNORM:        i8_get_tile_rgba((ubyte *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_A8L8_UNORM: +   case PIPE_FORMAT_L8A8_UNORM:        a8l8_get_tile_rgba((ushort *) src, w, h, dst, dst_stride);        break;     case PIPE_FORMAT_R16_SNORM: @@ -1204,10 +1204,10 @@ pipe_tile_raw_to_rgba(enum pipe_format format,     case PIPE_FORMAT_R16G16B16A16_SNORM:        r16g16b16a16_get_tile_rgba((short *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_A8R8G8B8_SRGB: +   case PIPE_FORMAT_B8G8R8A8_SRGB:        a8r8g8b8_srgb_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_A8L8_SRGB: +   case PIPE_FORMAT_L8A8_SRGB:        a8l8_srgb_get_tile_rgba((ushort *) src, w, h, dst, dst_stride);        break;     case PIPE_FORMAT_L8_SRGB: @@ -1219,21 +1219,21 @@ pipe_tile_raw_to_rgba(enum pipe_format format,     case PIPE_FORMAT_Z32_UNORM:        z32_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: -      s8z24_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride); -      break;     case PIPE_FORMAT_Z24S8_UNORM:     case PIPE_FORMAT_Z24X8_UNORM: +      s8z24_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride); +      break; +   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        z24s8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);        break;     case PIPE_FORMAT_Z32_FLOAT:        z32f_get_tile_rgba((float *) src, w, h, dst, dst_stride);        break; -   case PIPE_FORMAT_YCBCR: +   case PIPE_FORMAT_UYVY:        ycbcr_get_tile_rgba((ushort *) src, w, h, dst, dst_stride, FALSE);        break; -   case PIPE_FORMAT_YCBCR_REV: +   case PIPE_FORMAT_YUYV:        ycbcr_get_tile_rgba((ushort *) src, w, h, dst, dst_stride, TRUE);        break;     default: @@ -1262,7 +1262,7 @@ pipe_get_tile_rgba(struct pipe_transfer *pt,     if (!packed)        return; -   if(format == PIPE_FORMAT_YCBCR || format == PIPE_FORMAT_YCBCR_REV) +   if(format == PIPE_FORMAT_UYVY || format == PIPE_FORMAT_YUYV)        assert((x & 1) == 0);     pipe_get_tile_raw(pt, x, y, w, h, packed, 0); @@ -1291,28 +1291,28 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,        return;     switch (format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        a8r8g8b8_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        x8r8g8b8_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        b8g8r8a8_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        r8g8b8a8_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        a1r5g5b5_put_tile_rgba((ushort *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        r5g6b5_put_tile_rgba((ushort *) packed, w, h, p, src_stride);        break;     case PIPE_FORMAT_R8G8B8_UNORM:        r8g8b8_put_tile_rgba((ubyte *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        a4r4g4b4_put_tile_rgba((ushort *) packed, w, h, p, src_stride);        break;     case PIPE_FORMAT_L8_UNORM: @@ -1324,7 +1324,7 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,     case PIPE_FORMAT_I8_UNORM:        i8_put_tile_rgba((ubyte *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_A8L8_UNORM: +   case PIPE_FORMAT_L8A8_UNORM:        a8l8_put_tile_rgba((ushort *) packed, w, h, p, src_stride);        break;     case PIPE_FORMAT_R16_SNORM: @@ -1333,10 +1333,10 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,     case PIPE_FORMAT_R16G16B16A16_SNORM:        r16g16b16a16_put_tile_rgba((short *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_A8R8G8B8_SRGB: +   case PIPE_FORMAT_B8G8R8A8_SRGB:        a8r8g8b8_srgb_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);        break; -   case PIPE_FORMAT_A8L8_SRGB: +   case PIPE_FORMAT_L8A8_SRGB:        a8l8_srgb_put_tile_rgba((ushort *) packed, w, h, p, src_stride);        break;     case PIPE_FORMAT_L8_SRGB: @@ -1348,12 +1348,12 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,     case PIPE_FORMAT_Z32_UNORM:        /*z32_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);*/        break; -   case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: -      /*s8z24_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);*/ -      break;     case PIPE_FORMAT_Z24S8_UNORM:     case PIPE_FORMAT_Z24X8_UNORM: +      /*s8z24_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);*/ +      break; +   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        /*z24s8_put_tile_rgba((unsigned *) packed, w, h, p, src_stride);*/        break;     default: @@ -1405,8 +1405,8 @@ pipe_get_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:        {           const uint *ptrc              = (const uint *)(map + y * pt->stride + x*4); @@ -1420,8 +1420,8 @@ pipe_get_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_Z24S8_UNORM: -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        {           const uint *ptrc              = (const uint *)(map + y * pt->stride + x*4); @@ -1489,7 +1489,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        {           uint *pDest = (uint *) (map + y * pt->stride + x*4);           assert((pt->usage & PIPE_TRANSFER_READ_WRITE) == PIPE_TRANSFER_READ_WRITE); @@ -1503,7 +1503,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:        {           uint *pDest = (uint *) (map + y * pt->stride + x*4);           for (i = 0; i < h; i++) { @@ -1516,7 +1516,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        {           uint *pDest = (uint *) (map + y * pt->stride + x*4);           assert((pt->usage & PIPE_TRANSFER_READ_WRITE) == PIPE_TRANSFER_READ_WRITE); @@ -1530,7 +1530,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,           }        }        break; -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        {           uint *pDest = (uint *) (map + y * pt->stride + x*4);           for (i = 0; i < h; i++) { diff --git a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c index 70683bb367..576d514741 100644 --- a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c +++ b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c @@ -304,7 +304,7 @@ unpack_colors(struct spe_function *f,     spe_comment(f, 0, "Unpack framebuffer colors, convert to floats");     switch (color_format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        /* fbB = fbRGBA & mask */        spe_and(f, fbB_reg, fbRGBA_reg, mask0_reg); @@ -327,7 +327,7 @@ unpack_colors(struct spe_function *f,        spe_roti(f, fbA_reg, fbA_reg, -24);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        /* fbA = fbRGBA & mask */        spe_and(f, fbA_reg, fbRGBA_reg, mask0_reg); @@ -1043,12 +1043,12 @@ gen_pack_colors(struct spe_function *f,     spe_rotmi(f, a_reg, a_reg, -24);     /* Shift the color bytes according to the surface format */ -   if (color_format == PIPE_FORMAT_A8R8G8B8_UNORM) { +   if (color_format == PIPE_FORMAT_B8G8R8A8_UNORM) {        spe_roti(f, g_reg, g_reg, 8);   /* green <<= 8 */        spe_roti(f, r_reg, r_reg, 16);  /* red <<= 16 */        spe_roti(f, a_reg, a_reg, 24);  /* alpha <<= 24 */     } -   else if (color_format == PIPE_FORMAT_B8G8R8A8_UNORM) { +   else if (color_format == PIPE_FORMAT_A8R8G8B8_UNORM) {        spe_roti(f, r_reg, r_reg, 8);   /* red <<= 8 */        spe_roti(f, g_reg, g_reg, 16);  /* green <<= 16 */        spe_roti(f, b_reg, b_reg, 24);  /* blue <<= 24 */ @@ -1096,14 +1096,14 @@ gen_colormask(struct spe_function *f,      * end up, so we can mask them correctly.      */     switch(color_format) { -      case PIPE_FORMAT_A8R8G8B8_UNORM: +      case PIPE_FORMAT_B8G8R8A8_UNORM:           /* ARGB */           a_mask = 0xff000000;           r_mask = 0x00ff0000;           g_mask = 0x0000ff00;           b_mask = 0x000000ff;           break; -      case PIPE_FORMAT_B8G8R8A8_UNORM: +      case PIPE_FORMAT_A8R8G8B8_UNORM:           /* BGRA */           b_mask = 0xff000000;           g_mask = 0x00ff0000; @@ -1859,8 +1859,8 @@ gen_depth_stencil(struct cell_context *cell,     spe_comment(f, 0, "Fetch Z/stencil quad from tile");     switch(zs_format) { -   case PIPE_FORMAT_S8Z24_UNORM: /* fall through */ -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM: /* fall through */ +   case PIPE_FORMAT_Z24X8_UNORM:        /* prepare mask to extract Z vals from ZS vals */        spe_load_uint(f, zmask_reg, 0x00ffffff); @@ -1880,8 +1880,8 @@ gen_depth_stencil(struct cell_context *cell,        spe_rotmi(f, fbS_reg, fbZS_reg, -24);        break; -   case PIPE_FORMAT_Z24S8_UNORM: /* fall through */ -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM: /* fall through */ +   case PIPE_FORMAT_X8Z24_UNORM:        /* convert fragment Z from [0,1] to 32-bit ints */        spe_cfltu(f, fragZ_reg, fragZ_reg, 32); @@ -1969,13 +1969,13 @@ gen_depth_stencil(struct cell_context *cell,         * fbS_reg has four 8-bit Z values in bits [7..0].         */        spe_comment(f, 0, "Store quad's depth/stencil values in tile"); -      if (zs_format == PIPE_FORMAT_S8Z24_UNORM || -          zs_format == PIPE_FORMAT_X8Z24_UNORM) { +      if (zs_format == PIPE_FORMAT_Z24S8_UNORM || +          zs_format == PIPE_FORMAT_Z24X8_UNORM) {           spe_shli(f, fbS_reg, fbS_reg, 24); /* fbS = fbS << 24 */           spe_or(f, fbZS_reg, fbS_reg, fbZ_reg); /* fbZS = fbS | fbZ */        } -      else if (zs_format == PIPE_FORMAT_Z24S8_UNORM || -               zs_format == PIPE_FORMAT_Z24X8_UNORM) { +      else if (zs_format == PIPE_FORMAT_S8Z24_UNORM || +               zs_format == PIPE_FORMAT_X8Z24_UNORM) {           spe_shli(f, fbZ_reg, fbZ_reg, 8); /* fbZ = fbZ << 8 */           spe_or(f, fbZS_reg, fbS_reg, fbZ_reg); /* fbZS = fbS | fbZ */        } @@ -2015,7 +2015,7 @@ gen_depth_stencil(struct cell_context *cell,   * code before the fragment shader to cull fragments/quads that are   * totally occluded/discarded.   * - * XXX we only support PIPE_FORMAT_Z24S8_UNORM z/stencil buffer right now. + * XXX we only support PIPE_FORMAT_S8Z24_UNORM z/stencil buffer right now.   *   * See the spu_default_fragment_ops() function to see how the per-fragment   * operations would be done with ordinary C code. diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index 449855f539..a43f8638dc 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -136,7 +136,7 @@ cell_is_format_supported( struct pipe_screen *screen,  {     /* cell supports most formats, XXX for now anyway */     if (format == PIPE_FORMAT_DXT5_RGBA || -       format == PIPE_FORMAT_R8G8B8A8_SRGB) +       format == PIPE_FORMAT_A8B8G8R8_SRGB)        return FALSE;     else        return TRUE; diff --git a/src/gallium/drivers/cell/ppu/cell_state_per_fragment.c b/src/gallium/drivers/cell/ppu/cell_state_per_fragment.c index 07be5e92ea..dc33e7ccc2 100644 --- a/src/gallium/drivers/cell/ppu/cell_state_per_fragment.c +++ b/src/gallium/drivers/cell/ppu/cell_state_per_fragment.c @@ -1251,7 +1251,7 @@ cell_generate_logic_op(struct spe_function *f,     /* Convert fragment colors to framebuffer format in AoS layout.      */     switch (surf->format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        data[0] = 0x00010203;        data[1] = 0x10111213;        data[2] = 0x04050607; @@ -1261,7 +1261,7 @@ cell_generate_logic_op(struct spe_function *f,        data[6] = 0x80808080;        data[7] = 0x80808080;        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        data[0] = 0x03020100;        data[1] = 0x13121110;        data[2] = 0x07060504; diff --git a/src/gallium/drivers/cell/spu/spu_command.c b/src/gallium/drivers/cell/spu/spu_command.c index 55bd85bde2..79f1fb7fb2 100644 --- a/src/gallium/drivers/cell/spu/spu_command.c +++ b/src/gallium/drivers/cell/spu/spu_command.c @@ -337,10 +337,10 @@ cmd_state_framebuffer(const struct cell_command_framebuffer *cmd)        spu.fb.zsize = 4;        spu.fb.zscale = (float) 0xffffffffu;        break; -   case PIPE_FORMAT_Z24S8_UNORM:     case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:     case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:        spu.fb.zsize = 4;        spu.fb.zscale = (float) 0x00ffffffu;        break; diff --git a/src/gallium/drivers/cell/spu/spu_per_fragment_op.c b/src/gallium/drivers/cell/spu/spu_per_fragment_op.c index 5328374080..2c9e7458af 100644 --- a/src/gallium/drivers/cell/spu/spu_per_fragment_op.c +++ b/src/gallium/drivers/cell/spu/spu_per_fragment_op.c @@ -138,14 +138,14 @@ spu_fallback_fragment_ops(uint x, uint y,        if (spu.depth_stencil_alpha.stencil[0].enabled) {           /* do stencil test */ -         ASSERT(spu.fb.depth_format == PIPE_FORMAT_S8Z24_UNORM); +         ASSERT(spu.fb.depth_format == PIPE_FORMAT_Z24S8_UNORM);        }        else if (spu.depth_stencil_alpha.depth.enabled) {           /* do depth test */ -         ASSERT(spu.fb.depth_format == PIPE_FORMAT_S8Z24_UNORM || -                spu.fb.depth_format == PIPE_FORMAT_X8Z24_UNORM); +         ASSERT(spu.fb.depth_format == PIPE_FORMAT_Z24S8_UNORM || +                spu.fb.depth_format == PIPE_FORMAT_Z24X8_UNORM);           vector unsigned int ifragZ;           vector unsigned int zmask; @@ -240,13 +240,13 @@ spu_fallback_fragment_ops(uint x, uint y,        {           vector float temp[4]; /* float colors in AOS form */           switch (spu.fb.color_format) { -         case PIPE_FORMAT_B8G8R8A8_UNORM: +         case PIPE_FORMAT_A8R8G8B8_UNORM:              temp[0] = spu_unpack_B8G8R8A8(fbc0);              temp[1] = spu_unpack_B8G8R8A8(fbc1);              temp[2] = spu_unpack_B8G8R8A8(fbc2);              temp[3] = spu_unpack_B8G8R8A8(fbc3);              break; -         case PIPE_FORMAT_A8R8G8B8_UNORM: +         case PIPE_FORMAT_B8G8R8A8_UNORM:              temp[0] = spu_unpack_A8R8G8B8(fbc0);              temp[1] = spu_unpack_A8R8G8B8(fbc1);              temp[2] = spu_unpack_A8R8G8B8(fbc2); @@ -506,13 +506,13 @@ spu_fallback_fragment_ops(uint x, uint y,      * Pack fragment float colors into 32-bit RGBA words.      */     switch (spu.fb.color_format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        fragc0 = spu_pack_A8R8G8B8(frag_aos[0]);        fragc1 = spu_pack_A8R8G8B8(frag_aos[1]);        fragc2 = spu_pack_A8R8G8B8(frag_aos[2]);        fragc3 = spu_pack_A8R8G8B8(frag_aos[3]);        break; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        fragc0 = spu_pack_B8G8R8A8(frag_aos[0]);        fragc1 = spu_pack_B8G8R8A8(frag_aos[1]);        fragc2 = spu_pack_B8G8R8A8(frag_aos[2]); @@ -532,7 +532,7 @@ spu_fallback_fragment_ops(uint x, uint y,        /* Form bitmask depending on color buffer format and colormask bits */        switch (spu.fb.color_format) { -      case PIPE_FORMAT_A8R8G8B8_UNORM: +      case PIPE_FORMAT_B8G8R8A8_UNORM:           if (spu.blend.rt[0].colormask & PIPE_MASK_R)              cmask |= 0x00ff0000; /* red */           if (spu.blend.rt[0].colormask & PIPE_MASK_G) @@ -542,7 +542,7 @@ spu_fallback_fragment_ops(uint x, uint y,           if (spu.blend.rt[0].colormask & PIPE_MASK_A)              cmask |= 0xff000000; /* alpha */           break; -      case PIPE_FORMAT_B8G8R8A8_UNORM: +      case PIPE_FORMAT_A8R8G8B8_UNORM:           if (spu.blend.rt[0].colormask & PIPE_MASK_R)              cmask |= 0x0000ff00; /* red */           if (spu.blend.rt[0].colormask & PIPE_MASK_G) diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index b1d754dc4e..72bd263550 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -165,22 +165,22 @@ i915_is_format_supported(struct pipe_screen *screen,                           unsigned geom_flags)  {     static const enum pipe_format tex_supported[] = { -      PIPE_FORMAT_R8G8B8A8_UNORM, -      PIPE_FORMAT_A8R8G8B8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM, +      PIPE_FORMAT_A8B8G8R8_UNORM, +      PIPE_FORMAT_B8G8R8A8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM,        PIPE_FORMAT_L8_UNORM,        PIPE_FORMAT_A8_UNORM,        PIPE_FORMAT_I8_UNORM, -      PIPE_FORMAT_A8L8_UNORM, -      PIPE_FORMAT_YCBCR, -      PIPE_FORMAT_YCBCR_REV, -      PIPE_FORMAT_S8Z24_UNORM, +      PIPE_FORMAT_L8A8_UNORM, +      PIPE_FORMAT_UYVY, +      PIPE_FORMAT_YUYV, +      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_NONE  /* list terminator */     };     static const enum pipe_format surface_supported[] = { -      PIPE_FORMAT_A8R8G8B8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM, -      PIPE_FORMAT_S8Z24_UNORM, +      PIPE_FORMAT_B8G8R8A8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM, +      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_NONE  /* list terminator */     };     const enum pipe_format *list; diff --git a/src/gallium/drivers/i915/i915_state_emit.c b/src/gallium/drivers/i915/i915_state_emit.c index ecbcabb440..51f0ef12ba 100644 --- a/src/gallium/drivers/i915/i915_state_emit.c +++ b/src/gallium/drivers/i915/i915_state_emit.c @@ -37,9 +37,9 @@  static unsigned translate_format( enum pipe_format format )  {     switch (format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return COLOR_BUF_ARGB8888; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return COLOR_BUF_RGB565;     default:        assert(0); @@ -50,7 +50,7 @@ static unsigned translate_format( enum pipe_format format )  static unsigned translate_depth_format( enum pipe_format zformat )  {     switch (zformat) { -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        return DEPTH_FRMT_24_FIXED_8_OTHER;     case PIPE_FORMAT_Z16_UNORM:        return DEPTH_FRMT_16_FIXED; @@ -260,7 +260,7 @@ i915_emit_hardware_state(struct i915_context *i915 )           if (cbuf_surface)              cformat = cbuf_surface->format;           else -            cformat = PIPE_FORMAT_A8R8G8B8_UNORM; /* arbitrary */ +            cformat = PIPE_FORMAT_B8G8R8A8_UNORM; /* arbitrary */           cformat = translate_format(cformat);           if (depth_surface)  diff --git a/src/gallium/drivers/i915/i915_state_sampler.c b/src/gallium/drivers/i915/i915_state_sampler.c index e5c6d87215..9813290b51 100644 --- a/src/gallium/drivers/i915/i915_state_sampler.c +++ b/src/gallium/drivers/i915/i915_state_sampler.c @@ -87,8 +87,8 @@ static void update_sampler(struct i915_context *i915,     state[1] = sampler->state[1];     state[2] = sampler->state[2]; -   if (pt->format == PIPE_FORMAT_YCBCR || -       pt->format == PIPE_FORMAT_YCBCR_REV) +   if (pt->format == PIPE_FORMAT_UYVY || +       pt->format == PIPE_FORMAT_YUYV)        state[0] |= SS2_COLORSPACE_CONVERSION;     /* 3D textures don't seem to respect the border color. @@ -180,19 +180,19 @@ translate_texture_format(enum pipe_format pipeFormat)        return MAPSURF_8BIT | MT_8BIT_I8;     case PIPE_FORMAT_A8_UNORM:        return MAPSURF_8BIT | MT_8BIT_A8; -   case PIPE_FORMAT_A8L8_UNORM: +   case PIPE_FORMAT_L8A8_UNORM:        return MAPSURF_16BIT | MT_16BIT_AY88; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return MAPSURF_16BIT | MT_16BIT_RGB565; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        return MAPSURF_16BIT | MT_16BIT_ARGB1555; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        return MAPSURF_16BIT | MT_16BIT_ARGB4444; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return MAPSURF_32BIT | MT_32BIT_ARGB8888; -   case PIPE_FORMAT_YCBCR_REV: +   case PIPE_FORMAT_YUYV:        return (MAPSURF_422 | MT_422_YCRCB_NORMAL); -   case PIPE_FORMAT_YCBCR: +   case PIPE_FORMAT_UYVY:        return (MAPSURF_422 | MT_422_YCRCB_SWAPY);  #if 0     case PIPE_FORMAT_RGB_FXT1: @@ -210,7 +210,7 @@ translate_texture_format(enum pipe_format pipeFormat)     case PIPE_FORMAT_RGBA_DXT5:        return (MAPSURF_COMPRESSED | MT_COMPRESS_DXT4_5);  #endif -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        return (MAPSURF_32BIT | MT_32BIT_xI824);     default:        debug_printf("i915: translate_texture_format() bad image format %x\n", diff --git a/src/gallium/drivers/i965/brw_misc_state.c b/src/gallium/drivers/i965/brw_misc_state.c index e4b24229db..e3f25bdf62 100644 --- a/src/gallium/drivers/i965/brw_misc_state.c +++ b/src/gallium/drivers/i965/brw_misc_state.c @@ -265,8 +265,8 @@ static int emit_depthbuffer(struct brw_context *brw)  	 format = BRW_DEPTHFORMAT_D16_UNORM;  	 cpp = 2;  	 break; -      case PIPE_FORMAT_X8Z24_UNORM: -      case PIPE_FORMAT_S8Z24_UNORM: +      case PIPE_FORMAT_Z24X8_UNORM: +      case PIPE_FORMAT_Z24S8_UNORM:  	 format = BRW_DEPTHFORMAT_D24_UNORM_S8_UINT;  	 cpp = 4;  	 break; diff --git a/src/gallium/drivers/i965/brw_pipe_clear.c b/src/gallium/drivers/i965/brw_pipe_clear.c index 452e1e89f9..d7048f769b 100644 --- a/src/gallium/drivers/i965/brw_pipe_clear.c +++ b/src/gallium/drivers/i965/brw_pipe_clear.c @@ -139,8 +139,8 @@ static void zstencil_clear(struct brw_context *brw,     unsigned value;     switch (bsurface->base.format) { -   case PIPE_FORMAT_X8Z24_UNORM: -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        value = ((unsigned)(depth * MASK24) & MASK24);        break;     case PIPE_FORMAT_Z16_UNORM: @@ -152,8 +152,8 @@ static void zstencil_clear(struct brw_context *brw,     }     switch (bsurface->base.format) { -   case PIPE_FORMAT_X8Z24_UNORM: -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        value = value | (stencil << 24);        break; diff --git a/src/gallium/drivers/i965/brw_screen.c b/src/gallium/drivers/i965/brw_screen.c index b03a782a2f..66f3aad8b2 100644 --- a/src/gallium/drivers/i965/brw_screen.c +++ b/src/gallium/drivers/i965/brw_screen.c @@ -229,15 +229,15 @@ brw_is_format_supported(struct pipe_screen *screen,        PIPE_FORMAT_L16_UNORM,        /*PIPE_FORMAT_I16_UNORM,*/        /*PIPE_FORMAT_A16_UNORM,*/ -      PIPE_FORMAT_A8L8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM, -      PIPE_FORMAT_A1R5G5B5_UNORM, -      PIPE_FORMAT_A4R4G4B4_UNORM, -      PIPE_FORMAT_X8R8G8B8_UNORM, -      PIPE_FORMAT_A8R8G8B8_UNORM, +      PIPE_FORMAT_L8A8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM, +      PIPE_FORMAT_B5G5R5A1_UNORM, +      PIPE_FORMAT_B4G4R4A4_UNORM, +      PIPE_FORMAT_B8G8R8X8_UNORM, +      PIPE_FORMAT_B8G8R8A8_UNORM,        /* video */ -      PIPE_FORMAT_YCBCR, -      PIPE_FORMAT_YCBCR_REV, +      PIPE_FORMAT_UYVY, +      PIPE_FORMAT_YUYV,        /* compressed */        /*PIPE_FORMAT_FXT1_RGBA,*/        PIPE_FORMAT_DXT1_RGB, @@ -245,14 +245,14 @@ brw_is_format_supported(struct pipe_screen *screen,        PIPE_FORMAT_DXT3_RGBA,        PIPE_FORMAT_DXT5_RGBA,        /* sRGB */ -      PIPE_FORMAT_R8G8B8A8_SRGB, -      PIPE_FORMAT_A8L8_SRGB, +      PIPE_FORMAT_A8B8G8R8_SRGB, +      PIPE_FORMAT_L8A8_SRGB,        PIPE_FORMAT_L8_SRGB,        PIPE_FORMAT_DXT1_SRGB,        /* depth */        PIPE_FORMAT_Z32_FLOAT, -      PIPE_FORMAT_X8Z24_UNORM, -      PIPE_FORMAT_S8Z24_UNORM, +      PIPE_FORMAT_Z24X8_UNORM, +      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_Z16_UNORM,        /* signed */        PIPE_FORMAT_R8G8_SNORM, @@ -260,15 +260,15 @@ brw_is_format_supported(struct pipe_screen *screen,        PIPE_FORMAT_NONE  /* list terminator */     };     static const enum pipe_format render_supported[] = { -      PIPE_FORMAT_X8R8G8B8_UNORM, -      PIPE_FORMAT_A8R8G8B8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM, +      PIPE_FORMAT_B8G8R8X8_UNORM, +      PIPE_FORMAT_B8G8R8A8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM,        PIPE_FORMAT_NONE  /* list terminator */     };     static const enum pipe_format depth_supported[] = {        PIPE_FORMAT_Z32_FLOAT, -      PIPE_FORMAT_X8Z24_UNORM, -      PIPE_FORMAT_S8Z24_UNORM, +      PIPE_FORMAT_Z24X8_UNORM, +      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_Z16_UNORM,        PIPE_FORMAT_NONE  /* list terminator */     }; diff --git a/src/gallium/drivers/i965/brw_screen_texture.c b/src/gallium/drivers/i965/brw_screen_texture.c index 38e9961398..e38fdf1869 100644 --- a/src/gallium/drivers/i965/brw_screen_texture.c +++ b/src/gallium/drivers/i965/brw_screen_texture.c @@ -85,32 +85,32 @@ static GLuint translate_tex_format( enum pipe_format pf )        return BRW_SURFACEFORMAT_A16_UNORM;         */ -   case PIPE_FORMAT_A8L8_UNORM: +   case PIPE_FORMAT_L8A8_UNORM:        return BRW_SURFACEFORMAT_L8A8_UNORM; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return BRW_SURFACEFORMAT_B5G6R5_UNORM; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        return BRW_SURFACEFORMAT_B5G5R5A1_UNORM; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        return BRW_SURFACEFORMAT_B4G4R4A4_UNORM; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        return BRW_SURFACEFORMAT_R8G8B8X8_UNORM; -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;     /*      * Video formats      */ -   case PIPE_FORMAT_YCBCR_REV: +   case PIPE_FORMAT_YUYV:        return BRW_SURFACEFORMAT_YCRCB_NORMAL; -   case PIPE_FORMAT_YCBCR: +   case PIPE_FORMAT_UYVY:        return BRW_SURFACEFORMAT_YCRCB_SWAPUVY;     /* @@ -137,10 +137,10 @@ static GLuint translate_tex_format( enum pipe_format pf )      * sRGB formats      */ -   case PIPE_FORMAT_R8G8B8A8_SRGB: +   case PIPE_FORMAT_A8B8G8R8_SRGB:        return BRW_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB; -   case PIPE_FORMAT_A8L8_SRGB: +   case PIPE_FORMAT_L8A8_SRGB:        return BRW_SURFACEFORMAT_L8A8_UNORM_SRGB;     case PIPE_FORMAT_L8_SRGB: @@ -156,8 +156,8 @@ static GLuint translate_tex_format( enum pipe_format pf )     case PIPE_FORMAT_Z16_UNORM:           return BRW_SURFACEFORMAT_I16_UNORM; -   case PIPE_FORMAT_S8Z24_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:           return BRW_SURFACEFORMAT_I24X8_UNORM;     case PIPE_FORMAT_Z32_FLOAT: diff --git a/src/gallium/drivers/i965/brw_wm.c b/src/gallium/drivers/i965/brw_wm.c index 5164c90ed6..dfb718e64f 100644 --- a/src/gallium/drivers/i965/brw_wm.c +++ b/src/gallium/drivers/i965/brw_wm.c @@ -254,10 +254,10 @@ static void brw_wm_populate_key( struct brw_context *brw,     for (i = 0; i < brw->curr.num_textures; i++) {        const struct brw_texture *tex = brw_texture(brw->curr.texture[i]); -      if (tex->base.format == PIPE_FORMAT_YCBCR) +      if (tex->base.format == PIPE_FORMAT_UYVY)  	 key->yuvtex_mask |= 1 << i; -      if (tex->base.format == PIPE_FORMAT_YCBCR_REV) +      if (tex->base.format == PIPE_FORMAT_YUYV)  	 key->yuvtex_swap_mask |= 1 << i;        /* XXX: shadow texture diff --git a/src/gallium/drivers/llvmpipe/lp_test_format.c b/src/gallium/drivers/llvmpipe/lp_test_format.c index 48828bd0a0..d05157991b 100644 --- a/src/gallium/drivers/llvmpipe/lp_test_format.c +++ b/src/gallium/drivers/llvmpipe/lp_test_format.c @@ -52,25 +52,25 @@ struct pixel_test_case  struct pixel_test_case test_cases[] =  { -   {PIPE_FORMAT_R5G6B5_UNORM,   0x0000, {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM,   0x001f, {0.0, 0.0, 1.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM,   0x07e0, {0.0, 1.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM,   0xf800, {1.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_R5G6B5_UNORM,   0xffff, {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM,   0x0000, {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM,   0x001f, {0.0, 0.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM,   0x07e0, {0.0, 1.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM,   0xf800, {1.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G6R5_UNORM,   0xffff, {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0x0000, {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0x001f, {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0x03e0, {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0x7c00, {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0x8000, {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A1R5G5B5_UNORM, 0xffff, {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0x0000, {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0x001f, {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0x03e0, {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0x7c00, {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0x8000, {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B5G5R5A1_UNORM, 0xffff, {1.0, 1.0, 1.0, 1.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x00000000, {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x000000ff, {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x0000ff00, {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x00ff0000, {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0xff000000, {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_A8R8G8B8_UNORM, 0xffffffff, {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x00000000, {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x000000ff, {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x0000ff00, {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x00ff0000, {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0xff000000, {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_B8G8R8A8_UNORM, 0xffffffff, {1.0, 1.0, 1.0, 1.0}},  #if 0     {PIPE_FORMAT_R8G8B8A8_UNORM, 0x00000000, {0.0, 0.0, 0.0, 0.0}}, @@ -81,12 +81,12 @@ struct pixel_test_case test_cases[] =     {PIPE_FORMAT_R8G8B8A8_UNORM, 0xffffffff, {1.0, 1.0, 1.0, 1.0}},  #endif -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x00000000, {0.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x000000ff, {0.0, 0.0, 0.0, 1.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x0000ff00, {1.0, 0.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0x00ff0000, {0.0, 1.0, 0.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0xff000000, {0.0, 0.0, 1.0, 0.0}}, -   {PIPE_FORMAT_B8G8R8A8_UNORM, 0xffffffff, {1.0, 1.0, 1.0, 1.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x00000000, {0.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x000000ff, {0.0, 0.0, 0.0, 1.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x0000ff00, {1.0, 0.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0x00ff0000, {0.0, 1.0, 0.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0xff000000, {0.0, 0.0, 1.0, 0.0}}, +   {PIPE_FORMAT_A8R8G8B8_UNORM, 0xffffffff, {1.0, 1.0, 1.0, 1.0}},  }; diff --git a/src/gallium/drivers/nouveau/nv04_surface_2d.c b/src/gallium/drivers/nouveau/nv04_surface_2d.c index 42c2ca932d..b074547c4d 100644 --- a/src/gallium/drivers/nouveau/nv04_surface_2d.c +++ b/src/gallium/drivers/nouveau/nv04_surface_2d.c @@ -18,15 +18,15 @@ nv04_surface_format(enum pipe_format format)  	case PIPE_FORMAT_I8_UNORM:  		return NV04_CONTEXT_SURFACES_2D_FORMAT_Y8;  	case PIPE_FORMAT_R16_SNORM: -	case PIPE_FORMAT_R5G6B5_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM:  	case PIPE_FORMAT_Z16_UNORM: -	case PIPE_FORMAT_A8L8_UNORM: +	case PIPE_FORMAT_L8A8_UNORM:  		return NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5; -	case PIPE_FORMAT_X8R8G8B8_UNORM: -	case PIPE_FORMAT_A8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM:  		return NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8; -	case PIPE_FORMAT_Z24S8_UNORM: -	case PIPE_FORMAT_Z24X8_UNORM: +	case PIPE_FORMAT_S8Z24_UNORM: +	case PIPE_FORMAT_X8Z24_UNORM:  		return NV04_CONTEXT_SURFACES_2D_FORMAT_Y32;  	default:  		return -1; @@ -39,14 +39,14 @@ nv04_rect_format(enum pipe_format format)  	switch (format) {  	case PIPE_FORMAT_A8_UNORM:  		return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8; -	case PIPE_FORMAT_R5G6B5_UNORM: -	case PIPE_FORMAT_A8L8_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM: +	case PIPE_FORMAT_L8A8_UNORM:  	case PIPE_FORMAT_Z16_UNORM:  		return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5; -	case PIPE_FORMAT_X8R8G8B8_UNORM: -	case PIPE_FORMAT_A8R8G8B8_UNORM: -	case PIPE_FORMAT_Z24S8_UNORM: -	case PIPE_FORMAT_Z24X8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM: +	case PIPE_FORMAT_S8Z24_UNORM: +	case PIPE_FORMAT_X8Z24_UNORM:  		return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8;  	default:  		return -1; @@ -61,15 +61,15 @@ nv04_scaled_image_format(enum pipe_format format)  	case PIPE_FORMAT_L8_UNORM:  	case PIPE_FORMAT_I8_UNORM:  		return NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8; -	case PIPE_FORMAT_A1R5G5B5_UNORM: +	case PIPE_FORMAT_B5G5R5A1_UNORM:  		return NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5; -	case PIPE_FORMAT_A8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM:  		return NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8; -	case PIPE_FORMAT_X8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM:  		return NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8; -	case PIPE_FORMAT_R5G6B5_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM:  	case PIPE_FORMAT_R16_SNORM: -	case PIPE_FORMAT_A8L8_UNORM: +	case PIPE_FORMAT_L8A8_UNORM:  		return NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5;  	default:  		return -1; diff --git a/src/gallium/drivers/nv30/nv30_miptree.c b/src/gallium/drivers/nv30/nv30_miptree.c index c29c36e20a..697b1b92ff 100644 --- a/src/gallium/drivers/nv30/nv30_miptree.c +++ b/src/gallium/drivers/nv30/nv30_miptree.c @@ -88,11 +88,11 @@ nv30_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)  	else {  		switch (pt->format) {  		/* TODO: Figure out which formats can be swizzled */ -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_X8R8G8B8_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B8G8R8X8_UNORM:  		case PIPE_FORMAT_R16_SNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: -		case PIPE_FORMAT_A8L8_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM: +		case PIPE_FORMAT_L8A8_UNORM:  		case PIPE_FORMAT_A8_UNORM:  		case PIPE_FORMAT_L8_UNORM:  		case PIPE_FORMAT_I8_UNORM: diff --git a/src/gallium/drivers/nv30/nv30_screen.c b/src/gallium/drivers/nv30/nv30_screen.c index aef37d303d..85433d2095 100644 --- a/src/gallium/drivers/nv30/nv30_screen.c +++ b/src/gallium/drivers/nv30/nv30_screen.c @@ -112,8 +112,8 @@ nv30_screen_surface_format_supported(struct pipe_screen *pscreen,  	if (tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) {  		switch (format) { -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:  			return TRUE;  		default:  			break; @@ -121,12 +121,12 @@ nv30_screen_surface_format_supported(struct pipe_screen *pscreen,  	} else  	if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {  		switch (format) { -		case PIPE_FORMAT_Z24S8_UNORM: -		case PIPE_FORMAT_Z24X8_UNORM: +		case PIPE_FORMAT_S8Z24_UNORM: +		case PIPE_FORMAT_X8Z24_UNORM:  			return TRUE;  		case PIPE_FORMAT_Z16_UNORM:  			if (front) { -				return (front->format == PIPE_FORMAT_R5G6B5_UNORM); +				return (front->format == PIPE_FORMAT_B5G6R5_UNORM);  			}  			return TRUE;  		default: @@ -134,16 +134,16 @@ nv30_screen_surface_format_supported(struct pipe_screen *pscreen,  		}  	} else {  		switch (format) { -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_A1R5G5B5_UNORM: -		case PIPE_FORMAT_A4R4G4B4_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B5G5R5A1_UNORM: +		case PIPE_FORMAT_B4G4R4A4_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:  		case PIPE_FORMAT_L8_UNORM:  		case PIPE_FORMAT_A8_UNORM:  		case PIPE_FORMAT_I8_UNORM: -		case PIPE_FORMAT_A8L8_UNORM: +		case PIPE_FORMAT_L8A8_UNORM:  		case PIPE_FORMAT_Z16_UNORM: -		case PIPE_FORMAT_Z24S8_UNORM: +		case PIPE_FORMAT_S8Z24_UNORM:  			return TRUE;  		default:  			break; diff --git a/src/gallium/drivers/nv30/nv30_state_fb.c b/src/gallium/drivers/nv30/nv30_state_fb.c index 2ed2ea55e8..f7fe9833c7 100644 --- a/src/gallium/drivers/nv30/nv30_state_fb.c +++ b/src/gallium/drivers/nv30/nv30_state_fb.c @@ -66,14 +66,14 @@ nv30_state_framebuffer_validate(struct nv30_context *nv30)  	}  	switch (colour_format) { -	case PIPE_FORMAT_X8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM:  		rt_format |= NV34TCL_RT_FORMAT_COLOR_X8R8G8B8;  		break; -	case PIPE_FORMAT_A8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM:  	case 0:  		rt_format |= NV34TCL_RT_FORMAT_COLOR_A8R8G8B8;  		break; -	case PIPE_FORMAT_R5G6B5_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM:  		rt_format |= NV34TCL_RT_FORMAT_COLOR_R5G6B5;  		colour_bits = 16;  		break; @@ -86,8 +86,8 @@ nv30_state_framebuffer_validate(struct nv30_context *nv30)  		rt_format |= NV34TCL_RT_FORMAT_ZETA_Z16;  		zeta_bits = 16;  		break; -	case PIPE_FORMAT_Z24S8_UNORM: -	case PIPE_FORMAT_Z24X8_UNORM: +	case PIPE_FORMAT_S8Z24_UNORM: +	case PIPE_FORMAT_X8Z24_UNORM:  	case 0:  		rt_format |= NV34TCL_RT_FORMAT_ZETA_Z24S8;  		break; diff --git a/src/gallium/drivers/nv40/nv40_miptree.c b/src/gallium/drivers/nv40/nv40_miptree.c index ad1a9a5195..85d7e1f197 100644 --- a/src/gallium/drivers/nv40/nv40_miptree.c +++ b/src/gallium/drivers/nv40/nv40_miptree.c @@ -90,8 +90,8 @@ nv40_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)  	else {  		switch (pt->format) {  		/* TODO: Figure out which formats can be swizzled */ -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_X8R8G8B8_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B8G8R8X8_UNORM:  		case PIPE_FORMAT_R16_SNORM:  		{  			if (debug_get_bool_option("NOUVEAU_NO_SWIZZLE", FALSE)) diff --git a/src/gallium/drivers/nv40/nv40_screen.c b/src/gallium/drivers/nv40/nv40_screen.c index edee4b9a3a..b216c5e38c 100644 --- a/src/gallium/drivers/nv40/nv40_screen.c +++ b/src/gallium/drivers/nv40/nv40_screen.c @@ -98,8 +98,8 @@ nv40_screen_surface_format_supported(struct pipe_screen *pscreen,  {  	if (tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) {  		switch (format) { -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM:  +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:   			return TRUE;  		default:  			break; @@ -107,8 +107,8 @@ nv40_screen_surface_format_supported(struct pipe_screen *pscreen,  	} else  	if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {  		switch (format) { -		case PIPE_FORMAT_Z24S8_UNORM: -		case PIPE_FORMAT_Z24X8_UNORM: +		case PIPE_FORMAT_S8Z24_UNORM: +		case PIPE_FORMAT_X8Z24_UNORM:  		case PIPE_FORMAT_Z16_UNORM:  			return TRUE;  		default: @@ -116,17 +116,17 @@ nv40_screen_surface_format_supported(struct pipe_screen *pscreen,  		}  	} else {  		switch (format) { -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_A1R5G5B5_UNORM: -		case PIPE_FORMAT_A4R4G4B4_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B5G5R5A1_UNORM: +		case PIPE_FORMAT_B4G4R4A4_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:  		case PIPE_FORMAT_R16_SNORM:  		case PIPE_FORMAT_L8_UNORM:  		case PIPE_FORMAT_A8_UNORM:  		case PIPE_FORMAT_I8_UNORM: -		case PIPE_FORMAT_A8L8_UNORM: +		case PIPE_FORMAT_L8A8_UNORM:  		case PIPE_FORMAT_Z16_UNORM: -		case PIPE_FORMAT_Z24S8_UNORM: +		case PIPE_FORMAT_S8Z24_UNORM:  		case PIPE_FORMAT_DXT1_RGB:  		case PIPE_FORMAT_DXT1_RGBA:  		case PIPE_FORMAT_DXT3_RGBA: diff --git a/src/gallium/drivers/nv40/nv40_state_fb.c b/src/gallium/drivers/nv40/nv40_state_fb.c index a58fe9ddb1..fd3fdfddc0 100644 --- a/src/gallium/drivers/nv40/nv40_state_fb.c +++ b/src/gallium/drivers/nv40/nv40_state_fb.c @@ -57,14 +57,14 @@ nv40_state_framebuffer_validate(struct nv40_context *nv40)  		rt_format = NV40TCL_RT_FORMAT_TYPE_LINEAR;  	switch (colour_format) { -	case PIPE_FORMAT_X8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM:  		rt_format |= NV40TCL_RT_FORMAT_COLOR_X8R8G8B8;  		break; -	case PIPE_FORMAT_A8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM:  	case 0:  		rt_format |= NV40TCL_RT_FORMAT_COLOR_A8R8G8B8;  		break; -	case PIPE_FORMAT_R5G6B5_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM:  		rt_format |= NV40TCL_RT_FORMAT_COLOR_R5G6B5;  		break;  	default: @@ -75,8 +75,8 @@ nv40_state_framebuffer_validate(struct nv40_context *nv40)  	case PIPE_FORMAT_Z16_UNORM:  		rt_format |= NV40TCL_RT_FORMAT_ZETA_Z16;  		break; -	case PIPE_FORMAT_Z24S8_UNORM: -	case PIPE_FORMAT_Z24X8_UNORM: +	case PIPE_FORMAT_S8Z24_UNORM: +	case PIPE_FORMAT_X8Z24_UNORM:  	case 0:  		rt_format |= NV40TCL_RT_FORMAT_ZETA_Z24S8;  		break; diff --git a/src/gallium/drivers/nv50/nv50_miptree.c b/src/gallium/drivers/nv50/nv50_miptree.c index 7297c74a83..3f9d869d7a 100644 --- a/src/gallium/drivers/nv50/nv50_miptree.c +++ b/src/gallium/drivers/nv50/nv50_miptree.c @@ -89,14 +89,14 @@ nv50_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *tmp)  	case PIPE_FORMAT_Z32_FLOAT:  		tile_flags = 0x4800;  		break; -	case PIPE_FORMAT_Z24S8_UNORM: +	case PIPE_FORMAT_S8Z24_UNORM:  		tile_flags = 0x1800;  		break;  	case PIPE_FORMAT_Z16_UNORM:  		tile_flags = 0x6c00;  		break; -	case PIPE_FORMAT_X8Z24_UNORM: -	case PIPE_FORMAT_S8Z24_UNORM: +	case PIPE_FORMAT_Z24X8_UNORM: +	case PIPE_FORMAT_Z24S8_UNORM:  		tile_flags = 0x2800;  		break;  	case PIPE_FORMAT_R32G32B32A32_FLOAT: diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 2232461b9b..eed6031eaf 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -35,9 +35,9 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen,  {  	if (tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) {  		switch (format) { -		case PIPE_FORMAT_X8R8G8B8_UNORM: -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: +		case PIPE_FORMAT_B8G8R8X8_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:  		case PIPE_FORMAT_R16G16B16A16_SNORM:  		case PIPE_FORMAT_R16G16B16A16_UNORM:  		case PIPE_FORMAT_R32G32B32A32_FLOAT: @@ -51,32 +51,32 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen,  	if (tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {  		switch (format) {  		case PIPE_FORMAT_Z32_FLOAT: -		case PIPE_FORMAT_Z24S8_UNORM: -		case PIPE_FORMAT_X8Z24_UNORM:  		case PIPE_FORMAT_S8Z24_UNORM: +		case PIPE_FORMAT_Z24X8_UNORM: +		case PIPE_FORMAT_Z24S8_UNORM:  			return TRUE;  		default:  			break;  		}  	} else {  		switch (format) { -		case PIPE_FORMAT_A8R8G8B8_UNORM: -		case PIPE_FORMAT_X8R8G8B8_UNORM: -		case PIPE_FORMAT_A8R8G8B8_SRGB: -		case PIPE_FORMAT_X8R8G8B8_SRGB: -		case PIPE_FORMAT_A1R5G5B5_UNORM: -		case PIPE_FORMAT_A4R4G4B4_UNORM: -		case PIPE_FORMAT_R5G6B5_UNORM: +		case PIPE_FORMAT_B8G8R8A8_UNORM: +		case PIPE_FORMAT_B8G8R8X8_UNORM: +		case PIPE_FORMAT_B8G8R8A8_SRGB: +		case PIPE_FORMAT_B8G8R8X8_SRGB: +		case PIPE_FORMAT_B5G5R5A1_UNORM: +		case PIPE_FORMAT_B4G4R4A4_UNORM: +		case PIPE_FORMAT_B5G6R5_UNORM:  		case PIPE_FORMAT_L8_UNORM:  		case PIPE_FORMAT_A8_UNORM:  		case PIPE_FORMAT_I8_UNORM: -		case PIPE_FORMAT_A8L8_UNORM: +		case PIPE_FORMAT_L8A8_UNORM:  		case PIPE_FORMAT_DXT1_RGB:  		case PIPE_FORMAT_DXT1_RGBA:  		case PIPE_FORMAT_DXT3_RGBA:  		case PIPE_FORMAT_DXT5_RGBA: -		case PIPE_FORMAT_Z24S8_UNORM:  		case PIPE_FORMAT_S8Z24_UNORM: +		case PIPE_FORMAT_Z24S8_UNORM:  		case PIPE_FORMAT_Z32_FLOAT:  		case PIPE_FORMAT_R16G16B16A16_SNORM:  		case PIPE_FORMAT_R16G16B16A16_UNORM: diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c index 7405b67414..cabd148bc5 100644 --- a/src/gallium/drivers/nv50/nv50_surface.c +++ b/src/gallium/drivers/nv50/nv50_surface.c @@ -33,11 +33,11 @@ static INLINE int  nv50_format(enum pipe_format format)  {  	switch (format) { -	case PIPE_FORMAT_A8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8A8_UNORM:  		return NV50_2D_DST_FORMAT_A8R8G8B8_UNORM; -	case PIPE_FORMAT_X8R8G8B8_UNORM: +	case PIPE_FORMAT_B8G8R8X8_UNORM:  		return NV50_2D_DST_FORMAT_X8R8G8B8_UNORM; -	case PIPE_FORMAT_R5G6B5_UNORM: +	case PIPE_FORMAT_B5G6R5_UNORM:  		return NV50_2D_DST_FORMAT_R5G6B5_UNORM;  	case PIPE_FORMAT_A8_UNORM:  		return NV50_2D_DST_FORMAT_R8_UNORM; diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 8acb1098b9..513cc0f5d4 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -143,10 +143,10 @@ void r300_surface_copy(struct pipe_context* pipe,                  new_format = PIPE_FORMAT_I8_UNORM;                  break;              case 2: -                new_format = PIPE_FORMAT_A4R4G4B4_UNORM; +                new_format = PIPE_FORMAT_B4G4R4A4_UNORM;                  break;              case 4: -                new_format = PIPE_FORMAT_A8R8G8B8_UNORM; +                new_format = PIPE_FORMAT_B8G8R8A8_UNORM;                  break;              default:                  debug_printf("r300: surface_copy: Unhandled format: %s. Falling back to software.\n" diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 6a55570571..d397a8eb2b 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -210,9 +210,9 @@ static boolean r300_is_format_supported(struct pipe_screen* screen,  {      uint32_t retval = 0;      boolean is_r500 = r300_screen(screen)->caps->is_r500; -    boolean is_z24 = format == PIPE_FORMAT_Z24X8_UNORM || -                     format == PIPE_FORMAT_Z24S8_UNORM; -    boolean is_color2101010 = format == PIPE_FORMAT_A2B10G10R10_UNORM; +    boolean is_z24 = format == PIPE_FORMAT_X8Z24_UNORM || +                     format == PIPE_FORMAT_S8Z24_UNORM; +    boolean is_color2101010 = format == PIPE_FORMAT_R10G10B10A2_UNORM;      if (target >= PIPE_MAX_TEXTURE_TYPES) {          debug_printf("r300: Implementation error: Received bogus texture " diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index b732380a14..a983ec7b5b 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -356,7 +356,7 @@ static void r300_set_blend_color(struct pipe_context* pipe,          (struct r300_blend_color_state*)r300->blend_color_state.state;      union util_color uc; -    util_pack_color(color->color, PIPE_FORMAT_A8R8G8B8_UNORM, &uc); +    util_pack_color(color->color, PIPE_FORMAT_B8G8R8A8_UNORM, &uc);      state->blend_color = uc.ui;      /* XXX if FP16 blending is enabled, we should use the FP16 format */ @@ -868,7 +868,7 @@ static void*      sampler->filter1 |= r300_anisotropy(state->max_anisotropy); -    util_pack_color(state->border_color, PIPE_FORMAT_A8R8G8B8_UNORM, &uc); +    util_pack_color(state->border_color, PIPE_FORMAT_B8G8R8A8_UNORM, &uc);      sampler->border_color = uc.ui;      /* R500-specific fixups and optimizations */ diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c index 2246c75056..44cfe82a57 100644 --- a/src/gallium/drivers/r300/r300_texture.c +++ b/src/gallium/drivers/r300/r300_texture.c @@ -92,8 +92,8 @@ static uint32_t r300_translate_texformat(enum pipe_format format)              switch (format) {                  case PIPE_FORMAT_Z16_UNORM:                      return R300_EASY_TX_FORMAT(X, X, X, X, X16); -                case PIPE_FORMAT_Z24X8_UNORM: -                case PIPE_FORMAT_Z24S8_UNORM: +                case PIPE_FORMAT_X8Z24_UNORM: +                case PIPE_FORMAT_S8Z24_UNORM:                      return R300_EASY_TX_FORMAT(X, X, X, X, W24_FP);                  default:                      return ~0; /* Unsupported. */ @@ -104,9 +104,9 @@ static uint32_t r300_translate_texformat(enum pipe_format format)              result |= R300_TX_FORMAT_YUV_TO_RGB;              switch (format) { -                case PIPE_FORMAT_YCBCR: +                case PIPE_FORMAT_UYVY:                      return R300_EASY_TX_FORMAT(X, Y, Z, ONE, YVYU422) | result; -                case PIPE_FORMAT_YCBCR_REV: +                case PIPE_FORMAT_YUYV:                      return R300_EASY_TX_FORMAT(X, Y, Z, ONE, VYUY422) | result;                  default:                      return ~0; /* Unsupported/unknown. */ @@ -308,33 +308,31 @@ static uint32_t r300_translate_colorformat(enum pipe_format format)              return R300_COLOR_FORMAT_I8;          /* 16-bit buffers. */ -        case PIPE_FORMAT_R5G6B5_UNORM: +        case PIPE_FORMAT_B5G6R5_UNORM:              return R300_COLOR_FORMAT_RGB565; -        case PIPE_FORMAT_A1R5G5B5_UNORM: +        case PIPE_FORMAT_B5G5R5A1_UNORM:              return R300_COLOR_FORMAT_ARGB1555; -        case PIPE_FORMAT_A4R4G4B4_UNORM: +        case PIPE_FORMAT_B4G4R4A4_UNORM:              return R300_COLOR_FORMAT_ARGB4444;          /* 32-bit buffers. */ -        case PIPE_FORMAT_A8R8G8B8_UNORM: -        case PIPE_FORMAT_A8R8G8B8_SRGB: -        case PIPE_FORMAT_X8R8G8B8_UNORM: -        case PIPE_FORMAT_X8R8G8B8_SRGB:          case PIPE_FORMAT_B8G8R8A8_UNORM:          case PIPE_FORMAT_B8G8R8A8_SRGB:          case PIPE_FORMAT_B8G8R8X8_UNORM:          case PIPE_FORMAT_B8G8R8X8_SRGB: -        case PIPE_FORMAT_R8G8B8A8_UNORM: +        case PIPE_FORMAT_A8R8G8B8_UNORM: +        case PIPE_FORMAT_A8R8G8B8_SRGB: +        case PIPE_FORMAT_X8R8G8B8_UNORM: +        case PIPE_FORMAT_X8R8G8B8_SRGB: +        case PIPE_FORMAT_A8B8G8R8_UNORM:          case PIPE_FORMAT_R8G8B8A8_SNORM: -        case PIPE_FORMAT_R8G8B8A8_SRGB: -        case PIPE_FORMAT_R8G8B8X8_UNORM: -        case PIPE_FORMAT_R8G8B8X8_SRGB: +        case PIPE_FORMAT_A8B8G8R8_SRGB: +        case PIPE_FORMAT_X8B8G8R8_UNORM: +        case PIPE_FORMAT_X8B8G8R8_SRGB:          case PIPE_FORMAT_R8G8B8X8_SNORM: -        case PIPE_FORMAT_A8B8G8R8_SNORM: -        case PIPE_FORMAT_X8B8G8R8_SNORM: -        case PIPE_FORMAT_X8UB8UG8SR8S_NORM: +        case PIPE_FORMAT_R8SG8SB8UX8U_NORM:              return R300_COLOR_FORMAT_ARGB8888; -        case PIPE_FORMAT_A2B10G10R10_UNORM: +        case PIPE_FORMAT_R10G10B10A2_UNORM:              return R500_COLOR_FORMAT_ARGB2101010;  /* R5xx-only? */          /* 64-bit buffers. */ @@ -351,9 +349,9 @@ static uint32_t r300_translate_colorformat(enum pipe_format format)  #endif          /* YUV buffers. */ -        case PIPE_FORMAT_YCBCR: +        case PIPE_FORMAT_UYVY:              return R300_COLOR_FORMAT_YVYU; -        case PIPE_FORMAT_YCBCR_REV: +        case PIPE_FORMAT_YUYV:              return R300_COLOR_FORMAT_VYUY;          default:              return ~0; /* Unsupported. */ @@ -368,9 +366,9 @@ static uint32_t r300_translate_zsformat(enum pipe_format format)          case PIPE_FORMAT_Z16_UNORM:              return R300_DEPTHFORMAT_16BIT_INT_Z;          /* 24-bit depth, ignored stencil */ -        case PIPE_FORMAT_Z24X8_UNORM: +        case PIPE_FORMAT_X8Z24_UNORM:          /* 24-bit depth, 8-bit stencil */ -        case PIPE_FORMAT_Z24S8_UNORM: +        case PIPE_FORMAT_S8Z24_UNORM:              return R300_DEPTHFORMAT_24BIT_INT_Z_8BIT_STENCIL;          default:              return ~0; /* Unsupported. */ @@ -437,42 +435,40 @@ static uint32_t r300_translate_out_fmt(enum pipe_format format)              return modifier | R300_C2_SEL_R;          /* ARGB 32-bit outputs. */ -        case PIPE_FORMAT_R5G6B5_UNORM: -        case PIPE_FORMAT_A1R5G5B5_UNORM: -        case PIPE_FORMAT_A4R4G4B4_UNORM: -        case PIPE_FORMAT_A8R8G8B8_UNORM: -        case PIPE_FORMAT_A8R8G8B8_SRGB: -        case PIPE_FORMAT_X8R8G8B8_UNORM: -        case PIPE_FORMAT_X8R8G8B8_SRGB: +        case PIPE_FORMAT_B5G6R5_UNORM: +        case PIPE_FORMAT_B5G5R5A1_UNORM: +        case PIPE_FORMAT_B4G4R4A4_UNORM: +        case PIPE_FORMAT_B8G8R8A8_UNORM: +        case PIPE_FORMAT_B8G8R8A8_SRGB: +        case PIPE_FORMAT_B8G8R8X8_UNORM: +        case PIPE_FORMAT_B8G8R8X8_SRGB:              return modifier |                  R300_C0_SEL_B | R300_C1_SEL_G |                  R300_C2_SEL_R | R300_C3_SEL_A;          /* BGRA 32-bit outputs. */ -        case PIPE_FORMAT_B8G8R8A8_UNORM: -        case PIPE_FORMAT_B8G8R8A8_SRGB: -        case PIPE_FORMAT_B8G8R8X8_UNORM: -        case PIPE_FORMAT_B8G8R8X8_SRGB: +        case PIPE_FORMAT_A8R8G8B8_UNORM: +        case PIPE_FORMAT_A8R8G8B8_SRGB: +        case PIPE_FORMAT_X8R8G8B8_UNORM: +        case PIPE_FORMAT_X8R8G8B8_SRGB:              return modifier |                  R300_C0_SEL_A | R300_C1_SEL_R |                  R300_C2_SEL_G | R300_C3_SEL_B;          /* RGBA 32-bit outputs. */ -        case PIPE_FORMAT_R8G8B8A8_UNORM: +        case PIPE_FORMAT_A8B8G8R8_UNORM:          case PIPE_FORMAT_R8G8B8A8_SNORM: -        case PIPE_FORMAT_R8G8B8A8_SRGB: -        case PIPE_FORMAT_R8G8B8X8_UNORM: -        case PIPE_FORMAT_R8G8B8X8_SRGB: -        case PIPE_FORMAT_R8G8B8X8_SNORM: +        case PIPE_FORMAT_A8B8G8R8_SRGB: +        case PIPE_FORMAT_X8B8G8R8_UNORM: +        case PIPE_FORMAT_X8B8G8R8_SRGB:              return modifier |                  R300_C0_SEL_A | R300_C1_SEL_B |                  R300_C2_SEL_G | R300_C3_SEL_R;          /* ABGR 32-bit outputs. */ -        case PIPE_FORMAT_A8B8G8R8_SNORM: -        case PIPE_FORMAT_X8B8G8R8_SNORM: -        case PIPE_FORMAT_X8UB8UG8SR8S_NORM: -        case PIPE_FORMAT_A2B10G10R10_UNORM: +        case PIPE_FORMAT_R8G8B8X8_SNORM: +        case PIPE_FORMAT_R8SG8SB8UX8U_NORM: +        case PIPE_FORMAT_R10G10B10A2_UNORM:          /* RGBA high precision outputs (same swizzles as ABGR low precision) */          case PIPE_FORMAT_R16G16B16A16_UNORM:          case PIPE_FORMAT_R16G16B16A16_SNORM: @@ -871,7 +867,7 @@ r300_video_surface_create(struct pipe_screen *screen,      memset(&template, 0, sizeof(struct pipe_texture));      template.target = PIPE_TEXTURE_2D; -    template.format = PIPE_FORMAT_X8R8G8B8_UNORM; +    template.format = PIPE_FORMAT_B8G8R8X8_UNORM;      template.last_level = 0;      template.width0 = util_next_power_of_two(width);      template.height0 = util_next_power_of_two(height); diff --git a/src/gallium/drivers/softpipe/sp_quad_depth_test.c b/src/gallium/drivers/softpipe/sp_quad_depth_test.c index dab9565443..4815a0d49f 100644 --- a/src/gallium/drivers/softpipe/sp_quad_depth_test.c +++ b/src/gallium/drivers/softpipe/sp_quad_depth_test.c @@ -73,8 +73,8 @@ get_depth_stencil_values( struct depth_data *data,           data->bzzzz[j] = tile->data.depth32[y][x];        }        break; -   case PIPE_FORMAT_X8Z24_UNORM: -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1);           int y = quad->input.y0 % TILE_SIZE + (j >> 1); @@ -82,8 +82,8 @@ get_depth_stencil_values( struct depth_data *data,           data->stencilVals[j] = tile->data.depth32[y][x] >> 24;        }     break; -   case PIPE_FORMAT_Z24X8_UNORM: -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1);           int y = quad->input.y0 % TILE_SIZE + (j >> 1); @@ -146,8 +146,8 @@ convert_quad_depth( struct depth_data *data,           }        }        break; -   case PIPE_FORMAT_X8Z24_UNORM: -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        {           float scale = (float) ((1 << 24) - 1); @@ -156,8 +156,8 @@ convert_quad_depth( struct depth_data *data,           }        }        break; -   case PIPE_FORMAT_Z24X8_UNORM: -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        {           float scale = (float) ((1 << 24) - 1); @@ -189,7 +189,7 @@ write_depth_stencil_values( struct depth_data *data,           tile->data.depth16[y][x] = (ushort) data->bzzzz[j];        }        break; -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_Z24X8_UNORM:     case PIPE_FORMAT_Z32_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1); @@ -197,21 +197,21 @@ write_depth_stencil_values( struct depth_data *data,           tile->data.depth32[y][x] = data->bzzzz[j];        }        break; -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1);           int y = quad->input.y0 % TILE_SIZE + (j >> 1);           tile->data.depth32[y][x] = (data->stencilVals[j] << 24) | data->bzzzz[j];        }        break; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1);           int y = quad->input.y0 % TILE_SIZE + (j >> 1);           tile->data.depth32[y][x] = (data->bzzzz[j] << 8) | data->stencilVals[j];        }        break; -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        for (j = 0; j < QUAD_SIZE; j++) {           int x = quad->input.x0 % TILE_SIZE + (j & 1);           int y = quad->input.y0 % TILE_SIZE + (j >> 1); diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 87415f4340..6ec63fe698 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -152,17 +152,17 @@ softpipe_is_format_supported( struct pipe_screen *screen,     switch(format) {     case PIPE_FORMAT_L16_UNORM: -   case PIPE_FORMAT_YCBCR_REV: -   case PIPE_FORMAT_YCBCR: +   case PIPE_FORMAT_YUYV: +   case PIPE_FORMAT_UYVY:     case PIPE_FORMAT_DXT1_RGB:     case PIPE_FORMAT_DXT1_RGBA:     case PIPE_FORMAT_DXT3_RGBA:     case PIPE_FORMAT_DXT5_RGBA:     case PIPE_FORMAT_Z32_FLOAT:     case PIPE_FORMAT_R8G8_SNORM: -   case PIPE_FORMAT_B6UG5SR5S_NORM: -   case PIPE_FORMAT_X8UB8UG8SR8S_NORM: -   case PIPE_FORMAT_A8B8G8R8_SNORM: +   case PIPE_FORMAT_R5SG5SB6U_NORM: +   case PIPE_FORMAT_R8SG8SB8UX8U_NORM: +   case PIPE_FORMAT_R8G8B8A8_SNORM:     case PIPE_FORMAT_NONE:        return FALSE;     default: diff --git a/src/gallium/drivers/softpipe/sp_texture.c b/src/gallium/drivers/softpipe/sp_texture.c index 371c4e2025..32d261b5ff 100644 --- a/src/gallium/drivers/softpipe/sp_texture.c +++ b/src/gallium/drivers/softpipe/sp_texture.c @@ -426,7 +426,7 @@ softpipe_video_surface_create(struct pipe_screen *screen,     memset(&template, 0, sizeof(struct pipe_texture));     template.target = PIPE_TEXTURE_2D; -   template.format = PIPE_FORMAT_X8R8G8B8_UNORM; +   template.format = PIPE_FORMAT_B8G8R8X8_UNORM;     template.last_level = 0;     /* vl_mpeg12_mc_renderer expects this when it's initialized with pot_buffers=true */     template.width0 = util_next_power_of_two(width); diff --git a/src/gallium/drivers/softpipe/sp_tile_cache.c b/src/gallium/drivers/softpipe/sp_tile_cache.c index 1b50bd7ffe..3b30954ac8 100644 --- a/src/gallium/drivers/softpipe/sp_tile_cache.c +++ b/src/gallium/drivers/softpipe/sp_tile_cache.c @@ -162,10 +162,10 @@ sp_tile_cache_set_surface(struct softpipe_tile_cache *tc,                                                PIPE_TRANSFER_READ_WRITE,                                                0, 0, ps->width, ps->height); -      tc->depth_stencil = (ps->format == PIPE_FORMAT_S8Z24_UNORM || -                           ps->format == PIPE_FORMAT_X8Z24_UNORM || -                           ps->format == PIPE_FORMAT_Z24S8_UNORM || +      tc->depth_stencil = (ps->format == PIPE_FORMAT_Z24S8_UNORM ||                             ps->format == PIPE_FORMAT_Z24X8_UNORM || +                           ps->format == PIPE_FORMAT_S8Z24_UNORM || +                           ps->format == PIPE_FORMAT_X8Z24_UNORM ||                             ps->format == PIPE_FORMAT_Z16_UNORM ||                             ps->format == PIPE_FORMAT_Z32_UNORM ||                             ps->format == PIPE_FORMAT_S8_UNORM); diff --git a/src/gallium/drivers/svga/svga_pipe_clear.c b/src/gallium/drivers/svga/svga_pipe_clear.c index 409b3b41cb..8483a3fad7 100644 --- a/src/gallium/drivers/svga/svga_pipe_clear.c +++ b/src/gallium/drivers/svga/svga_pipe_clear.c @@ -54,7 +54,7 @@ try_clear(struct svga_context *svga,     if ((buffers & PIPE_CLEAR_COLOR) && fb->cbufs[0]) {        flags |= SVGA3D_CLEAR_COLOR; -      util_pack_color(rgba, PIPE_FORMAT_A8R8G8B8_UNORM, &uc); +      util_pack_color(rgba, PIPE_FORMAT_B8G8R8A8_UNORM, &uc);        rect.w = fb->cbufs[0]->width;        rect.h = fb->cbufs[0]->height; @@ -63,7 +63,7 @@ try_clear(struct svga_context *svga,     if ((buffers & PIPE_CLEAR_DEPTHSTENCIL) && fb->zsbuf) {        flags |= SVGA3D_CLEAR_DEPTH; -      if (svga->curr.framebuffer.zsbuf->format == PIPE_FORMAT_Z24S8_UNORM) +      if (svga->curr.framebuffer.zsbuf->format == PIPE_FORMAT_S8Z24_UNORM)           flags |= SVGA3D_CLEAR_STENCIL;        rect.w = MAX2(rect.w, fb->zsbuf->width); diff --git a/src/gallium/drivers/svga/svga_pipe_misc.c b/src/gallium/drivers/svga/svga_pipe_misc.c index 49b43bebc2..95bf0e6f91 100644 --- a/src/gallium/drivers/svga/svga_pipe_misc.c +++ b/src/gallium/drivers/svga/svga_pipe_misc.c @@ -118,10 +118,10 @@ static void svga_set_framebuffer_state(struct pipe_context *pipe,        case PIPE_FORMAT_Z16_UNORM:           svga->curr.depthscale = 1.0f / DEPTH_BIAS_SCALE_FACTOR_D16;           break; -      case PIPE_FORMAT_S8Z24_UNORM: -      case PIPE_FORMAT_X8Z24_UNORM:        case PIPE_FORMAT_Z24S8_UNORM:        case PIPE_FORMAT_Z24X8_UNORM: +      case PIPE_FORMAT_S8Z24_UNORM: +      case PIPE_FORMAT_X8Z24_UNORM:           svga->curr.depthscale = 1.0f / DEPTH_BIAS_SCALE_FACTOR_D24S8;           break;        case PIPE_FORMAT_Z32_UNORM: diff --git a/src/gallium/drivers/svga/svga_pipe_sampler.c b/src/gallium/drivers/svga/svga_pipe_sampler.c index 224c4f4c18..acba2b8f9d 100644 --- a/src/gallium/drivers/svga/svga_pipe_sampler.c +++ b/src/gallium/drivers/svga/svga_pipe_sampler.c @@ -201,7 +201,7 @@ static void svga_set_sampler_textures(struct pipe_context *pipe,        if (!texture[i])           continue; -      if (texture[i]->format == PIPE_FORMAT_A8R8G8B8_SRGB) +      if (texture[i]->format == PIPE_FORMAT_B8G8R8A8_SRGB)           flag_srgb |= 1 << i;        if (texture[i]->target == PIPE_TEXTURE_1D) diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 414ac52e1f..6022c38cfc 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -196,23 +196,23 @@ svga_translate_format_cap(enum pipe_format format)  {     switch(format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_A8R8G8B8; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_X8R8G8B8; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_R5G6B5; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_A1R5G5B5; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_A4R4G4B4;     case PIPE_FORMAT_Z16_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_Z_D16; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8; -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        return SVGA3D_DEVCAP_SURFACEFMT_Z_D24X8;     case PIPE_FORMAT_A8_UNORM: @@ -254,8 +254,8 @@ svga_is_format_supported( struct pipe_screen *screen,        /* Often unsupported/problematic. This means we end up with the same         * visuals for all virtual hardware implementations.         */ -      case PIPE_FORMAT_A4R4G4B4_UNORM: -      case PIPE_FORMAT_A1R5G5B5_UNORM: +      case PIPE_FORMAT_B4G4R4A4_UNORM: +      case PIPE_FORMAT_B5G5R5A1_UNORM:           return FALSE;        /* Simulate ability to render into compressed textures */ diff --git a/src/gallium/drivers/svga/svga_screen_texture.c b/src/gallium/drivers/svga/svga_screen_texture.c index 12f3531a1d..e9792e063e 100644 --- a/src/gallium/drivers/svga/svga_screen_texture.c +++ b/src/gallium/drivers/svga/svga_screen_texture.c @@ -59,21 +59,21 @@ svga_translate_format(enum pipe_format format)  {     switch(format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return SVGA3D_A8R8G8B8; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        return SVGA3D_X8R8G8B8;        /* Required for GL2.1:         */ -   case PIPE_FORMAT_A8R8G8B8_SRGB: +   case PIPE_FORMAT_B8G8R8A8_SRGB:        return SVGA3D_A8R8G8B8; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return SVGA3D_R5G6B5; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        return SVGA3D_A1R5G5B5; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        return SVGA3D_A4R4G4B4; @@ -83,9 +83,9 @@ svga_translate_format(enum pipe_format format)      */     case PIPE_FORMAT_Z16_UNORM:        return SVGA3D_Z_D16; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        return SVGA3D_Z_D24S8; -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        return SVGA3D_Z_D24X8;     case PIPE_FORMAT_A8_UNORM: @@ -111,13 +111,13 @@ SVGA3dSurfaceFormat  svga_translate_format_render(enum pipe_format format)  {     switch(format) {  -   case PIPE_FORMAT_A8R8G8B8_UNORM: -   case PIPE_FORMAT_X8R8G8B8_UNORM: -   case PIPE_FORMAT_A1R5G5B5_UNORM: -   case PIPE_FORMAT_A4R4G4B4_UNORM: -   case PIPE_FORMAT_R5G6B5_UNORM: -   case PIPE_FORMAT_Z24S8_UNORM: -   case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:     case PIPE_FORMAT_Z32_UNORM:     case PIPE_FORMAT_Z16_UNORM:     case PIPE_FORMAT_L8_UNORM: @@ -403,9 +403,9 @@ svga_texture_blanket(struct pipe_screen * screen,     if (sbuf->key.format == 1) -      tex->base.format = PIPE_FORMAT_X8R8G8B8_UNORM; +      tex->base.format = PIPE_FORMAT_B8G8R8X8_UNORM;     else if (sbuf->key.format == 2) -      tex->base.format = PIPE_FORMAT_A8R8G8B8_UNORM; +      tex->base.format = PIPE_FORMAT_B8G8R8A8_UNORM;     pipe_reference_init(&tex->base.reference, 1);     tex->base.screen = screen; @@ -462,9 +462,9 @@ svga_screen_texture_wrap_surface(struct pipe_screen *screen,     if (format == 1) -      tex->base.format = PIPE_FORMAT_X8R8G8B8_UNORM; +      tex->base.format = PIPE_FORMAT_B8G8R8X8_UNORM;     else if (format == 2) -      tex->base.format = PIPE_FORMAT_A8R8G8B8_UNORM; +      tex->base.format = PIPE_FORMAT_B8G8R8A8_UNORM;     pipe_reference_init(&tex->base.reference, 1);     tex->base.screen = screen; diff --git a/src/gallium/drivers/svga/svga_state_framebuffer.c b/src/gallium/drivers/svga/svga_state_framebuffer.c index 4d0c06bd77..b710914acd 100644 --- a/src/gallium/drivers/svga/svga_state_framebuffer.c +++ b/src/gallium/drivers/svga/svga_state_framebuffer.c @@ -70,7 +70,7 @@ static int emit_framebuffer( struct svga_context *svga,           return ret;        if (curr->zsbuf && -          curr->zsbuf->format == PIPE_FORMAT_Z24S8_UNORM) { +          curr->zsbuf->format == PIPE_FORMAT_S8Z24_UNORM) {           ret = SVGA3D_SetRenderTarget(svga->swc, SVGA3D_RT_STENCIL, curr->zsbuf);           if (ret != PIPE_OK)              return ret; diff --git a/src/gallium/drivers/svga/svga_state_need_swtnl.c b/src/gallium/drivers/svga/svga_state_need_swtnl.c index a6ed18599c..d774e3e504 100644 --- a/src/gallium/drivers/svga/svga_state_need_swtnl.c +++ b/src/gallium/drivers/svga/svga_state_need_swtnl.c @@ -43,7 +43,7 @@ svga_translate_vertex_format(enum pipe_format format)     case PIPE_FORMAT_R32G32_FLOAT:         return SVGA3D_DECLTYPE_FLOAT2;     case PIPE_FORMAT_R32G32B32_FLOAT:      return SVGA3D_DECLTYPE_FLOAT3;     case PIPE_FORMAT_R32G32B32A32_FLOAT:   return SVGA3D_DECLTYPE_FLOAT4; -   case PIPE_FORMAT_B8G8R8A8_UNORM:       return SVGA3D_DECLTYPE_D3DCOLOR; +   case PIPE_FORMAT_A8R8G8B8_UNORM:       return SVGA3D_DECLTYPE_D3DCOLOR;     case PIPE_FORMAT_R8G8B8A8_USCALED:     return SVGA3D_DECLTYPE_UBYTE4;     case PIPE_FORMAT_R16G16_SSCALED:       return SVGA3D_DECLTYPE_SHORT2;     case PIPE_FORMAT_R16G16B16A16_SSCALED: return SVGA3D_DECLTYPE_SHORT4; diff --git a/src/gallium/include/pipe/p_format.h b/src/gallium/include/pipe/p_format.h index f33b0639ef..0314172de7 100644 --- a/src/gallium/include/pipe/p_format.h +++ b/src/gallium/include/pipe/p_format.h @@ -45,28 +45,28 @@ extern "C" {  enum pipe_format {     PIPE_FORMAT_NONE                  = 0, -   PIPE_FORMAT_A8R8G8B8_UNORM        = 1, -   PIPE_FORMAT_X8R8G8B8_UNORM        = 2, -   PIPE_FORMAT_B8G8R8A8_UNORM        = 3, -   PIPE_FORMAT_B8G8R8X8_UNORM        = 4, -   PIPE_FORMAT_A1R5G5B5_UNORM        = 5, -   PIPE_FORMAT_A4R4G4B4_UNORM        = 6, -   PIPE_FORMAT_R5G6B5_UNORM          = 7, -   PIPE_FORMAT_A2B10G10R10_UNORM     = 8, +   PIPE_FORMAT_B8G8R8A8_UNORM        = 1, +   PIPE_FORMAT_B8G8R8X8_UNORM        = 2, +   PIPE_FORMAT_A8R8G8B8_UNORM        = 3, +   PIPE_FORMAT_X8R8G8B8_UNORM        = 4, +   PIPE_FORMAT_B5G5R5A1_UNORM        = 5, +   PIPE_FORMAT_B4G4R4A4_UNORM        = 6, +   PIPE_FORMAT_B5G6R5_UNORM          = 7, +   PIPE_FORMAT_R10G10B10A2_UNORM     = 8,     PIPE_FORMAT_L8_UNORM              = 9,    /**< ubyte luminance */     PIPE_FORMAT_A8_UNORM              = 10,   /**< ubyte alpha */     PIPE_FORMAT_I8_UNORM              = 11,   /**< ubyte intensity */ -   PIPE_FORMAT_A8L8_UNORM            = 12,   /**< ubyte alpha, luminance */ +   PIPE_FORMAT_L8A8_UNORM            = 12,   /**< ubyte alpha, luminance */     PIPE_FORMAT_L16_UNORM             = 13,   /**< ushort luminance */ -   PIPE_FORMAT_YCBCR                 = 14, -   PIPE_FORMAT_YCBCR_REV             = 15, +   PIPE_FORMAT_UYVY                  = 14, +   PIPE_FORMAT_YUYV                  = 15,     PIPE_FORMAT_Z16_UNORM             = 16,     PIPE_FORMAT_Z32_UNORM             = 17,     PIPE_FORMAT_Z32_FLOAT             = 18, -   PIPE_FORMAT_S8Z24_UNORM           = 19, -   PIPE_FORMAT_Z24S8_UNORM           = 20, -   PIPE_FORMAT_X8Z24_UNORM           = 21, -   PIPE_FORMAT_Z24X8_UNORM           = 22, +   PIPE_FORMAT_Z24S8_UNORM           = 19, +   PIPE_FORMAT_S8Z24_UNORM           = 20, +   PIPE_FORMAT_Z24X8_UNORM           = 21, +   PIPE_FORMAT_X8Z24_UNORM           = 22,     PIPE_FORMAT_S8_UNORM              = 23,   /**< ubyte stencil */     PIPE_FORMAT_R64_FLOAT             = 24,     PIPE_FORMAT_R64G64_FLOAT          = 25, @@ -112,43 +112,38 @@ enum pipe_format {     PIPE_FORMAT_R8G8_UNORM            = 65,     PIPE_FORMAT_R8G8B8_UNORM          = 66,     PIPE_FORMAT_R8G8B8A8_UNORM        = 67, -   PIPE_FORMAT_R8G8B8X8_UNORM        = 68, +   PIPE_FORMAT_X8B8G8R8_UNORM        = 68,     PIPE_FORMAT_R8_USCALED            = 69,     PIPE_FORMAT_R8G8_USCALED          = 70,     PIPE_FORMAT_R8G8B8_USCALED        = 71,     PIPE_FORMAT_R8G8B8A8_USCALED      = 72, -   PIPE_FORMAT_R8G8B8X8_USCALED      = 73,     PIPE_FORMAT_R8_SNORM              = 74,     PIPE_FORMAT_R8G8_SNORM            = 75,     PIPE_FORMAT_R8G8B8_SNORM          = 76,     PIPE_FORMAT_R8G8B8A8_SNORM        = 77, -   PIPE_FORMAT_R8G8B8X8_SNORM        = 78, -   PIPE_FORMAT_B6G5R5_SNORM          = 79, -   PIPE_FORMAT_A8B8G8R8_SNORM        = 80, -   PIPE_FORMAT_X8B8G8R8_SNORM        = 81, +   PIPE_FORMAT_R8G8B8X8_SNORM        = 81,     PIPE_FORMAT_R8_SSCALED            = 82,     PIPE_FORMAT_R8G8_SSCALED          = 83,     PIPE_FORMAT_R8G8B8_SSCALED        = 84,     PIPE_FORMAT_R8G8B8A8_SSCALED      = 85, -   PIPE_FORMAT_R8G8B8X8_SSCALED      = 86,     PIPE_FORMAT_R32_FIXED             = 87,     PIPE_FORMAT_R32G32_FIXED          = 88,     PIPE_FORMAT_R32G32B32_FIXED       = 89,     PIPE_FORMAT_R32G32B32A32_FIXED    = 90,     /* sRGB formats */     PIPE_FORMAT_L8_SRGB               = 91, -   PIPE_FORMAT_A8L8_SRGB             = 92, +   PIPE_FORMAT_L8A8_SRGB             = 92,     PIPE_FORMAT_R8G8B8_SRGB           = 93, -   PIPE_FORMAT_R8G8B8A8_SRGB         = 94, -   PIPE_FORMAT_R8G8B8X8_SRGB         = 95, -   PIPE_FORMAT_A8R8G8B8_SRGB         = 96, -   PIPE_FORMAT_X8R8G8B8_SRGB         = 97, -   PIPE_FORMAT_B8G8R8A8_SRGB         = 98, -   PIPE_FORMAT_B8G8R8X8_SRGB         = 99, +   PIPE_FORMAT_A8B8G8R8_SRGB         = 94, +   PIPE_FORMAT_X8B8G8R8_SRGB         = 95, +   PIPE_FORMAT_B8G8R8A8_SRGB         = 96, +   PIPE_FORMAT_B8G8R8X8_SRGB         = 97, +   PIPE_FORMAT_A8R8G8B8_SRGB         = 98, +   PIPE_FORMAT_X8R8G8B8_SRGB         = 99,     /* mixed formats */ -   PIPE_FORMAT_X8UB8UG8SR8S_NORM     = 100, -   PIPE_FORMAT_B6UG5SR5S_NORM        = 101, +   PIPE_FORMAT_R8SG8SB8UX8U_NORM     = 100, +   PIPE_FORMAT_R5SG5SB6U_NORM        = 101,     /* compressed formats */     PIPE_FORMAT_DXT1_RGB              = 102, @@ -162,6 +157,8 @@ enum pipe_format {     PIPE_FORMAT_DXT3_SRGBA            = 108,     PIPE_FORMAT_DXT5_SRGBA            = 109, +   PIPE_FORMAT_A8B8G8R8_UNORM        = 110, +     PIPE_FORMAT_COUNT  }; diff --git a/src/gallium/state_trackers/dri/dri_drawable.c b/src/gallium/state_trackers/dri/dri_drawable.c index 4809b9090d..173f4041c8 100644 --- a/src/gallium/state_trackers/dri/dri_drawable.c +++ b/src/gallium/state_trackers/dri/dri_drawable.c @@ -349,11 +349,11 @@ dri_create_buffer(__DRIscreen * sPriv,     if (visual->redBits == 8) {        if (visual->alphaBits == 8) -         drawable->color_format = PIPE_FORMAT_A8R8G8B8_UNORM; +         drawable->color_format = PIPE_FORMAT_B8G8R8A8_UNORM;        else -         drawable->color_format = PIPE_FORMAT_X8R8G8B8_UNORM; +         drawable->color_format = PIPE_FORMAT_B8G8R8X8_UNORM;     } else { -      drawable->color_format = PIPE_FORMAT_R5G6B5_UNORM; +      drawable->color_format = PIPE_FORMAT_B5G6R5_UNORM;     }     switch(visual->depthBits) { @@ -367,12 +367,12 @@ dri_create_buffer(__DRIscreen * sPriv,     case 24:        if (visual->stencilBits == 0) {  	 drawable->depth_stencil_format = (screen->d_depth_bits_last) ? -                                          PIPE_FORMAT_X8Z24_UNORM: -                                          PIPE_FORMAT_Z24X8_UNORM; +                                          PIPE_FORMAT_Z24X8_UNORM: +                                          PIPE_FORMAT_X8Z24_UNORM;        } else {  	 drawable->depth_stencil_format = (screen->sd_depth_bits_last) ? -                                          PIPE_FORMAT_S8Z24_UNORM: -                                          PIPE_FORMAT_Z24S8_UNORM; +                                          PIPE_FORMAT_Z24S8_UNORM: +                                          PIPE_FORMAT_S8Z24_UNORM;        }        break;     case 32: diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index 77d640227f..60bc560049 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -109,22 +109,22 @@ dri_fill_in_modes(struct dri_screen *screen,     stencil_bits_array[0] = 0;     depth_buffer_factor = 1; -   pf_x8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8Z24_UNORM, +   pf_x8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24X8_UNORM,  					    PIPE_TEXTURE_2D,  					    PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); -   pf_z24x8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24X8_UNORM, +   pf_z24x8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8Z24_UNORM,  					    PIPE_TEXTURE_2D,  					    PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); -   pf_s8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_S8Z24_UNORM, +   pf_s8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24S8_UNORM,  					    PIPE_TEXTURE_2D,  					    PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); -   pf_z24s8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24S8_UNORM, +   pf_z24s8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_S8Z24_UNORM,  					    PIPE_TEXTURE_2D,  					    PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); -   pf_a8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_A8R8G8B8_UNORM, +   pf_a8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B8G8R8A8_UNORM,  					       PIPE_TEXTURE_2D,  					       PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); -   pf_x8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8R8G8B8_UNORM, +   pf_x8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B8G8R8X8_UNORM,  					       PIPE_TEXTURE_2D,  					       PIPE_TEXTURE_USAGE_RENDER_TARGET, 0); @@ -139,7 +139,7 @@ dri_fill_in_modes(struct dri_screen *screen,        pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,                                               PIPE_TEXTURE_2D,                                               PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); -      pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_R5G6B5_UNORM, +      pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B5G6R5_UNORM,                                                  PIPE_TEXTURE_2D,                                                  PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);     } else { diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index 086e644e21..04268c71c5 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -1097,7 +1097,7 @@ egl_g3d_bind_tex_image(_EGLDriver *drv, _EGLDisplay *dpy,        target_format = PIPE_FORMAT_R8G8B8_UNORM;        break;     case EGL_TEXTURE_RGBA: -      target_format = PIPE_FORMAT_A8R8G8B8_UNORM; +      target_format = PIPE_FORMAT_B8G8R8A8_UNORM;        break;     default:        return _eglError(EGL_BAD_MATCH, "eglBindTexImage"); diff --git a/src/gallium/state_trackers/egl/kms/native_kms.c b/src/gallium/state_trackers/egl/kms/native_kms.c index ee6ab2e60b..aedf3d430c 100644 --- a/src/gallium/state_trackers/egl/kms/native_kms.c +++ b/src/gallium/state_trackers/egl/kms/native_kms.c @@ -609,9 +609,9 @@ kms_display_get_configs(struct native_display *ndpy, int *num_configs)        /* always double-buffered */        nconf->mode.doubleBufferMode = TRUE; -      format = PIPE_FORMAT_A8R8G8B8_UNORM; +      format = PIPE_FORMAT_B8G8R8A8_UNORM;        if (!kms_display_is_format_supported(&kdpy->base, format, TRUE)) { -         format = PIPE_FORMAT_B8G8R8A8_UNORM; +         format = PIPE_FORMAT_A8R8G8B8_UNORM;           if (!kms_display_is_format_supported(&kdpy->base, format, TRUE))              format = PIPE_FORMAT_NONE;        } @@ -625,9 +625,9 @@ kms_display_get_configs(struct native_display *ndpy, int *num_configs)        nconf->mode.alphaBits = 8;        nconf->mode.rgbBits = 32; -      format = PIPE_FORMAT_S8Z24_UNORM; +      format = PIPE_FORMAT_Z24S8_UNORM;        if (!kms_display_is_format_supported(&kdpy->base, format, FALSE)) { -         format = PIPE_FORMAT_Z24S8_UNORM; +         format = PIPE_FORMAT_S8Z24_UNORM;           if (!kms_display_is_format_supported(&kdpy->base, format, FALSE))              format = PIPE_FORMAT_NONE;        } diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c index 8df58891a0..74d3d104b9 100644 --- a/src/gallium/state_trackers/egl/x11/native_dri2.c +++ b/src/gallium/state_trackers/egl/x11/native_dri2.c @@ -516,17 +516,17 @@ choose_color_format(const __GLcontextModes *mode, enum pipe_format formats[32])     switch (mode->rgbBits) {     case 32: -      formats[count++] = PIPE_FORMAT_A8R8G8B8_UNORM;        formats[count++] = PIPE_FORMAT_B8G8R8A8_UNORM; +      formats[count++] = PIPE_FORMAT_A8R8G8B8_UNORM;        break;     case 24: -      formats[count++] = PIPE_FORMAT_X8R8G8B8_UNORM;        formats[count++] = PIPE_FORMAT_B8G8R8X8_UNORM; -      formats[count++] = PIPE_FORMAT_A8R8G8B8_UNORM; +      formats[count++] = PIPE_FORMAT_X8R8G8B8_UNORM;        formats[count++] = PIPE_FORMAT_B8G8R8A8_UNORM; +      formats[count++] = PIPE_FORMAT_A8R8G8B8_UNORM;        break;     case 16: -      formats[count++] = PIPE_FORMAT_R5G6B5_UNORM; +      formats[count++] = PIPE_FORMAT_B5G6R5_UNORM;        break;     default:        break; @@ -547,12 +547,12 @@ choose_depth_stencil_format(const __GLcontextModes *mode,        break;     case 24:        if (mode->stencilBits) { -         formats[count++] = PIPE_FORMAT_S8Z24_UNORM;           formats[count++] = PIPE_FORMAT_Z24S8_UNORM; +         formats[count++] = PIPE_FORMAT_S8Z24_UNORM;        }        else { -         formats[count++] = PIPE_FORMAT_X8Z24_UNORM;           formats[count++] = PIPE_FORMAT_Z24X8_UNORM; +         formats[count++] = PIPE_FORMAT_X8Z24_UNORM;        }        break;     case 16: diff --git a/src/gallium/state_trackers/egl/x11/native_ximage.c b/src/gallium/state_trackers/egl/x11/native_ximage.c index 8ba73f289d..a8633b1501 100644 --- a/src/gallium/state_trackers/egl/x11/native_ximage.c +++ b/src/gallium/state_trackers/egl/x11/native_ximage.c @@ -561,13 +561,13 @@ choose_format(const XVisualInfo *vinfo)     /* TODO elaborate the formats */     switch (vinfo->depth) {     case 32: -      fmt = PIPE_FORMAT_A8R8G8B8_UNORM; +      fmt = PIPE_FORMAT_B8G8R8A8_UNORM;        break;     case 24: -      fmt = PIPE_FORMAT_X8R8G8B8_UNORM; +      fmt = PIPE_FORMAT_B8G8R8X8_UNORM;        break;     case 16: -      fmt = PIPE_FORMAT_R5G6B5_UNORM; +      fmt = PIPE_FORMAT_B5G6R5_UNORM;        break;     default:        fmt = PIPE_FORMAT_NONE; @@ -620,8 +620,8 @@ ximage_display_get_configs(struct native_display *ndpy, int *num_configs)              xconf->base.stencil_format = PIPE_FORMAT_NONE;              /* create the second config with depth/stencil buffer */              if (j == 1) { -               xconf->base.depth_format = PIPE_FORMAT_S8Z24_UNORM; -               xconf->base.stencil_format = PIPE_FORMAT_S8Z24_UNORM; +               xconf->base.depth_format = PIPE_FORMAT_Z24S8_UNORM; +               xconf->base.stencil_format = PIPE_FORMAT_Z24S8_UNORM;                 mode->depthBits = 24;                 mode->stencilBits = 8;                 mode->haveDepthBuffer = TRUE; @@ -669,13 +669,13 @@ ximage_display_is_pixmap_supported(struct native_display *ndpy,     depth = x11_drawable_get_depth(xdpy->xscr, (Drawable) pix);     switch (depth) {     case 32: -      fmt = PIPE_FORMAT_A8R8G8B8_UNORM; +      fmt = PIPE_FORMAT_B8G8R8A8_UNORM;        break;     case 24: -      fmt = PIPE_FORMAT_X8R8G8B8_UNORM; +      fmt = PIPE_FORMAT_B8G8R8X8_UNORM;        break;     case 16: -      fmt = PIPE_FORMAT_R5G6B5_UNORM; +      fmt = PIPE_FORMAT_B5G6R5_UNORM;        break;     default:        fmt = PIPE_FORMAT_NONE; diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index 188b885f68..68518b19b9 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -274,10 +274,10 @@ choose_pixel_format(XMesaVisual v)         && v->BitsPerPixel == 32) {        if (native_byte_order) {           /* no byteswapping needed */ -         return 0 /* PIXEL_FORMAT_U_A8_B8_G8_R8 */; +         return PIPE_FORMAT_R8G8B8A8_UNORM;        }        else { -         return PIPE_FORMAT_R8G8B8A8_UNORM; +         return PIPE_FORMAT_A8B8G8R8_UNORM;        }     }     else if (   GET_REDMASK(v)   == 0xff0000 @@ -286,10 +286,10 @@ choose_pixel_format(XMesaVisual v)              && v->BitsPerPixel == 32) {        if (native_byte_order) {           /* no byteswapping needed */ -         return PIPE_FORMAT_A8R8G8B8_UNORM; +         return PIPE_FORMAT_B8G8R8A8_UNORM;        }        else { -         return PIPE_FORMAT_B8G8R8A8_UNORM; +         return PIPE_FORMAT_A8R8G8B8_UNORM;        }     }     else if (   GET_REDMASK(v)   == 0x0000ff00 @@ -298,10 +298,10 @@ choose_pixel_format(XMesaVisual v)              && v->BitsPerPixel == 32) {        if (native_byte_order) {           /* no byteswapping needed */ -         return PIPE_FORMAT_B8G8R8A8_UNORM; +         return PIPE_FORMAT_A8R8G8B8_UNORM;        }        else { -         return PIPE_FORMAT_A8R8G8B8_UNORM; +         return PIPE_FORMAT_B8G8R8A8_UNORM;        }     }     else if (   GET_REDMASK(v)   == 0xf800 @@ -310,7 +310,7 @@ choose_pixel_format(XMesaVisual v)              && native_byte_order              && v->BitsPerPixel == 16) {        /* 5-6-5 RGB */ -      return PIPE_FORMAT_R5G6B5_UNORM; +      return PIPE_FORMAT_B5G6R5_UNORM;     }     assert(0); @@ -333,8 +333,8 @@ xmesa_choose_z_stencil_format(int depthBits, int stencilBits,     const unsigned geom_flags = (PIPE_TEXTURE_GEOM_NON_SQUARE |                                  PIPE_TEXTURE_GEOM_NON_POWER_OF_TWO);     static enum pipe_format formats[] = { -      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_S8Z24_UNORM, +      PIPE_FORMAT_Z24S8_UNORM,        PIPE_FORMAT_Z16_UNORM,        PIPE_FORMAT_Z32_UNORM     }; diff --git a/src/gallium/state_trackers/python/st_device.c b/src/gallium/state_trackers/python/st_device.c index a3798a5521..45e7841750 100644 --- a/src/gallium/state_trackers/python/st_device.c +++ b/src/gallium/state_trackers/python/st_device.c @@ -244,7 +244,7 @@ st_context_create(struct st_device *st_dev)        memset( &templat, 0, sizeof( templat ) );        templat.target = PIPE_TEXTURE_2D; -      templat.format = PIPE_FORMAT_A8R8G8B8_UNORM; +      templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;        templat.width0 = 1;        templat.height0 = 1;        templat.depth0 = 1; diff --git a/src/gallium/state_trackers/python/st_sample.c b/src/gallium/state_trackers/python/st_sample.c index 32a6551a87..e180815346 100644 --- a/src/gallium/state_trackers/python/st_sample.c +++ b/src/gallium/state_trackers/python/st_sample.c @@ -485,7 +485,7 @@ st_sample_generic_pixel_block(enum pipe_format format,                           w, h,                           rgba, rgba_stride); -   if(format == PIPE_FORMAT_YCBCR || format == PIPE_FORMAT_YCBCR_REV) { +   if(format == PIPE_FORMAT_UYVY || format == PIPE_FORMAT_YUYV) {        for(y = 0; y < h; ++y) {           for(x = 0; x < w; ++x) {              for(ch = 0; ch < 4; ++ch) { diff --git a/src/gallium/state_trackers/vega/api_filters.c b/src/gallium/state_trackers/vega/api_filters.c index 20c72c1ff5..02248ad433 100644 --- a/src/gallium/state_trackers/vega/api_filters.c +++ b/src/gallium/state_trackers/vega/api_filters.c @@ -67,7 +67,7 @@ static INLINE struct pipe_texture *create_texture_1d(struct vg_context *ctx,     memset(&templ, 0, sizeof(templ));     templ.target = PIPE_TEXTURE_1D; -   templ.format = PIPE_FORMAT_A8R8G8B8_UNORM; +   templ.format = PIPE_FORMAT_B8G8R8A8_UNORM;     templ.last_level = 0;     templ.width0 = color_data_len;     templ.height0 = 1; diff --git a/src/gallium/state_trackers/vega/image.c b/src/gallium/state_trackers/vega/image.c index 2e10965be4..41c979bfec 100644 --- a/src/gallium/state_trackers/vega/image.c +++ b/src/gallium/state_trackers/vega/image.c @@ -48,16 +48,16 @@ static enum pipe_format vg_format_to_pipe(VGImageFormat format)  {     switch(format) {     case VG_sRGB_565: -      return PIPE_FORMAT_R5G6B5_UNORM; +      return PIPE_FORMAT_B5G6R5_UNORM;     case VG_sRGBA_5551: -      return PIPE_FORMAT_A1R5G5B5_UNORM; +      return PIPE_FORMAT_B5G5R5A1_UNORM;     case VG_sRGBA_4444: -      return PIPE_FORMAT_A4R4G4B4_UNORM; +      return PIPE_FORMAT_B4G4R4A4_UNORM;     case VG_sL_8:     case VG_lL_8:        return PIPE_FORMAT_L8_UNORM;     case VG_BW_1: -      return PIPE_FORMAT_A8R8G8B8_UNORM; +      return PIPE_FORMAT_B8G8R8A8_UNORM;     case VG_A_8:        return PIPE_FORMAT_A8_UNORM;  #ifdef OPENVG_VERSION_1_1 @@ -66,7 +66,7 @@ static enum pipe_format vg_format_to_pipe(VGImageFormat format)        return PIPE_FORMAT_A8_UNORM;  #endif     default: -      return PIPE_FORMAT_A8R8G8B8_UNORM; +      return PIPE_FORMAT_B8G8R8A8_UNORM;     }  } diff --git a/src/gallium/state_trackers/vega/mask.c b/src/gallium/state_trackers/vega/mask.c index 467b95b751..839dc19a3b 100644 --- a/src/gallium/state_trackers/vega/mask.c +++ b/src/gallium/state_trackers/vega/mask.c @@ -488,7 +488,7 @@ struct vg_mask_layer * mask_layer_create(VGint width, VGint height)        memset(&pt, 0, sizeof(pt));        pt.target = PIPE_TEXTURE_2D; -      pt.format = PIPE_FORMAT_A8R8G8B8_UNORM; +      pt.format = PIPE_FORMAT_B8G8R8A8_UNORM;        pt.last_level = 0;        pt.width0 = width;        pt.height0 = height; diff --git a/src/gallium/state_trackers/vega/paint.c b/src/gallium/state_trackers/vega/paint.c index 3405d635f0..caf0c14b74 100644 --- a/src/gallium/state_trackers/vega/paint.c +++ b/src/gallium/state_trackers/vega/paint.c @@ -151,7 +151,7 @@ static INLINE struct pipe_texture *create_gradient_texture(struct vg_paint *p)     memset(&templ, 0, sizeof(templ));     templ.target = PIPE_TEXTURE_1D; -   templ.format = PIPE_FORMAT_A8R8G8B8_UNORM; +   templ.format = PIPE_FORMAT_B8G8R8A8_UNORM;     templ.last_level = 0;     templ.width0 = 1024;     templ.height0 = 1; diff --git a/src/gallium/state_trackers/vega/vg_tracker.c b/src/gallium/state_trackers/vega/vg_tracker.c index a94dfb160c..57d3baad7f 100644 --- a/src/gallium/state_trackers/vega/vg_tracker.c +++ b/src/gallium/state_trackers/vega/vg_tracker.c @@ -51,7 +51,7 @@ create_texture(struct pipe_context *pipe, enum pipe_format format,        templ.format = format;     }     else { -      templ.format = PIPE_FORMAT_A8R8G8B8_UNORM; +      templ.format = PIPE_FORMAT_B8G8R8A8_UNORM;     }     templ.target = PIPE_TEXTURE_2D; @@ -186,7 +186,7 @@ struct st_framebuffer * st_create_framebuffer(const void *visual,        if (stencilFormat == depthFormat)           stfb->dsrb = st_new_renderbuffer_fb(stencilFormat);        else -         stfb->dsrb = st_new_renderbuffer_fb(PIPE_FORMAT_S8Z24_UNORM); +         stfb->dsrb = st_new_renderbuffer_fb(PIPE_FORMAT_Z24S8_UNORM);        /*### currently we always allocate it but it's possible it's          not necessary if EGL_ALPHA_MASK_SIZE was 0 @@ -209,12 +209,12 @@ static void setup_new_alpha_mask(struct vg_context *ctx,     struct pipe_texture *old_texture = stfb->alpha_mask;     /* -     we use PIPE_FORMAT_A8R8G8B8_UNORM because we want to render to +     we use PIPE_FORMAT_B8G8R8A8_UNORM because we want to render to       this texture and use it as a sampler, so while this wastes some       space it makes both of those a lot simpler     */     stfb->alpha_mask = -      create_texture(pipe, PIPE_FORMAT_A8R8G8B8_UNORM, width, height); +      create_texture(pipe, PIPE_FORMAT_B8G8R8A8_UNORM, width, height);     if (!stfb->alpha_mask) {        if (old_texture) @@ -327,7 +327,7 @@ void st_resize_framebuffer(struct st_framebuffer *stfb,     setup_new_alpha_mask(ctx, stfb, width, height);     pipe_texture_reference( &stfb->blend_texture, NULL ); -   stfb->blend_texture = create_texture(ctx->pipe, PIPE_FORMAT_A8R8G8B8_UNORM, +   stfb->blend_texture = create_texture(ctx->pipe, PIPE_FORMAT_B8G8R8A8_UNORM,                                          width, height);  } diff --git a/src/gallium/state_trackers/wgl/stw_pixelformat.c b/src/gallium/state_trackers/wgl/stw_pixelformat.c index b750b03695..f8edc560c5 100644 --- a/src/gallium/state_trackers/wgl/stw_pixelformat.c +++ b/src/gallium/state_trackers/wgl/stw_pixelformat.c @@ -74,17 +74,17 @@ struct stw_pf_depth_info  static const struct stw_pf_color_info  stw_pf_color[] = {     /* no-alpha */ -   { PIPE_FORMAT_X8R8G8B8_UNORM,    { 8,  8,  8,  0}, {16,  8,  0,  0} }, -   { PIPE_FORMAT_B8G8R8X8_UNORM,    { 8,  8,  8,  0}, { 8, 16, 24,  0} }, -   { PIPE_FORMAT_R5G6B5_UNORM,      { 5,  6,  5,  0}, {11,  5,  0,  0} }, +   { PIPE_FORMAT_B8G8R8X8_UNORM,    { 8,  8,  8,  0}, {16,  8,  0,  0} }, +   { PIPE_FORMAT_X8R8G8B8_UNORM,    { 8,  8,  8,  0}, { 8, 16, 24,  0} }, +   { PIPE_FORMAT_B5G6R5_UNORM,      { 5,  6,  5,  0}, {11,  5,  0,  0} },     /* alpha */ -   { PIPE_FORMAT_A8R8G8B8_UNORM,    { 8,  8,  8,  8}, {16,  8,  0, 24} }, -   { PIPE_FORMAT_B8G8R8A8_UNORM,    { 8,  8,  8,  8}, { 8, 16, 24,  0} }, +   { PIPE_FORMAT_B8G8R8A8_UNORM,    { 8,  8,  8,  8}, {16,  8,  0, 24} }, +   { PIPE_FORMAT_A8R8G8B8_UNORM,    { 8,  8,  8,  8}, { 8, 16, 24,  0} },  #if 0 -   { PIPE_FORMAT_A2B10G10R10_UNORM, {10, 10, 10,  2}, { 0, 10, 20, 30} }, +   { PIPE_FORMAT_R10G10B10A2_UNORM, {10, 10, 10,  2}, { 0, 10, 20, 30} },  #endif -   { PIPE_FORMAT_A1R5G5B5_UNORM,    { 5,  5,  5,  1}, {10,  5,  0, 15} }, -   { PIPE_FORMAT_A4R4G4B4_UNORM,    { 4,  4,  4,  4}, {16,  4,  0, 12} } +   { PIPE_FORMAT_B5G5R5A1_UNORM,    { 5,  5,  5,  1}, {10,  5,  0, 15} }, +   { PIPE_FORMAT_B4G4R4A4_UNORM,    { 4,  4,  4,  4}, {16,  4,  0, 12} }  }; @@ -92,12 +92,12 @@ static const struct stw_pf_depth_info  stw_pf_depth_stencil[] = {     /* pure depth */     { PIPE_FORMAT_Z32_UNORM,   {32, 0} }, -   { PIPE_FORMAT_Z24X8_UNORM, {24, 0} },     { PIPE_FORMAT_X8Z24_UNORM, {24, 0} }, +   { PIPE_FORMAT_Z24X8_UNORM, {24, 0} },     { PIPE_FORMAT_Z16_UNORM,   {16, 0} },     /* combined depth-stencil */ -   { PIPE_FORMAT_S8Z24_UNORM, {24, 8} }, -   { PIPE_FORMAT_Z24S8_UNORM, {24, 8} } +   { PIPE_FORMAT_Z24S8_UNORM, {24, 8} }, +   { PIPE_FORMAT_S8Z24_UNORM, {24, 8} }  }; diff --git a/src/gallium/state_trackers/xorg/xorg_crtc.c b/src/gallium/state_trackers/xorg/xorg_crtc.c index 221ce772af..000ec9048f 100644 --- a/src/gallium/state_trackers/xorg/xorg_crtc.c +++ b/src/gallium/state_trackers/xorg/xorg_crtc.c @@ -205,7 +205,7 @@ crtc_load_cursor_argb_ga3d(xf86CrtcPtr crtc, CARD32 * image)  	templat.target = PIPE_TEXTURE_2D;  	templat.last_level = 0;  	templat.depth0 = 1; -	templat.format = PIPE_FORMAT_A8R8G8B8_UNORM; +	templat.format = PIPE_FORMAT_B8G8R8A8_UNORM;  	templat.width0 = 64;  	templat.height0 = 64; diff --git a/src/gallium/state_trackers/xorg/xorg_dri2.c b/src/gallium/state_trackers/xorg/xorg_dri2.c index 5b67392435..5fc85c0e98 100644 --- a/src/gallium/state_trackers/xorg/xorg_dri2.c +++ b/src/gallium/state_trackers/xorg/xorg_dri2.c @@ -116,12 +116,12 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer, unsigned int form                    break;                 default:                    template.format = ms->ds_depth_bits_last ? -                                    PIPE_FORMAT_X8Z24_UNORM : PIPE_FORMAT_Z24X8_UNORM; +                                    PIPE_FORMAT_Z24X8_UNORM : PIPE_FORMAT_X8Z24_UNORM;                    break;                 }              } else {                 template.format = ms->ds_depth_bits_last ? -                                 PIPE_FORMAT_S8Z24_UNORM : PIPE_FORMAT_Z24S8_UNORM; +                                 PIPE_FORMAT_Z24S8_UNORM : PIPE_FORMAT_S8Z24_UNORM;              }  	    template.width0 = pDraw->width;  	    template.height0 = pDraw->height; @@ -431,11 +431,11 @@ xorg_dri2_init(ScreenPtr pScreen)      dri2info.Wait = NULL;      ms->d_depth_bits_last = -	 ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_X8Z24_UNORM, +	 ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_Z24X8_UNORM,  					 PIPE_TEXTURE_2D,  					 PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);      ms->ds_depth_bits_last = -	 ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_S8Z24_UNORM, +	 ms->screen->is_format_supported(ms->screen, PIPE_FORMAT_Z24S8_UNORM,  					 PIPE_TEXTURE_2D,  					 PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0); diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 665efdc0f0..a242e02ee7 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -118,22 +118,22 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp, int *picture_  {      switch (depth) {      case 32: -	*format = PIPE_FORMAT_A8R8G8B8_UNORM; +	*format = PIPE_FORMAT_B8G8R8A8_UNORM;  	*picture_format = PICT_a8r8g8b8;  	assert(*bbp == 32);  	break;      case 24: -	*format = PIPE_FORMAT_X8R8G8B8_UNORM; +	*format = PIPE_FORMAT_B8G8R8X8_UNORM;  	*picture_format = PICT_x8r8g8b8;  	assert(*bbp == 32);  	break;      case 16: -	*format = PIPE_FORMAT_R5G6B5_UNORM; +	*format = PIPE_FORMAT_B5G6R5_UNORM;  	*picture_format = PICT_r5g6b5;  	assert(*bbp == 16);  	break;      case 15: -	*format = PIPE_FORMAT_A1R5G5B5_UNORM; +	*format = PIPE_FORMAT_B5G5R5A1_UNORM;  	*picture_format = PICT_x1r5g5b5;  	assert(*bbp == 16);  	break; @@ -144,7 +144,7 @@ exa_get_pipe_format(int depth, enum pipe_format *format, int *bbp, int *picture_  	break;      case 4:      case 1: -	*format = PIPE_FORMAT_A8R8G8B8_UNORM; /* bad bad bad */ +	*format = PIPE_FORMAT_B8G8R8A8_UNORM; /* bad bad bad */  	break;      default:  	assert(0); diff --git a/src/gallium/state_trackers/xorg/xvmc/surface.c b/src/gallium/state_trackers/xorg/xvmc/surface.c index 0e39a390c6..87d1dfaace 100644 --- a/src/gallium/state_trackers/xorg/xvmc/surface.c +++ b/src/gallium/state_trackers/xorg/xvmc/surface.c @@ -101,7 +101,7 @@ CreateOrResizeBackBuffer(struct pipe_video_context *vpipe, unsigned int width, u     memset(&template, 0, sizeof(struct pipe_texture));     template.target = PIPE_TEXTURE_2D;     /* XXX: Needs to match the drawable's format? */ -   template.format = PIPE_FORMAT_X8R8G8B8_UNORM; +   template.format = PIPE_FORMAT_B8G8R8X8_UNORM;     template.last_level = 0;     template.width0 = width;     template.height0 = height; diff --git a/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c b/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c index c814d986b1..0d05f316c4 100644 --- a/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c +++ b/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c @@ -119,9 +119,9 @@ nouveau_drm_create_screen(struct drm_api *api, int fd,  		enum pipe_format format;  		if (nvdri->bpp == 16) -			format = PIPE_FORMAT_R5G6B5_UNORM; +			format = PIPE_FORMAT_B5G6R5_UNORM;  		else -			format = PIPE_FORMAT_A8R8G8B8_UNORM; +			format = PIPE_FORMAT_B8G8R8A8_UNORM;  		nvws->front = dri_surface_from_handle(api, nvws->pscreen,  						      nvdri->front_offset, diff --git a/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c b/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c index e9e5990cf5..a9fa03b8e5 100644 --- a/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c +++ b/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c @@ -75,8 +75,8 @@ gdi_llvmpipe_is_displaytarget_format_supported( struct llvmpipe_winsys *ws,                                                  enum pipe_format format )  {     switch(format) { -   case PIPE_FORMAT_X8R8G8B8_UNORM: -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return TRUE;     /* TODO: Support other formats possible with BMPs, as described in  diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index ba28a224e8..98453321f8 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -713,7 +713,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,                    memcpy(dest, sValues, spanWidth);                 }                 break; -            case PIPE_FORMAT_S8Z24_UNORM: +            case PIPE_FORMAT_Z24S8_UNORM:                 if (format == GL_DEPTH_STENCIL) {                    uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4);                    GLint k; @@ -731,7 +731,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,                    }                 }                 break; -            case PIPE_FORMAT_Z24S8_UNORM: +            case PIPE_FORMAT_S8Z24_UNORM:                 if (format == GL_DEPTH_STENCIL) {                    uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4);                    GLint k; @@ -879,7 +879,7 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy,        src = buffer + i * width;        switch (ptDraw->texture->format) { -      case PIPE_FORMAT_S8Z24_UNORM: +      case PIPE_FORMAT_Z24S8_UNORM:           {              uint *dst4 = (uint *) dst;              int j; @@ -890,7 +890,7 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy,              }           }           break; -      case PIPE_FORMAT_Z24S8_UNORM: +      case PIPE_FORMAT_S8Z24_UNORM:           {              uint *dst4 = (uint *) dst;              int j; diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index ea040bdc4f..8fded0c69f 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -238,13 +238,13 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw)     strb->software = sw;     switch (format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM:     case PIPE_FORMAT_B8G8R8A8_UNORM: -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:     case PIPE_FORMAT_B8G8R8X8_UNORM: -   case PIPE_FORMAT_A1R5G5B5_UNORM: -   case PIPE_FORMAT_A4R4G4B4_UNORM: -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        strb->Base.InternalFormat = GL_RGBA;        break;     case PIPE_FORMAT_Z16_UNORM: @@ -253,10 +253,10 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw)     case PIPE_FORMAT_Z32_UNORM:        strb->Base.InternalFormat = GL_DEPTH_COMPONENT32;        break; -   case PIPE_FORMAT_S8Z24_UNORM:     case PIPE_FORMAT_Z24S8_UNORM: -   case PIPE_FORMAT_X8Z24_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:     case PIPE_FORMAT_Z24X8_UNORM: +   case PIPE_FORMAT_X8Z24_UNORM:        strb->Base.InternalFormat = GL_DEPTH24_STENCIL8_EXT;        break;     case PIPE_FORMAT_S8_UNORM: diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index 6b1fdf3ecd..952d9ce915 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -108,7 +108,7 @@ st_read_stencil_pixels(GLcontext *ctx, GLint x, GLint y,              memcpy(sValues, src, width);           }           break; -      case PIPE_FORMAT_S8Z24_UNORM: +      case PIPE_FORMAT_Z24S8_UNORM:           if (format == GL_DEPTH_STENCIL) {              const uint *src = (uint *) (stmap + srcY * pt->stride);              const GLfloat scale = 1.0f / (0xffffff); @@ -126,7 +126,7 @@ st_read_stencil_pixels(GLcontext *ctx, GLint x, GLint y,              }           }           break; -      case PIPE_FORMAT_Z24S8_UNORM: +      case PIPE_FORMAT_S8Z24_UNORM:           if (format == GL_DEPTH_STENCIL) {              const uint *src = (uint *) (stmap + srcY * pt->stride);              const GLfloat scale = 1.0f / (0xffffff); @@ -214,15 +214,15 @@ st_fast_readpixels(GLcontext *ctx, struct st_renderbuffer *strb,     if (ctx->_ImageTransferState)        return GL_FALSE; -   if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && +   if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&         format == GL_RGBA && type == GL_UNSIGNED_BYTE) {        combo = A8R8G8B8_UNORM_TO_RGBA_UBYTE;     } -   else if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && +   else if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&              format == GL_RGB && type == GL_UNSIGNED_BYTE) {        combo = A8R8G8B8_UNORM_TO_RGB_UBYTE;     } -   else if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && +   else if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&              format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8_REV) {        combo = A8R8G8B8_UNORM_TO_BGRA_UINT;     } @@ -429,8 +429,8 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,        const GLint dstStride = _mesa_image_row_stride(&clippedPacking, width,                                                       format, type); -      if (trans->texture->format == PIPE_FORMAT_S8Z24_UNORM || -          trans->texture->format == PIPE_FORMAT_X8Z24_UNORM) { +      if (trans->texture->format == PIPE_FORMAT_Z24S8_UNORM || +          trans->texture->format == PIPE_FORMAT_Z24X8_UNORM) {           if (format == GL_DEPTH_COMPONENT) {              for (i = 0; i < height; i++) {                 GLuint ztemp[MAX_WIDTH]; @@ -461,8 +461,8 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,              }           }        } -      else if (trans->texture->format == PIPE_FORMAT_Z24S8_UNORM || -               trans->texture->format == PIPE_FORMAT_Z24X8_UNORM) { +      else if (trans->texture->format == PIPE_FORMAT_S8Z24_UNORM || +               trans->texture->format == PIPE_FORMAT_X8Z24_UNORM) {           if (format == GL_DEPTH_COMPONENT) {              for (i = 0; i < height; i++) {                 GLuint ztemp[MAX_WIDTH]; diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 4b48c168e9..32b9a473cf 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -183,7 +183,7 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,        /* this is an odd-ball case */        assert(type == GL_UNSIGNED_BYTE);        assert(normalized); -      return PIPE_FORMAT_B8G8R8A8_UNORM; +      return PIPE_FORMAT_A8R8G8B8_UNORM;     }     if (normalized) { diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index e9ee65576d..79be833768 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -270,28 +270,28 @@ void st_init_extensions(struct st_context *st)     /* GL_EXT_packed_depth_stencil requires both the ability to render to      * a depth/stencil buffer and texture from depth/stencil source.      */ -   if (screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM, +   if (screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM,                                     PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) && -       screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM, +       screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM,                                     PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_SAMPLER, 0)) {        ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;     } -   else if (screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM, +   else if (screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM,                                          PIPE_TEXTURE_2D,                                           PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) && -            screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM, +            screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM,                                          PIPE_TEXTURE_2D,                                           PIPE_TEXTURE_USAGE_SAMPLER, 0)) {        ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;     }     /* sRGB support */ -   if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SRGB, +   if (screen->is_format_supported(screen, PIPE_FORMAT_A8B8G8R8_SRGB,                                     PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_SAMPLER, 0) || -      screen->is_format_supported(screen, PIPE_FORMAT_A8R8G8B8_SRGB, +      screen->is_format_supported(screen, PIPE_FORMAT_B8G8R8A8_SRGB,                                     PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_SAMPLER, 0)) {        ctx->Extensions.EXT_texture_sRGB = GL_TRUE; @@ -310,10 +310,10 @@ void st_init_extensions(struct st_context *st)     }     /* ycbcr support */ -   if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR,  +   if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY,                                      PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_SAMPLER, 0) || -       screen->is_format_supported(screen, PIPE_FORMAT_YCBCR_REV,  +       screen->is_format_supported(screen, PIPE_FORMAT_YUYV,                                      PIPE_TEXTURE_2D,                                      PIPE_TEXTURE_USAGE_SAMPLER, 0)) {        ctx->Extensions.MESA_ycbcr_texture = GL_TRUE; diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index c8f9ac3038..9ae0c9f9ba 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -72,12 +72,12 @@ st_format_datatype(enum pipe_format format)     assert(desc);     if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) { -      if (format == PIPE_FORMAT_A1R5G5B5_UNORM || -          format == PIPE_FORMAT_R5G6B5_UNORM) { +      if (format == PIPE_FORMAT_B5G5R5A1_UNORM || +          format == PIPE_FORMAT_B5G6R5_UNORM) {           return GL_UNSIGNED_SHORT;        } -      else if (format == PIPE_FORMAT_S8Z24_UNORM || -               format == PIPE_FORMAT_Z24S8_UNORM) { +      else if (format == PIPE_FORMAT_Z24S8_UNORM || +               format == PIPE_FORMAT_S8Z24_UNORM) {           return GL_UNSIGNED_INT_24_8;        }        else { @@ -103,10 +103,10 @@ st_format_datatype(enum pipe_format format)           }        }     } -   else if (format == PIPE_FORMAT_YCBCR) { +   else if (format == PIPE_FORMAT_UYVY) {        return GL_UNSIGNED_SHORT;     } -   else if (format == PIPE_FORMAT_YCBCR_REV) { +   else if (format == PIPE_FORMAT_YUYV) {        return GL_UNSIGNED_SHORT;     }     else { @@ -129,17 +129,17 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)        /* fix this */     case MESA_FORMAT_ARGB8888_REV:     case MESA_FORMAT_ARGB8888: -      return PIPE_FORMAT_A8R8G8B8_UNORM; +      return PIPE_FORMAT_B8G8R8A8_UNORM;     case MESA_FORMAT_XRGB8888: -      return PIPE_FORMAT_X8R8G8B8_UNORM; +      return PIPE_FORMAT_B8G8R8X8_UNORM;     case MESA_FORMAT_ARGB1555: -      return PIPE_FORMAT_A1R5G5B5_UNORM; +      return PIPE_FORMAT_B5G5R5A1_UNORM;     case MESA_FORMAT_ARGB4444: -      return PIPE_FORMAT_A4R4G4B4_UNORM; +      return PIPE_FORMAT_B4G4R4A4_UNORM;     case MESA_FORMAT_RGB565: -      return PIPE_FORMAT_R5G6B5_UNORM; +      return PIPE_FORMAT_B5G6R5_UNORM;     case MESA_FORMAT_AL88: -      return PIPE_FORMAT_A8L8_UNORM; +      return PIPE_FORMAT_L8A8_UNORM;     case MESA_FORMAT_A8:        return PIPE_FORMAT_A8_UNORM;     case MESA_FORMAT_L8: @@ -151,11 +151,11 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)     case MESA_FORMAT_Z32:        return PIPE_FORMAT_Z32_UNORM;     case MESA_FORMAT_Z24_S8: -      return PIPE_FORMAT_Z24S8_UNORM; -   case MESA_FORMAT_S8_Z24:        return PIPE_FORMAT_S8Z24_UNORM; +   case MESA_FORMAT_S8_Z24: +      return PIPE_FORMAT_Z24S8_UNORM;     case MESA_FORMAT_YCBCR: -      return PIPE_FORMAT_YCBCR; +      return PIPE_FORMAT_UYVY;  #if FEATURE_texture_s3tc     case MESA_FORMAT_RGB_DXT1:        return PIPE_FORMAT_DXT1_RGB; @@ -178,15 +178,15 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)  #endif  #if FEATURE_EXT_texture_sRGB     case MESA_FORMAT_SLA8: -      return PIPE_FORMAT_A8L8_SRGB; +      return PIPE_FORMAT_L8A8_SRGB;     case MESA_FORMAT_SL8:        return PIPE_FORMAT_L8_SRGB;     case MESA_FORMAT_SRGB8:        return PIPE_FORMAT_R8G8B8_SRGB;     case MESA_FORMAT_SRGBA8: -      return PIPE_FORMAT_R8G8B8A8_SRGB; +      return PIPE_FORMAT_A8B8G8R8_SRGB;     case MESA_FORMAT_SARGB8: -      return PIPE_FORMAT_A8R8G8B8_SRGB; +      return PIPE_FORMAT_B8G8R8A8_SRGB;  #endif     default:        assert(0); @@ -202,21 +202,21 @@ gl_format  st_pipe_format_to_mesa_format(enum pipe_format format)  {     switch (format) { -   case PIPE_FORMAT_A8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8A8_UNORM:        return MESA_FORMAT_ARGB8888; -   case PIPE_FORMAT_X8R8G8B8_UNORM: +   case PIPE_FORMAT_B8G8R8X8_UNORM:        return MESA_FORMAT_XRGB8888; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        return MESA_FORMAT_ARGB8888_REV; -   case PIPE_FORMAT_B8G8R8X8_UNORM: +   case PIPE_FORMAT_X8R8G8B8_UNORM:        return MESA_FORMAT_XRGB8888_REV; -   case PIPE_FORMAT_A1R5G5B5_UNORM: +   case PIPE_FORMAT_B5G5R5A1_UNORM:        return MESA_FORMAT_ARGB1555; -   case PIPE_FORMAT_A4R4G4B4_UNORM: +   case PIPE_FORMAT_B4G4R4A4_UNORM:        return MESA_FORMAT_ARGB4444; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return MESA_FORMAT_RGB565; -   case PIPE_FORMAT_A8L8_UNORM: +   case PIPE_FORMAT_L8A8_UNORM:        return MESA_FORMAT_AL88;     case PIPE_FORMAT_A8_UNORM:        return MESA_FORMAT_A8; @@ -234,18 +234,18 @@ st_pipe_format_to_mesa_format(enum pipe_format format)        return MESA_FORMAT_Z16;     case PIPE_FORMAT_Z32_UNORM:        return MESA_FORMAT_Z32; -   case PIPE_FORMAT_Z24S8_UNORM: +   case PIPE_FORMAT_S8Z24_UNORM:        return MESA_FORMAT_Z24_S8; -   case PIPE_FORMAT_Z24X8_UNORM: -      return MESA_FORMAT_Z24_X8;     case PIPE_FORMAT_X8Z24_UNORM: +      return MESA_FORMAT_Z24_X8; +   case PIPE_FORMAT_Z24X8_UNORM:        return MESA_FORMAT_X8_Z24; -   case PIPE_FORMAT_S8Z24_UNORM: +   case PIPE_FORMAT_Z24S8_UNORM:        return MESA_FORMAT_S8_Z24; -   case PIPE_FORMAT_YCBCR: +   case PIPE_FORMAT_UYVY:        return MESA_FORMAT_YCBCR; -   case PIPE_FORMAT_YCBCR_REV: +   case PIPE_FORMAT_YUYV:        return MESA_FORMAT_YCBCR_REV;  #if FEATURE_texture_s3tc @@ -270,15 +270,15 @@ st_pipe_format_to_mesa_format(enum pipe_format format)  #endif  #if FEATURE_EXT_texture_sRGB -   case PIPE_FORMAT_A8L8_SRGB: +   case PIPE_FORMAT_L8A8_SRGB:        return MESA_FORMAT_SLA8;     case PIPE_FORMAT_L8_SRGB:        return MESA_FORMAT_SL8;     case PIPE_FORMAT_R8G8B8_SRGB:        return MESA_FORMAT_SRGB8; -   case PIPE_FORMAT_R8G8B8A8_SRGB: +   case PIPE_FORMAT_A8B8G8R8_SRGB:        return MESA_FORMAT_SRGBA8; -   case PIPE_FORMAT_A8R8G8B8_SRGB: +   case PIPE_FORMAT_B8G8R8A8_SRGB:        return MESA_FORMAT_SARGB8;  #endif     default: @@ -298,10 +298,10 @@ default_rgba_format(struct pipe_screen *screen,                      unsigned geom_flags)  {     static const enum pipe_format colorFormats[] = { -      PIPE_FORMAT_A8R8G8B8_UNORM,        PIPE_FORMAT_B8G8R8A8_UNORM, -      PIPE_FORMAT_R8G8B8A8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM +      PIPE_FORMAT_A8R8G8B8_UNORM, +      PIPE_FORMAT_A8B8G8R8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM     };     uint i;     for (i = 0; i < Elements(colorFormats); i++) { @@ -322,13 +322,13 @@ default_rgb_format(struct pipe_screen *screen,                     unsigned geom_flags)  {     static const enum pipe_format colorFormats[] = { -      PIPE_FORMAT_X8R8G8B8_UNORM,        PIPE_FORMAT_B8G8R8X8_UNORM, -      PIPE_FORMAT_R8G8B8X8_UNORM, -      PIPE_FORMAT_A8R8G8B8_UNORM, +      PIPE_FORMAT_X8R8G8B8_UNORM, +      PIPE_FORMAT_X8B8G8R8_UNORM,        PIPE_FORMAT_B8G8R8A8_UNORM, -      PIPE_FORMAT_R8G8B8A8_UNORM, -      PIPE_FORMAT_R5G6B5_UNORM +      PIPE_FORMAT_A8R8G8B8_UNORM, +      PIPE_FORMAT_A8B8G8R8_UNORM, +      PIPE_FORMAT_B5G6R5_UNORM     };     uint i;     for (i = 0; i < Elements(colorFormats); i++) { @@ -349,9 +349,9 @@ default_srgba_format(struct pipe_screen *screen,                      unsigned geom_flags)  {     static const enum pipe_format colorFormats[] = { -      PIPE_FORMAT_A8R8G8B8_SRGB,        PIPE_FORMAT_B8G8R8A8_SRGB, -      PIPE_FORMAT_R8G8B8A8_SRGB, +      PIPE_FORMAT_A8R8G8B8_SRGB, +      PIPE_FORMAT_A8B8G8R8_SRGB,     };     uint i;     for (i = 0; i < Elements(colorFormats); i++) { @@ -393,8 +393,8 @@ default_depth_format(struct pipe_screen *screen,     static const enum pipe_format zFormats[] = {        PIPE_FORMAT_Z16_UNORM,        PIPE_FORMAT_Z32_UNORM, -      PIPE_FORMAT_S8Z24_UNORM, -      PIPE_FORMAT_Z24S8_UNORM +      PIPE_FORMAT_Z24S8_UNORM, +      PIPE_FORMAT_S8Z24_UNORM     };     uint i;     for (i = 0; i < Elements(zFormats); i++) { @@ -439,13 +439,13 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,     case GL_RGBA4:     case GL_RGBA2: -      if (screen->is_format_supported( screen, PIPE_FORMAT_A4R4G4B4_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_A4R4G4B4_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_B4G4R4A4_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_B4G4R4A4_UNORM;        return default_rgba_format( screen, target, tex_usage, geom_flags );     case GL_RGB5_A1: -      if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_A1R5G5B5_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_B5G5R5A1_UNORM;        return default_rgba_format( screen, target, tex_usage, geom_flags );     case GL_RGB8: @@ -457,10 +457,10 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,     case GL_RGB5:     case GL_RGB4:     case GL_R3_G3_B2: -      if (screen->is_format_supported( screen, PIPE_FORMAT_R5G6B5_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_R5G6B5_UNORM; -      if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_A1R5G5B5_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_B5G6R5_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_B5G6R5_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_B5G5R5A1_UNORM;        return default_rgba_format( screen, target, tex_usage, geom_flags );     case GL_ALPHA: @@ -493,8 +493,8 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,     case GL_LUMINANCE12_ALPHA12:     case GL_LUMINANCE16_ALPHA16:     case GL_COMPRESSED_LUMINANCE_ALPHA: -      if (screen->is_format_supported( screen, PIPE_FORMAT_A8L8_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_A8L8_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_L8A8_UNORM;        return default_rgba_format( screen, target, tex_usage, geom_flags );     case GL_INTENSITY: @@ -508,13 +508,13 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,        return default_rgba_format( screen, target, tex_usage, geom_flags );     case GL_YCBCR_MESA: -      if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR, +      if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY,                                        target, tex_usage, geom_flags)) { -         return PIPE_FORMAT_YCBCR; +         return PIPE_FORMAT_UYVY;        } -      if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR_REV, +      if (screen->is_format_supported(screen, PIPE_FORMAT_YUYV,                                        target, tex_usage, geom_flags)) { -         return PIPE_FORMAT_YCBCR_REV; +         return PIPE_FORMAT_YUYV;        }        return PIPE_FORMAT_NONE; @@ -546,10 +546,10 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,           return PIPE_FORMAT_Z16_UNORM;        /* fall-through */     case GL_DEPTH_COMPONENT24: -      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_S8Z24_UNORM;        if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))           return PIPE_FORMAT_Z24S8_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_S8Z24_UNORM;        /* fall-through */     case GL_DEPTH_COMPONENT32:        if (screen->is_format_supported( screen, PIPE_FORMAT_Z32_UNORM, target, tex_usage, geom_flags )) @@ -565,18 +565,18 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,     case GL_STENCIL_INDEX16_EXT:        if (screen->is_format_supported( screen, PIPE_FORMAT_S8_UNORM, target, tex_usage, geom_flags ))           return PIPE_FORMAT_S8_UNORM; -      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_S8Z24_UNORM;        if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))           return PIPE_FORMAT_Z24S8_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_S8Z24_UNORM;        return PIPE_FORMAT_NONE;     case GL_DEPTH_STENCIL_EXT:     case GL_DEPTH24_STENCIL8_EXT: -      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_S8Z24_UNORM;        if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))           return PIPE_FORMAT_Z24S8_UNORM; +      if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_S8Z24_UNORM;        return PIPE_FORMAT_NONE;     case GL_SRGB_EXT: @@ -599,8 +599,8 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,     case GL_SLUMINANCE8_ALPHA8_EXT:     case GL_COMPRESSED_SLUMINANCE_EXT:     case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: -      if (screen->is_format_supported( screen, PIPE_FORMAT_A8L8_SRGB, target, tex_usage, geom_flags )) -         return PIPE_FORMAT_A8L8_SRGB; +      if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_SRGB, target, tex_usage, geom_flags )) +         return PIPE_FORMAT_L8A8_SRGB;        return default_srgba_format( screen, target, tex_usage, geom_flags );     case GL_SLUMINANCE_EXT: @@ -680,11 +680,11 @@ GLboolean  st_equal_formats(enum pipe_format pFormat, GLenum format, GLenum type)  {     switch (pFormat) { -   case PIPE_FORMAT_R8G8B8A8_UNORM: +   case PIPE_FORMAT_A8B8G8R8_UNORM:        return format == GL_RGBA && type == GL_UNSIGNED_BYTE; -   case PIPE_FORMAT_B8G8R8A8_UNORM: +   case PIPE_FORMAT_A8R8G8B8_UNORM:        return format == GL_BGRA && type == GL_UNSIGNED_BYTE; -   case PIPE_FORMAT_R5G6B5_UNORM: +   case PIPE_FORMAT_B5G6R5_UNORM:        return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5;     /* XXX more combos... */     default: | 
