freedreno: use OUT_RELOCW when buffer is written
[mesa.git] / src / gallium / include / pipe / p_format.h
index f229a5ad545ff181497ebbbf3f5f70db0b11f70e..a7fdcd0f4a7660735f670e906e994c9661e38b02 100644 (file)
@@ -1,6 +1,6 @@
 /**************************************************************************
  * 
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * Copyright 2007 VMware, Inc.
  * Copyright (c) 2008 VMware, Inc.
  * All Rights Reserved.
  * 
@@ -19,7 +19,7 @@
  * 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
+ * IN NO EVENT SHALL VMWARE 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.
@@ -33,6 +33,7 @@
 extern "C" {
 #endif
 
+#include "p_config.h"
 
 enum pipe_type {
    PIPE_TYPE_UNORM = 0,
@@ -234,13 +235,9 @@ enum pipe_format {
    PIPE_FORMAT_IYUV                    = 165,  /**< aka I420 */
    PIPE_FORMAT_NV12                    = 166,
    PIPE_FORMAT_NV21                    = 167,
-   PIPE_FORMAT_AYUV                    = PIPE_FORMAT_A8R8G8B8_UNORM,
-   PIPE_FORMAT_VUYA                    = PIPE_FORMAT_B8G8R8A8_UNORM,
-   PIPE_FORMAT_XYUV                    = PIPE_FORMAT_X8R8G8B8_UNORM,
-   PIPE_FORMAT_VUYX                    = PIPE_FORMAT_B8G8R8X8_UNORM,
 
-   PIPE_FORMAT_R4A4_UNORM              = 168,
-   PIPE_FORMAT_A4R4_UNORM              = 169,
+   PIPE_FORMAT_A4R4_UNORM              = 168,
+   PIPE_FORMAT_R4A4_UNORM              = 169,
    PIPE_FORMAT_R8A8_UNORM              = 170,
    PIPE_FORMAT_A8R8_UNORM              = 171,
 
@@ -312,11 +309,68 @@ enum pipe_format {
    PIPE_FORMAT_L32A32_SINT             = 224,
 
    PIPE_FORMAT_B10G10R10A2_UINT        = 225, 
+
+   PIPE_FORMAT_ETC1_RGB8               = 226,
+
+   PIPE_FORMAT_R8G8_R8B8_UNORM         = 227,
+   PIPE_FORMAT_G8R8_B8R8_UNORM         = 228,
+
+   PIPE_FORMAT_R8G8B8X8_SNORM          = 229,
+   PIPE_FORMAT_R8G8B8X8_SRGB           = 230,
+   PIPE_FORMAT_R8G8B8X8_UINT           = 231,
+   PIPE_FORMAT_R8G8B8X8_SINT           = 232,
+   PIPE_FORMAT_B10G10R10X2_UNORM       = 233,
+   PIPE_FORMAT_R16G16B16X16_UNORM      = 234,
+   PIPE_FORMAT_R16G16B16X16_SNORM      = 235,
+   PIPE_FORMAT_R16G16B16X16_FLOAT      = 236,
+   PIPE_FORMAT_R16G16B16X16_UINT       = 237,
+   PIPE_FORMAT_R16G16B16X16_SINT       = 238,
+   PIPE_FORMAT_R32G32B32X32_FLOAT      = 239,
+   PIPE_FORMAT_R32G32B32X32_UINT       = 240,
+   PIPE_FORMAT_R32G32B32X32_SINT       = 241,
+
+   PIPE_FORMAT_R8A8_SNORM              = 242,
+   PIPE_FORMAT_R16A16_UNORM            = 243,
+   PIPE_FORMAT_R16A16_SNORM            = 244,
+   PIPE_FORMAT_R16A16_FLOAT            = 245,
+   PIPE_FORMAT_R32A32_FLOAT            = 246,
+   PIPE_FORMAT_R8A8_UINT               = 247,
+   PIPE_FORMAT_R8A8_SINT               = 248,
+   PIPE_FORMAT_R16A16_UINT             = 249,
+   PIPE_FORMAT_R16A16_SINT             = 250,
+   PIPE_FORMAT_R32A32_UINT             = 251,
+   PIPE_FORMAT_R32A32_SINT             = 252,
+   PIPE_FORMAT_R10G10B10A2_UINT        = 253,
+
+   PIPE_FORMAT_B5G6R5_SRGB             = 254,
+
    PIPE_FORMAT_COUNT
 };
 
+#if defined(PIPE_ARCH_LITTLE_ENDIAN)
+#define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM
+#define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM
+#define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM
+#define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
+#define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM
+#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM
+#define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM
+#define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM
+#elif defined(PIPE_ARCH_BIG_ENDIAN)
+#define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM
+#define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM
+#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
+#define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM
+#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
+#define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM
+#define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM
+#define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM
+#define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM
+#endif
+
 enum pipe_video_chroma_format
 {
+   PIPE_VIDEO_CHROMA_FORMAT_400,
    PIPE_VIDEO_CHROMA_FORMAT_420,
    PIPE_VIDEO_CHROMA_FORMAT_422,
    PIPE_VIDEO_CHROMA_FORMAT_444