OpenGL raised "Integer division by zero" error from glTexImage2D() after I using NVIDIA GPU

Viewed 44

I'm there were no errors raised when I used my Intel(R) UHD Graphics 630, everything seems great. But after I changed my GPU selection to GTX1650 through NVIDIA Control Panel, this error occurred:

screenshot of error text

After my debugging, I think this error came from glTexImage2D(), is there anything I should mention about?

m_buffer = stbi_load(texpath.c_str(), &im_w, &im_h, &im_bpp, 4);

// std::cout << Tex_ID << std::endl;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, Tile_type);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, Tile_type);

//glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, im_w, im_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_buffer);

glGenerateMipmap(GL_TEXTURE_2D);

std::cout << "Image texture has been load successfully! [" << im_w << ":" << im_h << "]" << std::endl;
glBindTexture(GL_TEXTURE_2D, 0);
//std::cout << im_bpp << std::endl;
if (m_buffer) {
    stbi_image_free(m_buffer);
}

Environment: Windows10, OpenGL4+GLEW

0 Answers
Related