#[allow(non_camel_case_types,dead_code,non_upper_case_globals,non_snake_case,improper_ctypes)]
pub mod kernel_astc {
#[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;
}
}