1pub mod functions;
2
3pub type GLenum = u32;
4pub type GLuint = u32;
5pub type GLsizei = i32;
6pub type GLint = i32;
7
8pub enum GLerror {
9 GlNoError,
10 GlInvalidEnum,
11 GlInvalidValue,
12 GlInvalidOperation,
13 GlInvalidFramebufferOperation,
14 GlOutOfMemory,
15 GlStackUnderflow,
16 GlStackOverflow,
17 GlUnknown(GLenum),
18
19 CreateShaderFail,
21 CreateProgramFail
22}
23
24impl GLerror {
25 pub fn from_gl_error(code: GLenum) -> Self {
26 match code {
27 gl::NO_ERROR => GLerror::GlNoError,
28 gl::INVALID_ENUM => GLerror::GlInvalidEnum,
29 gl::INVALID_VALUE => GLerror::GlInvalidValue,
30 gl::INVALID_OPERATION => GLerror::GlInvalidOperation,
31 gl::INVALID_FRAMEBUFFER_OPERATION => GLerror::GlInvalidFramebufferOperation,
32 gl::OUT_OF_MEMORY => GLerror::GlOutOfMemory,
33 gl::STACK_UNDERFLOW => GLerror::GlStackUnderflow,
34 gl::STACK_OVERFLOW => GLerror::GlStackOverflow,
35 other => GLerror::GlUnknown(other),
36 }
37 }
38}