blob: 36990699f86c7ec51785f9bd6664f82f95f10403 [file] [log] [blame]
/* automatically generated by rust-bindgen */
pub const _POSIX_PIPE_BUF: u32 = 512;
pub const PIPE_BUF: u32 = 4096;
pub const PIPE_BLENDFACTOR_ONE: u32 = 1;
pub const PIPE_BLENDFACTOR_SRC_COLOR: u32 = 2;
pub const PIPE_BLENDFACTOR_SRC_ALPHA: u32 = 3;
pub const PIPE_BLENDFACTOR_DST_ALPHA: u32 = 4;
pub const PIPE_BLENDFACTOR_DST_COLOR: u32 = 5;
pub const PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE: u32 = 6;
pub const PIPE_BLENDFACTOR_CONST_COLOR: u32 = 7;
pub const PIPE_BLENDFACTOR_CONST_ALPHA: u32 = 8;
pub const PIPE_BLENDFACTOR_SRC1_COLOR: u32 = 9;
pub const PIPE_BLENDFACTOR_SRC1_ALPHA: u32 = 10;
pub const PIPE_BLENDFACTOR_ZERO: u32 = 17;
pub const PIPE_BLENDFACTOR_INV_SRC_COLOR: u32 = 18;
pub const PIPE_BLENDFACTOR_INV_SRC_ALPHA: u32 = 19;
pub const PIPE_BLENDFACTOR_INV_DST_ALPHA: u32 = 20;
pub const PIPE_BLENDFACTOR_INV_DST_COLOR: u32 = 21;
pub const PIPE_BLENDFACTOR_INV_CONST_COLOR: u32 = 23;
pub const PIPE_BLENDFACTOR_INV_CONST_ALPHA: u32 = 24;
pub const PIPE_BLENDFACTOR_INV_SRC1_COLOR: u32 = 25;
pub const PIPE_BLENDFACTOR_INV_SRC1_ALPHA: u32 = 26;
pub const PIPE_BLEND_ADD: u32 = 0;
pub const PIPE_BLEND_SUBTRACT: u32 = 1;
pub const PIPE_BLEND_REVERSE_SUBTRACT: u32 = 2;
pub const PIPE_BLEND_MIN: u32 = 3;
pub const PIPE_BLEND_MAX: u32 = 4;
pub const PIPE_LOGICOP_CLEAR: u32 = 0;
pub const PIPE_LOGICOP_NOR: u32 = 1;
pub const PIPE_LOGICOP_AND_INVERTED: u32 = 2;
pub const PIPE_LOGICOP_COPY_INVERTED: u32 = 3;
pub const PIPE_LOGICOP_AND_REVERSE: u32 = 4;
pub const PIPE_LOGICOP_INVERT: u32 = 5;
pub const PIPE_LOGICOP_XOR: u32 = 6;
pub const PIPE_LOGICOP_NAND: u32 = 7;
pub const PIPE_LOGICOP_AND: u32 = 8;
pub const PIPE_LOGICOP_EQUIV: u32 = 9;
pub const PIPE_LOGICOP_NOOP: u32 = 10;
pub const PIPE_LOGICOP_OR_INVERTED: u32 = 11;
pub const PIPE_LOGICOP_COPY: u32 = 12;
pub const PIPE_LOGICOP_OR_REVERSE: u32 = 13;
pub const PIPE_LOGICOP_OR: u32 = 14;
pub const PIPE_LOGICOP_SET: u32 = 15;
pub const PIPE_MASK_R: u32 = 1;
pub const PIPE_MASK_G: u32 = 2;
pub const PIPE_MASK_B: u32 = 4;
pub const PIPE_MASK_A: u32 = 8;
pub const PIPE_MASK_RGBA: u32 = 15;
pub const PIPE_MASK_Z: u32 = 16;
pub const PIPE_MASK_S: u32 = 32;
pub const PIPE_MASK_ZS: u32 = 48;
pub const PIPE_MASK_RGBAZS: u32 = 63;
pub const PIPE_FUNC_NEVER: u32 = 0;
pub const PIPE_FUNC_LESS: u32 = 1;
pub const PIPE_FUNC_EQUAL: u32 = 2;
pub const PIPE_FUNC_LEQUAL: u32 = 3;
pub const PIPE_FUNC_GREATER: u32 = 4;
pub const PIPE_FUNC_NOTEQUAL: u32 = 5;
pub const PIPE_FUNC_GEQUAL: u32 = 6;
pub const PIPE_FUNC_ALWAYS: u32 = 7;
pub const PIPE_POLYGON_MODE_FILL: u32 = 0;
pub const PIPE_POLYGON_MODE_LINE: u32 = 1;
pub const PIPE_POLYGON_MODE_POINT: u32 = 2;
pub const PIPE_FACE_NONE: u32 = 0;
pub const PIPE_FACE_FRONT: u32 = 1;
pub const PIPE_FACE_BACK: u32 = 2;
pub const PIPE_FACE_FRONT_AND_BACK: u32 = 3;
pub const PIPE_STENCIL_OP_KEEP: u32 = 0;
pub const PIPE_STENCIL_OP_ZERO: u32 = 1;
pub const PIPE_STENCIL_OP_REPLACE: u32 = 2;
pub const PIPE_STENCIL_OP_INCR: u32 = 3;
pub const PIPE_STENCIL_OP_DECR: u32 = 4;
pub const PIPE_STENCIL_OP_INCR_WRAP: u32 = 5;
pub const PIPE_STENCIL_OP_DECR_WRAP: u32 = 6;
pub const PIPE_STENCIL_OP_INVERT: u32 = 7;
pub const PIPE_TEX_FACE_POS_X: u32 = 0;
pub const PIPE_TEX_FACE_NEG_X: u32 = 1;
pub const PIPE_TEX_FACE_POS_Y: u32 = 2;
pub const PIPE_TEX_FACE_NEG_Y: u32 = 3;
pub const PIPE_TEX_FACE_POS_Z: u32 = 4;
pub const PIPE_TEX_FACE_NEG_Z: u32 = 5;
pub const PIPE_TEX_FACE_MAX: u32 = 6;
pub const PIPE_TEX_WRAP_REPEAT: u32 = 0;
pub const PIPE_TEX_WRAP_CLAMP: u32 = 1;
pub const PIPE_TEX_WRAP_CLAMP_TO_EDGE: u32 = 2;
pub const PIPE_TEX_WRAP_CLAMP_TO_BORDER: u32 = 3;
pub const PIPE_TEX_WRAP_MIRROR_REPEAT: u32 = 4;
pub const PIPE_TEX_WRAP_MIRROR_CLAMP: u32 = 5;
pub const PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE: u32 = 6;
pub const PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER: u32 = 7;
pub const PIPE_TEX_MIPFILTER_NEAREST: u32 = 0;
pub const PIPE_TEX_MIPFILTER_LINEAR: u32 = 1;
pub const PIPE_TEX_MIPFILTER_NONE: u32 = 2;
pub const PIPE_TEX_FILTER_NEAREST: u32 = 0;
pub const PIPE_TEX_FILTER_LINEAR: u32 = 1;
pub const PIPE_TEX_COMPARE_NONE: u32 = 0;
pub const PIPE_TEX_COMPARE_R_TO_TEXTURE: u32 = 1;
pub const PIPE_CLEAR_DEPTH: u32 = 1;
pub const PIPE_CLEAR_STENCIL: u32 = 2;
pub const PIPE_CLEAR_COLOR0: u32 = 4;
pub const PIPE_CLEAR_COLOR1: u32 = 8;
pub const PIPE_CLEAR_COLOR2: u32 = 16;
pub const PIPE_CLEAR_COLOR3: u32 = 32;
pub const PIPE_CLEAR_COLOR4: u32 = 64;
pub const PIPE_CLEAR_COLOR5: u32 = 128;
pub const PIPE_CLEAR_COLOR6: u32 = 256;
pub const PIPE_CLEAR_COLOR7: u32 = 512;
pub const PIPE_CLEAR_COLOR: u32 = 1020;
pub const PIPE_CLEAR_DEPTHSTENCIL: u32 = 3;
pub const PIPE_BARRIER_MAPPED_BUFFER: u32 = 1;
pub const PIPE_BIND_DEPTH_STENCIL: u32 = 1;
pub const PIPE_BIND_RENDER_TARGET: u32 = 2;
pub const PIPE_BIND_BLENDABLE: u32 = 4;
pub const PIPE_BIND_SAMPLER_VIEW: u32 = 8;
pub const PIPE_BIND_VERTEX_BUFFER: u32 = 16;
pub const PIPE_BIND_INDEX_BUFFER: u32 = 32;
pub const PIPE_BIND_CONSTANT_BUFFER: u32 = 64;
pub const PIPE_BIND_DISPLAY_TARGET: u32 = 256;
pub const PIPE_BIND_TRANSFER_WRITE: u32 = 512;
pub const PIPE_BIND_TRANSFER_READ: u32 = 1024;
pub const PIPE_BIND_STREAM_OUTPUT: u32 = 2048;
pub const PIPE_BIND_CURSOR: u32 = 65536;
pub const PIPE_BIND_CUSTOM: u32 = 131072;
pub const PIPE_BIND_GLOBAL: u32 = 262144;
pub const PIPE_BIND_SHADER_RESOURCE: u32 = 524288;
pub const PIPE_BIND_COMPUTE_RESOURCE: u32 = 1048576;
pub const PIPE_BIND_COMMAND_ARGS_BUFFER: u32 = 2097152;
pub const PIPE_BIND_SCANOUT: u32 = 16384;
pub const PIPE_BIND_SHARED: u32 = 32768;
pub const PIPE_BIND_LINEAR: u32 = 2097152;
pub const PIPE_RESOURCE_FLAG_MAP_PERSISTENT: u32 = 1;
pub const PIPE_RESOURCE_FLAG_MAP_COHERENT: u32 = 2;
pub const PIPE_RESOURCE_FLAG_DRV_PRIV: u32 = 65536;
pub const PIPE_RESOURCE_FLAG_ST_PRIV: u32 = 16777216;
pub const PIPE_USAGE_DEFAULT: u32 = 0;
pub const PIPE_USAGE_IMMUTABLE: u32 = 1;
pub const PIPE_USAGE_DYNAMIC: u32 = 2;
pub const PIPE_USAGE_STREAM: u32 = 3;
pub const PIPE_USAGE_STAGING: u32 = 4;
pub const PIPE_SHADER_VERTEX: u32 = 0;
pub const PIPE_SHADER_FRAGMENT: u32 = 1;
pub const PIPE_SHADER_GEOMETRY: u32 = 2;
pub const PIPE_SHADER_TESS_CTRL: u32 = 3;
pub const PIPE_SHADER_TESS_EVAL: u32 = 4;
pub const PIPE_SHADER_COMPUTE: u32 = 5;
pub const PIPE_SHADER_TYPES: u32 = 6;
pub const PIPE_PRIM_POINTS: u32 = 0;
pub const PIPE_PRIM_LINES: u32 = 1;
pub const PIPE_PRIM_LINE_LOOP: u32 = 2;
pub const PIPE_PRIM_LINE_STRIP: u32 = 3;
pub const PIPE_PRIM_TRIANGLES: u32 = 4;
pub const PIPE_PRIM_TRIANGLE_STRIP: u32 = 5;
pub const PIPE_PRIM_TRIANGLE_FAN: u32 = 6;
pub const PIPE_PRIM_QUADS: u32 = 7;
pub const PIPE_PRIM_QUAD_STRIP: u32 = 8;
pub const PIPE_PRIM_POLYGON: u32 = 9;
pub const PIPE_PRIM_LINES_ADJACENCY: u32 = 10;
pub const PIPE_PRIM_LINE_STRIP_ADJACENCY: u32 = 11;
pub const PIPE_PRIM_TRIANGLES_ADJACENCY: u32 = 12;
pub const PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: u32 = 13;
pub const PIPE_PRIM_PATCHES: u32 = 14;
pub const PIPE_PRIM_MAX: u32 = 15;
pub const PIPE_TESS_SPACING_FRACTIONAL_ODD: u32 = 0;
pub const PIPE_TESS_SPACING_FRACTIONAL_EVEN: u32 = 1;
pub const PIPE_TESS_SPACING_EQUAL: u32 = 2;
pub const PIPE_QUERY_OCCLUSION_COUNTER: u32 = 0;
pub const PIPE_QUERY_OCCLUSION_PREDICATE: u32 = 1;
pub const PIPE_QUERY_TIMESTAMP: u32 = 2;
pub const PIPE_QUERY_TIMESTAMP_DISJOINT: u32 = 3;
pub const PIPE_QUERY_TIME_ELAPSED: u32 = 4;
pub const PIPE_QUERY_PRIMITIVES_GENERATED: u32 = 5;
pub const PIPE_QUERY_PRIMITIVES_EMITTED: u32 = 6;
pub const PIPE_QUERY_SO_STATISTICS: u32 = 7;
pub const PIPE_QUERY_SO_OVERFLOW_PREDICATE: u32 = 8;
pub const PIPE_QUERY_GPU_FINISHED: u32 = 9;
pub const PIPE_QUERY_PIPELINE_STATISTICS: u32 = 10;
pub const PIPE_QUERY_TYPES: u32 = 11;
pub const PIPE_QUERY_DRIVER_SPECIFIC: u32 = 256;
pub const PIPE_RENDER_COND_WAIT: u32 = 0;
pub const PIPE_RENDER_COND_NO_WAIT: u32 = 1;
pub const PIPE_RENDER_COND_BY_REGION_WAIT: u32 = 2;
pub const PIPE_RENDER_COND_BY_REGION_NO_WAIT: u32 = 3;
pub const PIPE_SPRITE_COORD_UPPER_LEFT: u32 = 0;
pub const PIPE_SPRITE_COORD_LOWER_LEFT: u32 = 1;
pub const PIPE_SWIZZLE_RED: u32 = 0;
pub const PIPE_SWIZZLE_GREEN: u32 = 1;
pub const PIPE_SWIZZLE_BLUE: u32 = 2;
pub const PIPE_SWIZZLE_ALPHA: u32 = 3;
pub const PIPE_SWIZZLE_ZERO: u32 = 4;
pub const PIPE_SWIZZLE_ONE: u32 = 5;
pub const PIPE_TIMEOUT_INFINITE: i32 = -1;
pub const PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50: u32 = 1;
pub const PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_R600: u32 = 2;
pub type boolean = ::std::os::raw::c_uchar;
pub const PIPE_OK: pipe_error = 0;
/// < Generic error
pub const PIPE_ERROR: pipe_error = -1;
pub const PIPE_ERROR_BAD_INPUT: pipe_error = -2;
pub const PIPE_ERROR_OUT_OF_MEMORY: pipe_error = -3;
pub const PIPE_ERROR_RETRY: pipe_error = -4;
/// Gallium error codes.
///
/// - A zero value always means success.
/// - A negative value always means failure.
/// - The meaning of a positive value is function dependent.
pub type pipe_error = i32;
pub const PIPE_BUFFER: pipe_texture_target = 0;
pub const PIPE_TEXTURE_1D: pipe_texture_target = 1;
pub const PIPE_TEXTURE_2D: pipe_texture_target = 2;
pub const PIPE_TEXTURE_3D: pipe_texture_target = 3;
pub const PIPE_TEXTURE_CUBE: pipe_texture_target = 4;
pub const PIPE_TEXTURE_RECT: pipe_texture_target = 5;
pub const PIPE_TEXTURE_1D_ARRAY: pipe_texture_target = 6;
pub const PIPE_TEXTURE_2D_ARRAY: pipe_texture_target = 7;
pub const PIPE_TEXTURE_CUBE_ARRAY: pipe_texture_target = 8;
pub const PIPE_MAX_TEXTURE_TYPES: pipe_texture_target = 9;
/// Texture types.
/// See the documentation for info on PIPE_TEXTURE_RECT vs PIPE_TEXTURE_2D
pub type pipe_texture_target = u32;
/// Resource contents read back (or accessed directly) at transfer
/// create time.
pub const PIPE_TRANSFER_READ: pipe_transfer_usage = 1;
/// Resource contents will be written back at transfer_unmap
/// time (or modified as a result of being accessed directly).
pub const PIPE_TRANSFER_WRITE: pipe_transfer_usage = 2;
/// Read/modify/write
pub const PIPE_TRANSFER_READ_WRITE: pipe_transfer_usage = 3;
/// The transfer should map the texture storage directly. The driver may
/// return NULL if that isn't possible, and the state tracker needs to cope
/// with that and use an alternative path without this flag.
///
/// E.g. the state tracker could have a simpler path which maps textures and
/// does read/modify/write cycles on them directly, and a more complicated
/// path which uses minimal read and write transfers.
pub const PIPE_TRANSFER_MAP_DIRECTLY: pipe_transfer_usage = 4;
/// Discards the memory within the mapped region.
///
/// It should not be used with PIPE_TRANSFER_READ.
///
/// See also:
/// - OpenGL's ARB_map_buffer_range extension, MAP_INVALIDATE_RANGE_BIT flag.
pub const PIPE_TRANSFER_DISCARD_RANGE: pipe_transfer_usage = 256;
/// Fail if the resource cannot be mapped immediately.
///
/// See also:
/// - Direct3D's D3DLOCK_DONOTWAIT flag.
/// - Mesa3D's MESA_MAP_NOWAIT_BIT flag.
/// - WDDM's D3DDDICB_LOCKFLAGS.DonotWait flag.
pub const PIPE_TRANSFER_DONTBLOCK: pipe_transfer_usage = 512;
/// Do not attempt to synchronize pending operations on the resource when mapping.
///
/// It should not be used with PIPE_TRANSFER_READ.
///
/// See also:
/// - OpenGL's ARB_map_buffer_range extension, MAP_UNSYNCHRONIZED_BIT flag.
/// - Direct3D's D3DLOCK_NOOVERWRITE flag.
/// - WDDM's D3DDDICB_LOCKFLAGS.IgnoreSync flag.
pub const PIPE_TRANSFER_UNSYNCHRONIZED: pipe_transfer_usage = 1024;
/// Written ranges will be notified later with
/// pipe_context::transfer_flush_region.
///
/// It should not be used with PIPE_TRANSFER_READ.
///
/// See also:
/// - pipe_context::transfer_flush_region
/// - OpenGL's ARB_map_buffer_range extension, MAP_FLUSH_EXPLICIT_BIT flag.
pub const PIPE_TRANSFER_FLUSH_EXPLICIT: pipe_transfer_usage = 2048;
/// Discards all memory backing the resource.
///
/// It should not be used with PIPE_TRANSFER_READ.
///
/// This is equivalent to:
/// - OpenGL's ARB_map_buffer_range extension, MAP_INVALIDATE_BUFFER_BIT
/// - BufferData(NULL) on a GL buffer
/// - Direct3D's D3DLOCK_DISCARD flag.
/// - WDDM's D3DDDICB_LOCKFLAGS.Discard flag.
/// - D3D10 DDI's D3D10_DDI_MAP_WRITE_DISCARD flag
/// - D3D10's D3D10_MAP_WRITE_DISCARD flag.
pub const PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE: pipe_transfer_usage = 4096;
/// Allows the resource to be used for rendering while mapped.
///
/// PIPE_RESOURCE_FLAG_MAP_PERSISTENT must be set when creating
/// the resource.
///
/// If COHERENT is not set, memory_barrier(PIPE_BARRIER_MAPPED_BUFFER)
/// must be called to ensure the device can see what the CPU has written.
pub const PIPE_TRANSFER_PERSISTENT: pipe_transfer_usage = 8192;
/// If PERSISTENT is set, this ensures any writes done by the device are
/// immediately visible to the CPU and vice versa.
///
/// PIPE_RESOURCE_FLAG_MAP_COHERENT must be set when creating
/// the resource.
pub const PIPE_TRANSFER_COHERENT: pipe_transfer_usage = 16384;
/// Transfer object usage flags
pub type pipe_transfer_usage = u32;
pub const PIPE_FLUSH_END_OF_FRAME: pipe_flush_flags = 1;
/// Flags for the flush function.
pub type pipe_flush_flags = u32;
pub const PIPE_CAP_NPOT_TEXTURES: pipe_cap = 1;
pub const PIPE_CAP_TWO_SIDED_STENCIL: pipe_cap = 2;
pub const PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS: pipe_cap = 4;
pub const PIPE_CAP_ANISOTROPIC_FILTER: pipe_cap = 5;
pub const PIPE_CAP_POINT_SPRITE: pipe_cap = 6;
pub const PIPE_CAP_MAX_RENDER_TARGETS: pipe_cap = 7;
pub const PIPE_CAP_OCCLUSION_QUERY: pipe_cap = 8;
pub const PIPE_CAP_QUERY_TIME_ELAPSED: pipe_cap = 9;
pub const PIPE_CAP_TEXTURE_SHADOW_MAP: pipe_cap = 10;
pub const PIPE_CAP_TEXTURE_SWIZZLE: pipe_cap = 11;
pub const PIPE_CAP_MAX_TEXTURE_2D_LEVELS: pipe_cap = 12;
pub const PIPE_CAP_MAX_TEXTURE_3D_LEVELS: pipe_cap = 13;
pub const PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: pipe_cap = 14;
pub const PIPE_CAP_TEXTURE_MIRROR_CLAMP: pipe_cap = 25;
pub const PIPE_CAP_BLEND_EQUATION_SEPARATE: pipe_cap = 28;
pub const PIPE_CAP_SM3: pipe_cap = 29;
pub const PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS: pipe_cap = 30;
pub const PIPE_CAP_PRIMITIVE_RESTART: pipe_cap = 31;
/// blend enables and write masks per rendertarget
pub const PIPE_CAP_INDEP_BLEND_ENABLE: pipe_cap = 33;
/// different blend funcs per rendertarget
pub const PIPE_CAP_INDEP_BLEND_FUNC: pipe_cap = 34;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: pipe_cap = 36;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: pipe_cap = 37;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: pipe_cap = 38;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: pipe_cap = 39;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: pipe_cap = 40;
/// different blend funcs per rendertarget
pub const PIPE_CAP_DEPTH_CLIP_DISABLE: pipe_cap = 41;
/// different blend funcs per rendertarget
pub const PIPE_CAP_SHADER_STENCIL_EXPORT: pipe_cap = 42;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_INSTANCEID: pipe_cap = 43;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR: pipe_cap = 44;
/// different blend funcs per rendertarget
pub const PIPE_CAP_FRAGMENT_COLOR_CLAMPED: pipe_cap = 45;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MIXED_COLORBUFFER_FORMATS: pipe_cap = 46;
/// different blend funcs per rendertarget
pub const PIPE_CAP_SEAMLESS_CUBE_MAP: pipe_cap = 47;
/// different blend funcs per rendertarget
pub const PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: pipe_cap = 48;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MIN_TEXEL_OFFSET: pipe_cap = 50;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_TEXEL_OFFSET: pipe_cap = 51;
/// different blend funcs per rendertarget
pub const PIPE_CAP_CONDITIONAL_RENDER: pipe_cap = 52;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_BARRIER: pipe_cap = 53;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS: pipe_cap = 55;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS: pipe_cap = 56;
/// different blend funcs per rendertarget
pub const PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: pipe_cap = 57;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: pipe_cap = 59;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_COLOR_UNCLAMPED: pipe_cap = 60;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_COLOR_CLAMPED: pipe_cap = 61;
/// different blend funcs per rendertarget
pub const PIPE_CAP_GLSL_FEATURE_LEVEL: pipe_cap = 62;
/// different blend funcs per rendertarget
pub const PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: pipe_cap = 63;
/// different blend funcs per rendertarget
pub const PIPE_CAP_USER_VERTEX_BUFFERS: pipe_cap = 64;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY: pipe_cap = 65;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY: pipe_cap = 66;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: pipe_cap = 67;
/// different blend funcs per rendertarget
pub const PIPE_CAP_COMPUTE: pipe_cap = 68;
/// different blend funcs per rendertarget
pub const PIPE_CAP_USER_INDEX_BUFFERS: pipe_cap = 69;
/// different blend funcs per rendertarget
pub const PIPE_CAP_USER_CONSTANT_BUFFERS: pipe_cap = 70;
/// different blend funcs per rendertarget
pub const PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT: pipe_cap = 71;
/// different blend funcs per rendertarget
pub const PIPE_CAP_START_INSTANCE: pipe_cap = 72;
/// different blend funcs per rendertarget
pub const PIPE_CAP_QUERY_TIMESTAMP: pipe_cap = 73;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_MULTISAMPLE: pipe_cap = 74;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MIN_MAP_BUFFER_ALIGNMENT: pipe_cap = 75;
/// different blend funcs per rendertarget
pub const PIPE_CAP_CUBE_MAP_ARRAY: pipe_cap = 76;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_BUFFER_OBJECTS: pipe_cap = 77;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: pipe_cap = 78;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_TEXCOORD: pipe_cap = 79;
/// different blend funcs per rendertarget
pub const PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: pipe_cap = 80;
/// different blend funcs per rendertarget
pub const PIPE_CAP_QUERY_PIPELINE_STATISTICS: pipe_cap = 81;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK: pipe_cap = 82;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE: pipe_cap = 83;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_VIEWPORTS: pipe_cap = 84;
/// different blend funcs per rendertarget
pub const PIPE_CAP_ENDIANNESS: pipe_cap = 85;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MIXED_FRAMEBUFFER_SIZES: pipe_cap = 86;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_VS_LAYER_VIEWPORT: pipe_cap = 87;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES: pipe_cap = 88;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: pipe_cap = 89;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: pipe_cap = 90;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_GATHER_SM5: pipe_cap = 91;
/// different blend funcs per rendertarget
pub const PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: pipe_cap = 92;
/// different blend funcs per rendertarget
pub const PIPE_CAP_FAKE_SW_MSAA: pipe_cap = 93;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_QUERY_LOD: pipe_cap = 94;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET: pipe_cap = 95;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET: pipe_cap = 96;
/// different blend funcs per rendertarget
pub const PIPE_CAP_SAMPLE_SHADING: pipe_cap = 97;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TEXTURE_GATHER_OFFSETS: pipe_cap = 98;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION: pipe_cap = 99;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_VERTEX_STREAMS: pipe_cap = 100;
/// different blend funcs per rendertarget
pub const PIPE_CAP_DRAW_INDIRECT: pipe_cap = 101;
/// different blend funcs per rendertarget
pub const PIPE_CAP_TGSI_FS_FINE_DERIVATIVE: pipe_cap = 102;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VENDOR_ID: pipe_cap = 103;
/// different blend funcs per rendertarget
pub const PIPE_CAP_DEVICE_ID: pipe_cap = 104;
/// different blend funcs per rendertarget
pub const PIPE_CAP_ACCELERATED: pipe_cap = 105;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VIDEO_MEMORY: pipe_cap = 106;
/// different blend funcs per rendertarget
pub const PIPE_CAP_UMA: pipe_cap = 107;
/// different blend funcs per rendertarget
pub const PIPE_CAP_CONDITIONAL_RENDER_INVERTED: pipe_cap = 108;
/// different blend funcs per rendertarget
pub const PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE: pipe_cap = 109;
/// different blend funcs per rendertarget
pub const PIPE_CAP_SAMPLER_VIEW_TARGET: pipe_cap = 110;
/// different blend funcs per rendertarget
pub const PIPE_CAP_CLIP_HALFZ: pipe_cap = 111;
/// different blend funcs per rendertarget
pub const PIPE_CAP_VERTEXID_NOBASE: pipe_cap = 112;
/// different blend funcs per rendertarget
pub const PIPE_CAP_POLYGON_OFFSET_CLAMP: pipe_cap = 113;
/// Implementation capabilities/limits which are queried through
/// pipe_screen::get_param()
pub type pipe_cap = u32;
pub const PIPE_ENDIAN_LITTLE: pipe_endian = 0;
pub const PIPE_ENDIAN_BIG: pipe_endian = 1;
pub const PIPE_ENDIAN_NATIVE: pipe_endian = 0;
pub type pipe_endian = u32;
pub const PIPE_CAPF_MAX_LINE_WIDTH: pipe_capf = 0;
pub const PIPE_CAPF_MAX_LINE_WIDTH_AA: pipe_capf = 1;
pub const PIPE_CAPF_MAX_POINT_WIDTH: pipe_capf = 2;
pub const PIPE_CAPF_MAX_POINT_WIDTH_AA: pipe_capf = 3;
pub const PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: pipe_capf = 4;
pub const PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: pipe_capf = 5;
pub const PIPE_CAPF_GUARD_BAND_LEFT: pipe_capf = 6;
pub const PIPE_CAPF_GUARD_BAND_TOP: pipe_capf = 7;
pub const PIPE_CAPF_GUARD_BAND_RIGHT: pipe_capf = 8;
pub const PIPE_CAPF_GUARD_BAND_BOTTOM: pipe_capf = 9;
/// Implementation limits which are queried through
/// pipe_screen::get_paramf()
pub type pipe_capf = u32;
pub const PIPE_SHADER_CAP_MAX_INSTRUCTIONS: pipe_shader_cap = 0;
pub const PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: pipe_shader_cap = 1;
pub const PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: pipe_shader_cap = 2;
pub const PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: pipe_shader_cap = 3;
pub const PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: pipe_shader_cap = 4;
pub const PIPE_SHADER_CAP_MAX_INPUTS: pipe_shader_cap = 5;
pub const PIPE_SHADER_CAP_MAX_OUTPUTS: pipe_shader_cap = 6;
pub const PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: pipe_shader_cap = 7;
pub const PIPE_SHADER_CAP_MAX_CONST_BUFFERS: pipe_shader_cap = 8;
pub const PIPE_SHADER_CAP_MAX_TEMPS: pipe_shader_cap = 9;
pub const PIPE_SHADER_CAP_MAX_PREDS: pipe_shader_cap = 10;
pub const PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: pipe_shader_cap = 11;
pub const PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR: pipe_shader_cap = 12;
pub const PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR: pipe_shader_cap = 13;
pub const PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: pipe_shader_cap = 14;
pub const PIPE_SHADER_CAP_INDIRECT_CONST_ADDR: pipe_shader_cap = 15;
pub const PIPE_SHADER_CAP_SUBROUTINES: pipe_shader_cap = 16;
pub const PIPE_SHADER_CAP_INTEGERS: pipe_shader_cap = 17;
pub const PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: pipe_shader_cap = 18;
pub const PIPE_SHADER_CAP_PREFERRED_IR: pipe_shader_cap = 19;
pub const PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED: pipe_shader_cap = 20;
pub const PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS: pipe_shader_cap = 21;
pub const PIPE_SHADER_CAP_DOUBLES: pipe_shader_cap = 22;
pub type pipe_shader_cap = u32;
pub const PIPE_SHADER_IR_TGSI: pipe_shader_ir = 0;
pub const PIPE_SHADER_IR_LLVM: pipe_shader_ir = 1;
pub const PIPE_SHADER_IR_NATIVE: pipe_shader_ir = 2;
/// Shader intermediate representation.
pub type pipe_shader_ir = u32;
pub const PIPE_COMPUTE_CAP_IR_TARGET: pipe_compute_cap = 0;
pub const PIPE_COMPUTE_CAP_GRID_DIMENSION: pipe_compute_cap = 1;
pub const PIPE_COMPUTE_CAP_MAX_GRID_SIZE: pipe_compute_cap = 2;
pub const PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: pipe_compute_cap = 3;
pub const PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK: pipe_compute_cap = 4;
pub const PIPE_COMPUTE_CAP_MAX_GLOBAL_SIZE: pipe_compute_cap = 5;
pub const PIPE_COMPUTE_CAP_MAX_LOCAL_SIZE: pipe_compute_cap = 6;
pub const PIPE_COMPUTE_CAP_MAX_PRIVATE_SIZE: pipe_compute_cap = 7;
pub const PIPE_COMPUTE_CAP_MAX_INPUT_SIZE: pipe_compute_cap = 8;
pub const PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE: pipe_compute_cap = 9;
pub const PIPE_COMPUTE_CAP_MAX_CLOCK_FREQUENCY: pipe_compute_cap = 10;
pub const PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS: pipe_compute_cap = 11;
pub const PIPE_COMPUTE_CAP_IMAGES_SUPPORTED: pipe_compute_cap = 12;
/// Compute-specific implementation capability. They can be queried
/// using pipe_screen::get_compute_param.
pub type pipe_compute_cap = u32;
/// Query result for PIPE_QUERY_SO_STATISTICS.
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pipe_query_data_so_statistics {
pub num_primitives_written: u64,
pub primitives_storage_needed: u64,
}
/// Query result for PIPE_QUERY_TIMESTAMP_DISJOINT.
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pipe_query_data_timestamp_disjoint {
pub frequency: u64,
pub disjoint: boolean,
}
/// Query result for PIPE_QUERY_PIPELINE_STATISTICS.
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pipe_query_data_pipeline_statistics {
/// < Num vertices read by the vertex fetcher.
pub ia_vertices: u64,
/// < Num primitives read by the vertex fetcher.
pub ia_primitives: u64,
/// < Num vertex shader invocations.
pub vs_invocations: u64,
/// < Num geometry shader invocations.
pub gs_invocations: u64,
/// < Num primitives output by a geometry shader.
pub gs_primitives: u64,
/// < Num primitives sent to the rasterizer.
pub c_invocations: u64,
/// < Num primitives that were rendered.
pub c_primitives: u64,
/// < Num pixel shader invocations.
pub ps_invocations: u64,
/// < Num hull shader invocations.
pub hs_invocations: u64,
/// < Num domain shader invocations.
pub ds_invocations: u64,
/// < Num compute shader invocations.
pub cs_invocations: u64,
}
/// Query result (returned by pipe_context::get_query_result).
#[repr(C)]
#[derive(Copy, Clone)]
pub union pipe_query_result {
pub b: boolean,
pub u64: u64,
pub so_statistics: pipe_query_data_so_statistics,
pub timestamp_disjoint: pipe_query_data_timestamp_disjoint,
pub pipeline_statistics: pipe_query_data_pipeline_statistics,
_bindgen_union_align: [u64; 11usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pipe_color_union {
pub f: [f32; 4usize],
pub i: [::std::os::raw::c_int; 4usize],
pub ui: [::std::os::raw::c_uint; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pipe_driver_query_info {
pub name: *const ::std::os::raw::c_char,
pub query_type: ::std::os::raw::c_uint,
pub max_value: u64,
pub uses_byte_units: boolean,
}