basisu: add bindings for basis-universal (supercompressed textures) (#477)

This commit is contained in:
Ali Chraghi 2022-08-25 15:26:06 +04:30 committed by GitHub
parent 88558b7d52
commit 4a0802639c
Failed to generate hash of commit
13 changed files with 1075 additions and 0 deletions

View file

@ -0,0 +1,38 @@
pub const BasisFile = opaque {};
pub extern fn basisu_transcoder_init() void;
pub extern fn transcoder_is_format_supported(tex_type: u32, fmt: u32) bool;
pub extern fn transcoder_init([*]const u8, u32) *BasisFile;
pub extern fn transcoder_deinit(*BasisFile) void;
pub extern fn transcoder_get_images_count(*BasisFile) u32;
pub extern fn transcoder_get_levels_count(*BasisFile, image_index: u32) u32;
pub extern fn transcoder_get_image_level_desc(
*BasisFile,
image_index: u32,
level_index: u32,
orig_width: *u32,
orig_height: *u32,
total_block: *u32,
) bool;
pub extern fn transcoder_get_image_transcoded_size(
*BasisFile,
image_index: u32,
level_index: u32,
format: u32,
size: *u32,
) bool;
pub extern fn transcoder_start_transcoding(*BasisFile) bool;
pub extern fn transcoder_stop_transcoding(*BasisFile) bool;
pub extern fn transcoder_transcode(
*BasisFile,
out: [*]const u8,
out_size: u32,
image_index: u32,
level_index: u32,
format: u32,
decode_flags: u32,
output_row_pitch_in_blocks_or_pixels: u32,
output_rows_in_pixels: u32,
) bool;