Merge remote branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / include / pipe / p_format.h
index c7a90a09a12ab2d42586bd8d0a3d748beca02f16..f3b1e5561cf1f3cfb9a99e82e13bd41e5de176eb 100644 (file)
 #ifndef PIPE_FORMAT_H
 #define PIPE_FORMAT_H
 
-#include "p_compiler.h"
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+
+enum pipe_type {
+   PIPE_TYPE_UNORM = 0,
+   PIPE_TYPE_SNORM,
+   PIPE_TYPE_SINT,
+   PIPE_TYPE_UINT,
+   PIPE_TYPE_FLOAT,
+   PIPE_TYPE_COUNT
+};
+
 /**
  * Texture/surface image formats (preliminary)
  */
@@ -171,6 +179,7 @@ enum pipe_format {
    PIPE_FORMAT_R8SG8SB8UX8U_NORM       = 119,
    PIPE_FORMAT_R5SG5SB6U_NORM          = 120,
 
+   /* TODO: re-order these */
    PIPE_FORMAT_A8B8G8R8_UNORM          = 121,
    PIPE_FORMAT_B5G5R5X1_UNORM          = 122,
    PIPE_FORMAT_R10G10B10A2_USCALED     = 123,
@@ -178,11 +187,45 @@ enum pipe_format {
    PIPE_FORMAT_R9G9B9E5_FLOAT          = 125,
    PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED = 126,
    PIPE_FORMAT_R1_UNORM                = 127,
+   PIPE_FORMAT_R10G10B10X2_USCALED     = 128,
+   PIPE_FORMAT_R10G10B10X2_SNORM       = 129,
+   PIPE_FORMAT_L4A4_UNORM              = 130,
+   PIPE_FORMAT_B10G10R10A2_UNORM       = 131,
+   PIPE_FORMAT_R10SG10SB10SA2U_NORM    = 132,
+   PIPE_FORMAT_R8G8Bx_SNORM            = 133,
+   PIPE_FORMAT_R8G8B8X8_UNORM          = 134,
+   PIPE_FORMAT_B4G4R4X4_UNORM          = 135,
+
+   PIPE_FORMAT_YV12                  = 136,
+   PIPE_FORMAT_YV16                  = 137,
+   PIPE_FORMAT_IYUV                  = 138,  /**< aka I420 */
+   PIPE_FORMAT_NV12                  = 139,
+   PIPE_FORMAT_NV21                  = 140,
+   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_IA44                  = 141,
+   PIPE_FORMAT_AI44                  = 142,
+
+   /* some stencil samplers formats */
+   PIPE_FORMAT_X24S8_USCALED           = 143,
+   PIPE_FORMAT_S8X24_USCALED           = 144,
+   PIPE_FORMAT_X32_S8X24_USCALED       = 145,
+
+   PIPE_FORMAT_B2G3R3_UNORM            = 146,
+   PIPE_FORMAT_L16A16_UNORM            = 147,
+   PIPE_FORMAT_A16_UNORM               = 148,
+   PIPE_FORMAT_I16_UNORM               = 149,
+
+   PIPE_FORMAT_LATC1_UNORM             = 143,
+   PIPE_FORMAT_LATC1_SNORM             = 144,
+   PIPE_FORMAT_LATC2_UNORM             = 145,
+   PIPE_FORMAT_LATC2_SNORM             = 146,
 
    PIPE_FORMAT_COUNT
 };
 
-
 enum pipe_video_chroma_format
 {
    PIPE_VIDEO_CHROMA_FORMAT_420,
@@ -190,17 +233,6 @@ enum pipe_video_chroma_format
    PIPE_VIDEO_CHROMA_FORMAT_444
 };
 
-#if 0
-enum pipe_video_surface_format
-{
-   PIPE_VIDEO_SURFACE_FORMAT_NV12,  /**< Planar; Y plane, UV plane */
-   PIPE_VIDEO_SURFACE_FORMAT_YV12,  /**< Planar; Y plane, U plane, V plane */
-   PIPE_VIDEO_SURFACE_FORMAT_YUYV,  /**< Interleaved; Y,U,Y,V,Y,U,Y,V */
-   PIPE_VIDEO_SURFACE_FORMAT_UYVY,  /**< Interleaved; U,Y,V,Y,U,Y,V,Y */
-   PIPE_VIDEO_SURFACE_FORMAT_VUYA   /**< Packed; A31-24|Y23-16|U15-8|V7-0 */
-};
-#endif
-
 #ifdef __cplusplus
 }
 #endif