diff --git a/swgl/src/gl.cc b/swgl/src/gl.cc index 8d6628318b..7855878bce 100644 --- a/swgl/src/gl.cc +++ b/swgl/src/gl.cc @@ -1379,6 +1379,10 @@ void TexImage3D(GLenum target, GLint level, GLint internal_format, TexSubImage3D(target, 0, 0, 0, 0, width, height, depth, format, ty, data); } +void GenerateMipmap(GLenum target) { + // TODO: support mipmaps +} + void TexParameteri(GLenum target, GLenum pname, GLint param) { Texture& t = ctx->textures[ctx->get_binding(target)]; switch (pname) { @@ -1389,11 +1393,9 @@ void TexParameteri(GLenum target, GLenum pname, GLint param) { assert(param == GL_CLAMP_TO_EDGE); break; case GL_TEXTURE_MIN_FILTER: - assert(param == GL_NEAREST || param == GL_LINEAR); t.min_filter = param; break; case GL_TEXTURE_MAG_FILTER: - assert(param == GL_NEAREST || param == GL_LINEAR); t.mag_filter = param; break; default: diff --git a/swgl/src/swgl_fns.rs b/swgl/src/swgl_fns.rs index 556884c8e5..229c8ae508 100644 --- a/swgl/src/swgl_fns.rs +++ b/swgl/src/swgl_fns.rs @@ -121,6 +121,7 @@ extern "C" { ty: GLenum, data: *const c_void, ); + fn GenerateMipmap(target: GLenum); fn GetUniformLocation(program: GLuint, name: *const GLchar) -> GLint; fn BindAttribLocation(program: GLuint, index: GLuint, name: *const GLchar); fn GetAttribLocation(program: GLuint, name: *const GLchar) -> GLint; @@ -2055,7 +2056,9 @@ impl Gl for Context { } fn generate_mipmap(&self, target: GLenum) { - panic!(); + unsafe { + GenerateMipmap(target); + } } fn insert_event_marker_ext(&self, message: &str) {