ctt_intel_texture_compressor/bindings/
kernel.rs1#![allow(non_camel_case_types, non_snake_case, dead_code)]
7
8#[repr(C)]
9#[derive(Debug, Copy, Clone)]
10pub struct rgba_surface {
11 pub ptr: *mut u8,
12 pub width: i32,
13 pub height: i32,
14 pub stride: i32,
15}
16#[repr(C)]
17#[derive(Debug, Copy, Clone)]
18pub struct bc6h_enc_settings {
19 pub slow_mode: bool,
20 pub fast_mode: bool,
21 pub refineIterations_1p: i32,
22 pub refineIterations_2p: i32,
23 pub fastSkipThreshold: i32,
24}
25#[repr(C)]
26#[derive(Debug, Copy, Clone)]
27pub struct bc7_enc_settings {
28 pub mode_selection: [bool; 4usize],
29 pub refineIterations: [i32; 8usize],
30 pub skip_mode2: bool,
31 pub fastSkipThreshold_mode1: i32,
32 pub fastSkipThreshold_mode3: i32,
33 pub fastSkipThreshold_mode7: i32,
34 pub mode45_channel0: i32,
35 pub refineIterations_channel: i32,
36 pub channels: i32,
37}
38#[repr(C)]
39#[derive(Debug, Copy, Clone)]
40pub struct etc_enc_settings {
41 pub fastSkipThreshold: i32,
42}
43unsafe extern "C" {
44 pub fn CompressBlocksBC1_ispc(src: *mut rgba_surface, dst: *mut u8);
45}
46unsafe extern "C" {
47 pub fn CompressBlocksBC3_ispc(src: *mut rgba_surface, dst: *mut u8);
48}
49unsafe extern "C" {
50 pub fn CompressBlocksBC4_ispc(src: *mut rgba_surface, dst: *mut u8);
51}
52unsafe extern "C" {
53 pub fn CompressBlocksBC5_ispc(src: *mut rgba_surface, dst: *mut u8);
54}
55unsafe extern "C" {
56 pub fn CompressBlocksBC6H_ispc(
57 src: *mut rgba_surface,
58 dst: *mut u8,
59 settings: *mut bc6h_enc_settings,
60 );
61}
62unsafe extern "C" {
63 pub fn CompressBlocksBC7_ispc(
64 src: *mut rgba_surface,
65 dst: *mut u8,
66 settings: *mut bc7_enc_settings,
67 );
68}
69unsafe extern "C" {
70 pub fn CompressBlocksETC1_ispc(
71 src: *mut rgba_surface,
72 dst: *mut u8,
73 settings: *mut etc_enc_settings,
74 );
75}