diff options
author | Zach Reizner <zachr@google.com> | 2018-05-03 16:58:27 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-20 05:30:54 -0700 |
commit | f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b (patch) | |
tree | 639ee95c303bc0e9abc79508aa0b0d30843739f3 /gpu_renderer/src/generated/p_defines.rs | |
parent | 86fdb1dc50c62682ee20794a922be402bbe748a5 (diff) | |
download | crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.gz crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.bz2 crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.lz crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.xz crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.tar.zst crosvm-f40bb190ece97c908f8dba2efc7c1aceb4fc0e0b.zip |
gpu_renderer: add virglrenderer bindings
These bindings are needed for virtio-gpu 3D capabilities. All the rust files under gpu_renderer/src/generated are generated via the gpu_renderer/src/generated/generate script. The gpu_renderer/src/lib.rs file contains the Renderer and Context structs, which are the main interfaces to virglrenderer. They encapsulate the global state of virglrenderer (Renderer) and each context ID (Context). The command_buffer module is included only for basic testing and is not intended for production use. The pipe_format_fourcc module is provided for the conversion of virglrenderer specifc formats to standard fourcc formats. BUG=chromium:837073 TEST=cargo build -p gpu_renderer CQ-DEPEND=CL:1144406 Change-Id: Iad153390f618309bf493e92e76432c0b1c4a8a93 Reviewed-on: https://chromium-review.googlesource.com/1043447 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'gpu_renderer/src/generated/p_defines.rs')
-rw-r--r-- | gpu_renderer/src/generated/p_defines.rs | 604 |
1 files changed, 604 insertions, 0 deletions
diff --git a/gpu_renderer/src/generated/p_defines.rs b/gpu_renderer/src/generated/p_defines.rs new file mode 100644 index 0000000..3699069 --- /dev/null +++ b/gpu_renderer/src/generated/p_defines.rs @@ -0,0 +1,604 @@ +/* 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, +} |