00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #ifndef PIPE_DEFINES_H
00029 #define PIPE_DEFINES_H
00030 
00031 #include "p_format.h"
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #define PIPE_BLENDFACTOR_ONE                 0x1
00038 #define PIPE_BLENDFACTOR_SRC_COLOR           0x2
00039 #define PIPE_BLENDFACTOR_SRC_ALPHA           0x3
00040 #define PIPE_BLENDFACTOR_DST_ALPHA           0x4
00041 #define PIPE_BLENDFACTOR_DST_COLOR           0x5
00042 #define PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE  0x6
00043 #define PIPE_BLENDFACTOR_CONST_COLOR         0x7
00044 #define PIPE_BLENDFACTOR_CONST_ALPHA         0x8
00045 #define PIPE_BLENDFACTOR_SRC1_COLOR          0x9
00046 #define PIPE_BLENDFACTOR_SRC1_ALPHA          0x0A
00047 #define PIPE_BLENDFACTOR_ZERO                0x11
00048 #define PIPE_BLENDFACTOR_INV_SRC_COLOR       0x12
00049 #define PIPE_BLENDFACTOR_INV_SRC_ALPHA       0x13
00050 #define PIPE_BLENDFACTOR_INV_DST_ALPHA       0x14
00051 #define PIPE_BLENDFACTOR_INV_DST_COLOR       0x15
00052 #define PIPE_BLENDFACTOR_INV_CONST_COLOR     0x17
00053 #define PIPE_BLENDFACTOR_INV_CONST_ALPHA     0x18
00054 #define PIPE_BLENDFACTOR_INV_SRC1_COLOR      0x19
00055 #define PIPE_BLENDFACTOR_INV_SRC1_ALPHA      0x1A
00056 
00057 #define PIPE_BLEND_ADD               0
00058 #define PIPE_BLEND_SUBTRACT          1
00059 #define PIPE_BLEND_REVERSE_SUBTRACT  2
00060 #define PIPE_BLEND_MIN               3
00061 #define PIPE_BLEND_MAX               4
00062 
00063 #define PIPE_LOGICOP_CLEAR            0
00064 #define PIPE_LOGICOP_NOR              1
00065 #define PIPE_LOGICOP_AND_INVERTED     2
00066 #define PIPE_LOGICOP_COPY_INVERTED    3
00067 #define PIPE_LOGICOP_AND_REVERSE      4
00068 #define PIPE_LOGICOP_INVERT           5
00069 #define PIPE_LOGICOP_XOR              6
00070 #define PIPE_LOGICOP_NAND             7
00071 #define PIPE_LOGICOP_AND              8
00072 #define PIPE_LOGICOP_EQUIV            9
00073 #define PIPE_LOGICOP_NOOP             10
00074 #define PIPE_LOGICOP_OR_INVERTED      11
00075 #define PIPE_LOGICOP_COPY             12
00076 #define PIPE_LOGICOP_OR_REVERSE       13
00077 #define PIPE_LOGICOP_OR               14
00078 #define PIPE_LOGICOP_SET              15  
00079 
00080 #define PIPE_MASK_R  0x1
00081 #define PIPE_MASK_G  0x2
00082 #define PIPE_MASK_B  0x4
00083 #define PIPE_MASK_A  0x8
00084 #define PIPE_MASK_RGBA 0xf
00085 
00086 
00091 #define PIPE_FUNC_NEVER    0
00092 #define PIPE_FUNC_LESS     1
00093 #define PIPE_FUNC_EQUAL    2
00094 #define PIPE_FUNC_LEQUAL   3
00095 #define PIPE_FUNC_GREATER  4
00096 #define PIPE_FUNC_NOTEQUAL 5
00097 #define PIPE_FUNC_GEQUAL   6
00098 #define PIPE_FUNC_ALWAYS   7
00099 
00101 #define PIPE_POLYGON_MODE_FILL  0
00102 #define PIPE_POLYGON_MODE_LINE  1
00103 #define PIPE_POLYGON_MODE_POINT 2
00104 
00106 #define PIPE_WINDING_NONE 0
00107 #define PIPE_WINDING_CW   1
00108 #define PIPE_WINDING_CCW  2
00109 #define PIPE_WINDING_BOTH (PIPE_WINDING_CW | PIPE_WINDING_CCW)
00110 
00112 #define PIPE_STENCIL_OP_KEEP       0
00113 #define PIPE_STENCIL_OP_ZERO       1
00114 #define PIPE_STENCIL_OP_REPLACE    2
00115 #define PIPE_STENCIL_OP_INCR       3
00116 #define PIPE_STENCIL_OP_DECR       4
00117 #define PIPE_STENCIL_OP_INCR_WRAP  5
00118 #define PIPE_STENCIL_OP_DECR_WRAP  6
00119 #define PIPE_STENCIL_OP_INVERT     7
00120 
00122 enum pipe_texture_target {
00123    PIPE_TEXTURE_1D   = 0,
00124    PIPE_TEXTURE_2D   = 1,
00125    PIPE_TEXTURE_3D   = 2,
00126    PIPE_TEXTURE_CUBE = 3
00127 };
00128 
00129 #define PIPE_TEX_FACE_POS_X 0
00130 #define PIPE_TEX_FACE_NEG_X 1
00131 #define PIPE_TEX_FACE_POS_Y 2
00132 #define PIPE_TEX_FACE_NEG_Y 3
00133 #define PIPE_TEX_FACE_POS_Z 4
00134 #define PIPE_TEX_FACE_NEG_Z 5
00135 
00136 #define PIPE_TEX_WRAP_REPEAT                   0
00137 #define PIPE_TEX_WRAP_CLAMP                    1
00138 #define PIPE_TEX_WRAP_CLAMP_TO_EDGE            2
00139 #define PIPE_TEX_WRAP_CLAMP_TO_BORDER          3
00140 #define PIPE_TEX_WRAP_MIRROR_REPEAT            4
00141 #define PIPE_TEX_WRAP_MIRROR_CLAMP             5
00142 #define PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE     6
00143 #define PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER   7
00144 
00145 
00146 
00147 #define PIPE_TEX_MIPFILTER_NEAREST  0
00148 #define PIPE_TEX_MIPFILTER_LINEAR   1
00149 #define PIPE_TEX_MIPFILTER_NONE     2
00150 
00151 
00152 
00153 #define PIPE_TEX_FILTER_NEAREST      0
00154 #define PIPE_TEX_FILTER_LINEAR       1
00155 #define PIPE_TEX_FILTER_ANISO        2 
00156 
00157 
00158 #define PIPE_TEX_COMPARE_NONE          0
00159 #define PIPE_TEX_COMPARE_R_TO_TEXTURE  1
00160 
00161 #define PIPE_TEX_FACE_POS_X   0
00162 #define PIPE_TEX_FACE_NEG_X   1
00163 #define PIPE_TEX_FACE_POS_Y   2
00164 #define PIPE_TEX_FACE_NEG_Y   3
00165 #define PIPE_TEX_FACE_POS_Z   4
00166 #define PIPE_TEX_FACE_NEG_Z   5
00167 #define PIPE_TEX_FACE_MAX     6
00168 
00169 #define PIPE_TEXTURE_USAGE_RENDER_TARGET   0x1
00170 #define PIPE_TEXTURE_USAGE_DISPLAY_TARGET  0x2 
00171 #define PIPE_TEXTURE_USAGE_PRIMARY         0x4 
00172 #define PIPE_TEXTURE_USAGE_DEPTH_STENCIL   0x8
00173 #define PIPE_TEXTURE_USAGE_SAMPLER         0x10
00174 
00175 #define PIPE_TEXTURE_GEOM_NON_SQUARE       0x1
00176 #define PIPE_TEXTURE_GEOM_NON_POWER_OF_TWO 0x2
00177 
00178 
00182 #define PIPE_SURFACE_LAYOUT_LINEAR  0
00183 
00184 
00188 #define PIPE_SURFACE_STATUS_UNDEFINED  0
00189 #define PIPE_SURFACE_STATUS_DEFINED    1
00190 #define PIPE_SURFACE_STATUS_CLEAR      2
00191 
00192 
00196 #define PIPE_BUFFER_USAGE_CPU_READ  (1 << 0)
00197 #define PIPE_BUFFER_USAGE_CPU_WRITE (1 << 1)
00198 #define PIPE_BUFFER_USAGE_GPU_READ  (1 << 2)
00199 #define PIPE_BUFFER_USAGE_GPU_WRITE (1 << 3)
00200 #define PIPE_BUFFER_USAGE_PIXEL     (1 << 4)
00201 #define PIPE_BUFFER_USAGE_VERTEX    (1 << 5)
00202 #define PIPE_BUFFER_USAGE_INDEX     (1 << 6)
00203 #define PIPE_BUFFER_USAGE_CONSTANT  (1 << 7)
00204 #define PIPE_BUFFER_USAGE_DISCARD   (1 << 8)
00205 #define PIPE_BUFFER_USAGE_DONTBLOCK (1 << 9)
00206 
00207 #define PIPE_BUFFER_USAGE_CUSTOM    (1 << 16)
00208 
00209 
00210 #define PIPE_BUFFER_USAGE_CPU_READ_WRITE \
00211    ( PIPE_BUFFER_USAGE_CPU_READ | PIPE_BUFFER_USAGE_CPU_WRITE )
00212 #define PIPE_BUFFER_USAGE_GPU_READ_WRITE \
00213    ( PIPE_BUFFER_USAGE_GPU_READ | PIPE_BUFFER_USAGE_GPU_WRITE )
00214 #define PIPE_BUFFER_USAGE_WRITE \
00215    ( PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_GPU_WRITE )
00216 
00217 
00221 #define PIPE_FLUSH_RENDER_CACHE   0x1
00222 #define PIPE_FLUSH_TEXTURE_CACHE  0x2
00223 #define PIPE_FLUSH_SWAPBUFFERS    0x4
00224 #define PIPE_FLUSH_FRAME          0x8 
00230 #define PIPE_SHADER_VERTEX   0
00231 #define PIPE_SHADER_FRAGMENT 1
00232 #define PIPE_SHADER_TYPES    2
00233 
00234 
00238 #define PIPE_PRIM_POINTS          0
00239 #define PIPE_PRIM_LINES           1
00240 #define PIPE_PRIM_LINE_LOOP       2
00241 #define PIPE_PRIM_LINE_STRIP      3
00242 #define PIPE_PRIM_TRIANGLES       4
00243 #define PIPE_PRIM_TRIANGLE_STRIP  5
00244 #define PIPE_PRIM_TRIANGLE_FAN    6
00245 #define PIPE_PRIM_QUADS           7
00246 #define PIPE_PRIM_QUAD_STRIP      8
00247 #define PIPE_PRIM_POLYGON         9
00248 
00249 
00253 #define PIPE_QUERY_OCCLUSION_COUNTER     0
00254 #define PIPE_QUERY_PRIMITIVES_GENERATED  1
00255 #define PIPE_QUERY_PRIMITIVES_EMITTED    2
00256 #define PIPE_QUERY_TYPES                 3
00257 
00258 
00262 #define PIPE_SPRITE_COORD_NONE       0
00263 #define PIPE_SPRITE_COORD_UPPER_LEFT 1
00264 #define PIPE_SPRITE_COORD_LOWER_LEFT 2
00265 
00266 
00272 #define PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS 1
00273 #define PIPE_CAP_NPOT_TEXTURES           2
00274 #define PIPE_CAP_TWO_SIDED_STENCIL       3
00275 #define PIPE_CAP_GLSL                    4  
00276 #define PIPE_CAP_S3TC                    5
00277 #define PIPE_CAP_ANISOTROPIC_FILTER      6
00278 #define PIPE_CAP_POINT_SPRITE            7
00279 #define PIPE_CAP_MAX_RENDER_TARGETS      8
00280 #define PIPE_CAP_OCCLUSION_QUERY         9
00281 #define PIPE_CAP_TEXTURE_SHADOW_MAP      10
00282 #define PIPE_CAP_MAX_TEXTURE_2D_LEVELS   11
00283 #define PIPE_CAP_MAX_TEXTURE_3D_LEVELS   12
00284 #define PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS 13
00285 #define PIPE_CAP_MAX_LINE_WIDTH          14
00286 #define PIPE_CAP_MAX_LINE_WIDTH_AA       15
00287 #define PIPE_CAP_MAX_POINT_WIDTH         16
00288 #define PIPE_CAP_MAX_POINT_WIDTH_AA      17
00289 #define PIPE_CAP_MAX_TEXTURE_ANISOTROPY  18
00290 #define PIPE_CAP_MAX_TEXTURE_LOD_BIAS    19
00291 #define PIPE_CAP_GUARD_BAND_LEFT         20  
00292 #define PIPE_CAP_GUARD_BAND_TOP          21  
00293 #define PIPE_CAP_GUARD_BAND_RIGHT        22  
00294 #define PIPE_CAP_GUARD_BAND_BOTTOM       23  
00295 #define PIPE_CAP_TEXTURE_MIRROR_CLAMP    24
00296 #define PIPE_CAP_TEXTURE_MIRROR_REPEAT   25
00297 
00298 
00299 
00300 #ifdef __cplusplus
00301 }
00302 #endif
00303 
00304 #endif