intel_tex_2 0.5.0

Rust bindings for Intel's ISPC texture compressor.
Documentation
#[allow(non_camel_case_types,dead_code,non_upper_case_globals,non_snake_case,improper_ctypes)]
pub mod kernel_astc {
/* automatically generated by rust-bindgen 0.71.1 */

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rgba_surface {
    pub ptr: *mut u8,
    pub width: i32,
    pub height: i32,
    pub stride: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of rgba_surface"][::std::mem::size_of::<rgba_surface>() - 24usize];
    ["Alignment of rgba_surface"][::std::mem::align_of::<rgba_surface>() - 8usize];
    ["Offset of field: rgba_surface::ptr"][::std::mem::offset_of!(rgba_surface, ptr) - 0usize];
    ["Offset of field: rgba_surface::width"][::std::mem::offset_of!(rgba_surface, width) - 8usize];
    ["Offset of field: rgba_surface::height"]
        [::std::mem::offset_of!(rgba_surface, height) - 12usize];
    ["Offset of field: rgba_surface::stride"]
        [::std::mem::offset_of!(rgba_surface, stride) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct astc_enc_context {
    pub width: i32,
    pub height: i32,
    pub channels: i32,
    pub dual_plane: bool,
    pub partitions: i32,
    pub color_endpoint_pairs: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of astc_enc_context"][::std::mem::size_of::<astc_enc_context>() - 24usize];
    ["Alignment of astc_enc_context"][::std::mem::align_of::<astc_enc_context>() - 4usize];
    ["Offset of field: astc_enc_context::width"]
        [::std::mem::offset_of!(astc_enc_context, width) - 0usize];
    ["Offset of field: astc_enc_context::height"]
        [::std::mem::offset_of!(astc_enc_context, height) - 4usize];
    ["Offset of field: astc_enc_context::channels"]
        [::std::mem::offset_of!(astc_enc_context, channels) - 8usize];
    ["Offset of field: astc_enc_context::dual_plane"]
        [::std::mem::offset_of!(astc_enc_context, dual_plane) - 12usize];
    ["Offset of field: astc_enc_context::partitions"]
        [::std::mem::offset_of!(astc_enc_context, partitions) - 16usize];
    ["Offset of field: astc_enc_context::color_endpoint_pairs"]
        [::std::mem::offset_of!(astc_enc_context, color_endpoint_pairs) - 20usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct astc_enc_settings {
    pub block_width: i32,
    pub block_height: i32,
    pub channels: i32,
    pub fastSkipTreshold: i32,
    pub refineIterations: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of astc_enc_settings"][::std::mem::size_of::<astc_enc_settings>() - 20usize];
    ["Alignment of astc_enc_settings"][::std::mem::align_of::<astc_enc_settings>() - 4usize];
    ["Offset of field: astc_enc_settings::block_width"]
        [::std::mem::offset_of!(astc_enc_settings, block_width) - 0usize];
    ["Offset of field: astc_enc_settings::block_height"]
        [::std::mem::offset_of!(astc_enc_settings, block_height) - 4usize];
    ["Offset of field: astc_enc_settings::channels"]
        [::std::mem::offset_of!(astc_enc_settings, channels) - 8usize];
    ["Offset of field: astc_enc_settings::fastSkipTreshold"]
        [::std::mem::offset_of!(astc_enc_settings, fastSkipTreshold) - 12usize];
    ["Offset of field: astc_enc_settings::refineIterations"]
        [::std::mem::offset_of!(astc_enc_settings, refineIterations) - 16usize];
};
unsafe extern "C" {
    pub fn astc_encode_ispc(
        src: *mut rgba_surface,
        block_scores: *mut f32,
        dst: *mut u8,
        list: *mut u64,
        list_context: *mut astc_enc_context,
        settings: *mut astc_enc_settings,
    );
}
unsafe extern "C" {
    pub fn astc_rank_ispc(
        src: *mut rgba_surface,
        xx: i32,
        yy: i32,
        mode_buffer: *mut u32,
        settings: *mut astc_enc_settings,
    );
}
unsafe extern "C" {
    pub fn get_programCount() -> i32;
}
}