fix bad varname
[mesa.git] / src / mesa / pipe / p_defines.h
index 9eb4c3743488471d09e84fe96e9746ef445b18f4..ca9929bfeec3df8e28bb1b8c4e6d0028b49bfbb6 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef PIPE_DEFINES_H
 #define PIPE_DEFINES_H
 
+#include "p_format.h"
+
 #define PIPE_BLENDFACTOR_ONE                 0x1
 #define PIPE_BLENDFACTOR_SRC_COLOR           0x2
 #define PIPE_BLENDFACTOR_SRC_ALPHA           0x3
 #define PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE     6
 #define PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER   7
 
-#define PIPE_TEX_FILTER_NEAREST                0
-#define PIPE_TEX_FILTER_LINEAR                 1
-#define PIPE_TEX_FILTER_NEAREST_MIPMAP_NEAREST 2
-#define PIPE_TEX_FILTER_NEAREST_MIPMAP_LINEAR  3
-#define PIPE_TEX_FILTER_LINEAR_MIPMAP_NEAREST  4
-#define PIPE_TEX_FILTER_LINEAR_MIPMAP_LINEAR   5
+/* Between mipmaps, ie mipfilter
+ */
+#define PIPE_TEX_MIPFILTER_NEAREST  0
+#define PIPE_TEX_MIPFILTER_LINEAR   1
+#define PIPE_TEX_MIPFILTER_NONE     2
+
+/* Within a mipmap, ie min/mag filter 
+ */
+#define PIPE_TEX_FILTER_NEAREST      0
+#define PIPE_TEX_FILTER_LINEAR       1
+//#define PIPE_TEX_FILTER_ANISO        2
+
 
 #define PIPE_TEX_COMPARE_NONE          0
 #define PIPE_TEX_COMPARE_R_TO_TEXTURE  1
 
+#define PIPE_TEX_FACE_POS_X   0
+#define PIPE_TEX_FACE_NEG_X   1
+#define PIPE_TEX_FACE_POS_Y   2
+#define PIPE_TEX_FACE_NEG_Y   3
+#define PIPE_TEX_FACE_POS_Z   4
+#define PIPE_TEX_FACE_NEG_Z   5
+#define PIPE_TEX_FACE_MAX     6
 
 /**
- * Texture/surface image formats (preliminary)
+ * Surface flags
  */
-#define PIPE_FORMAT_NONE               0  /**< unstructured */
-#define PIPE_FORMAT_U_R8_G8_B8_A8      1  /**< ubyte[4] RGBA */
-#define PIPE_FORMAT_U_A8_R8_G8_B8      2  /**< ubyte[4] ARGB */
-#define PIPE_FORMAT_U_A1_R5_G5_B5      3  /**< 16-bit packed RGBA */
-#define PIPE_FORMAT_U_A4_R4_G4_B4      4  /**< 16-bit packed RGBA */
-#define PIPE_FORMAT_U_R5_G6_B5         5  /**< 16-bit packed RGB */
-#define PIPE_FORMAT_U_L8               6  /**< ubyte luminance */
-#define PIPE_FORMAT_U_A8               7  /**< ubyte alpha */
-#define PIPE_FORMAT_U_I8               8  /**< ubyte intensity */
-#define PIPE_FORMAT_U_L8_A8            9  /**< ubyte luminance, alpha */
-#define PIPE_FORMAT_S_R16_G16_B16_A16 10  /**< signed 16-bit RGBA (accum) */
-#define PIPE_FORMAT_YCBCR             11
-#define PIPE_FORMAT_YCBCR_REV         12
-#define PIPE_FORMAT_U_Z16             13  /**< ushort Z/depth */
-#define PIPE_FORMAT_U_Z32             14  /**< uint Z/depth */
-#define PIPE_FORMAT_F_Z32             15  /**< float Z/depth */
-#define PIPE_FORMAT_S8_Z24            16  /**< 8-bit stencil + 24-bit Z */
-#define PIPE_FORMAT_U_S8              17  /**< 8-bit stencil */
-#define PIPE_FORMAT_COUNT             18  /**< number of formats */
+#define PIPE_SURFACE_FLAG_TEXTURE 0x1
+#define PIPE_SURFACE_FLAG_RENDER  0x2
 
 
 /**
- * Buffer mapping access modes
+ * Buffer access flags
  */
-#define PIPE_MAP_READ         1
-#define PIPE_MAP_WRITE        2
-#define PIPE_MAP_READ_WRITE   3
+#define PIPE_BUFFER_FLAG_READ    0x1
+#define PIPE_BUFFER_FLAG_WRITE   0x2
+
 
+/**
+ * Buffer usage flags
+ */
+#define PIPE_BUFFER_USAGE_PIXEL    (1 << 0)
+#define PIPE_BUFFER_USAGE_VERTEX   (1 << 1)
+#define PIPE_BUFFER_USAGE_INDEX    (1 << 2)
+#define PIPE_BUFFER_USAGE_CONSTANT (1 << 3)
+/** Pipe driver custam usage flags should be greater or equal to this value */
+#define PIPE_BUFFER_USAGE_CUSTOM   (1 << 16)
 
 /** 
  * Flush types:
 #define PIPE_FLUSH_RENDER_CACHE  0x1
 #define PIPE_FLUSH_TEXTURE_CACHE  0x2
 
+
+/**
+ * Shaders
+ */
+#define PIPE_SHADER_VERTEX   0
+#define PIPE_SHADER_FRAGMENT 1
+#define PIPE_SHADER_TYPES    2
+
+
+/**
+ * Primitive types:
+ */
+#define PIPE_PRIM_POINTS          0
+#define PIPE_PRIM_LINES           1
+#define PIPE_PRIM_LINE_LOOP       2
+#define PIPE_PRIM_LINE_STRIP      3
+#define PIPE_PRIM_TRIANGLES       4
+#define PIPE_PRIM_TRIANGLE_STRIP  5
+#define PIPE_PRIM_TRIANGLE_FAN    6
+#define PIPE_PRIM_QUADS           7
+#define PIPE_PRIM_QUAD_STRIP      8
+#define PIPE_PRIM_POLYGON         9
+
+
+/**
+ * Query object types
+ */
+#define PIPE_QUERY_OCCLUSION_COUNTER     0
+#define PIPE_QUERY_PRIMITIVES_GENERATED  1
+#define PIPE_QUERY_PRIMITIVES_EMITTED    2
+#define PIPE_QUERY_TYPES                 3
+
+
+/**
+ * Point sprite coord modes
+ */
+#define PIPE_SPRITE_COORD_NONE       0
+#define PIPE_SPRITE_COORD_UPPER_LEFT 1
+#define PIPE_SPRITE_COORD_LOWER_LEFT 2
+
+
+/**
+ * Implementation capabilities/limits
+ * Passed to pipe->get_param()
+ * XXX this will need some fine tuning...
+ */
+#define PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS 1
+#define PIPE_CAP_NPOT_TEXTURES           2
+#define PIPE_CAP_TWO_SIDED_STENCIL       3
+#define PIPE_CAP_GLSL                    4  /* XXX need something better */
+#define PIPE_CAP_S3TC                    5
+#define PIPE_CAP_ANISOTROPIC_FILTER      6
+#define PIPE_CAP_POINT_SPRITE            7
+#define PIPE_CAP_MAX_RENDER_TARGETS      8
+#define PIPE_CAP_OCCLUSION_QUERY         9
+#define PIPE_CAP_TEXTURE_SHADOW_MAP      10
+#define PIPE_CAP_MAX_TEXTURE_2D_LEVELS   11
+#define PIPE_CAP_MAX_TEXTURE_3D_LEVELS   12
+#define PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS 13
+
 #endif