Although the unsigned type `GLenum` seem like the logical choice of type for this function argument, OpenGL internal format macros are enumarations of the signed `GLint` type when storing to the GL state machine for commands sent to the GPU, rather than unsigned enumerations. This also fixes a signedness warning in one of the conversions.