1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
use ::types::*;
use gpu::shbin::*;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed1 {
pub id: u32,
pub data: [u32; 3usize],
}
impl ::core::clone::Clone for Struct_Unnamed1 {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for Struct_Unnamed1 {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
pub type float24Uniform_s = Struct_Unnamed1;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed2 {
pub dvle: *mut DVLE_s,
pub boolUniforms: u16,
pub boolUniformMask: u16,
pub intUniforms: [u32; 4usize],
pub float24Uniforms: *mut float24Uniform_s,
pub intUniformMask: u8,
pub numFloat24Uniforms: u8,
}
impl ::core::clone::Clone for Struct_Unnamed2 {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for Struct_Unnamed2 {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
pub type shaderInstance_s = Struct_Unnamed2;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed3 {
pub vertexShader: *mut shaderInstance_s,
pub geometryShader: *mut shaderInstance_s,
pub geoShaderInputPermutation: [u32; 2usize],
pub geoShaderInputStride: u8,
pub geoShaderMode: u8,
}
impl ::core::clone::Clone for Struct_Unnamed3 {
fn clone(&self) -> Self { *self }
}
impl ::core::default::Default for Struct_Unnamed3 {
fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
pub type shaderProgram_s = Struct_Unnamed3;
#[derive(Clone, Copy)]
#[repr(u32)]
pub enum Enum_Unnamed4 {
GSH_NORMAL = 0,
GSH_PARTICLE = 1,
GSH_SUBDIVISION_LOOP = 2,
GSH_SUBDIVISION_CATMULL_CLARK = 3,
}
pub type geoShaderMode = Enum_Unnamed4;
extern "C" {
pub fn shaderInstanceInit(si: *mut shaderInstance_s, dvle: *mut DVLE_s)
-> Result;
pub fn shaderInstanceFree(si: *mut shaderInstance_s) -> Result;
pub fn shaderInstanceSetBool(si: *mut shaderInstance_s,
id: i32, value: u8)
-> Result;
pub fn shaderInstanceGetBool(si: *mut shaderInstance_s,
id: i32, value: *mut u8)
-> Result;
pub fn shaderInstanceGetUniformLocation(si: *mut shaderInstance_s,
name:
*const u8)
-> s8;
pub fn shaderProgramInit(sp: *mut shaderProgram_s) -> Result;
pub fn shaderProgramFree(sp: *mut shaderProgram_s) -> Result;
pub fn shaderProgramSetVsh(sp: *mut shaderProgram_s, dvle: *mut DVLE_s)
-> Result;
pub fn shaderProgramSetGsh(sp: *mut shaderProgram_s, dvle: *mut DVLE_s,
stride: u8) -> Result;
pub fn shaderProgramSetGshInputPermutation(sp: *mut shaderProgram_s,
permutation: u64) -> Result;
pub fn shaderProgramSetGshMode(sp: *mut shaderProgram_s,
mode: geoShaderMode) -> Result;
pub fn shaderProgramConfigure(sp: *mut shaderProgram_s, sendVshCode: u8,
sendGshCode: u8) -> Result;
pub fn shaderProgramUse(sp: *mut shaderProgram_s) -> Result;
}
|