aboutsummaryrefslogtreecommitdiff
path: root/ctru-sys/src/gpu/shaderProgram.rs
blob: 1c86711a92521156578473e8f298013d30b000c1 (plain) (blame)
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
/* automatically generated by rust-bindgen */

#![allow(dead_code,
         non_camel_case_types,
         non_upper_case_globals,
         non_snake_case)]
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct float24Uniform_s {
    pub id: u32_,
    pub data: [u32_; 3usize],
}
impl ::core::default::Default for float24Uniform_s {
    fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct shaderInstance_s {
    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::default::Default for shaderInstance_s {
    fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct shaderProgram_s {
    pub vertexShader: *mut shaderInstance_s,
    pub geometryShader: *mut shaderInstance_s,
    pub geoShaderInputPermutation: [u32_; 2usize],
    pub geoShaderInputStride: u8_,
}
impl ::core::default::Default for shaderProgram_s {
    fn default() -> Self { unsafe { ::core::mem::zeroed() } }
}
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: ::libc::c_int,
                                 value: u8) -> Result;
    pub fn shaderInstanceGetBool(si: *mut shaderInstance_s, id: ::libc::c_int,
                                 value: *mut u8) -> Result;
    pub fn shaderInstanceGetUniformLocation(si: *mut shaderInstance_s,
                                            name: *const ::libc::c_char)
     -> 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 shaderProgramConfigure(sp: *mut shaderProgram_s, sendVshCode: u8,
                                  sendGshCode: u8) -> Result;
    pub fn shaderProgramUse(sp: *mut shaderProgram_s) -> Result;
}
use ::types::*;
use super::shbin::*;