Normally when I create and upload cubemap textures I do
glCreateTextures(GL_TEXTURE_CUBE_MAP, 1, &texture);
glTextureStorage2D(texture, 1, GL_SRGB8, size, size);
for (int i = 0; i < 6; i++)
{
glTextureSubImage3D(texture, 0, 0, 0, i, size, size, 1, GL_RGB, GL_UNSIGNED_BYTE, pixels);
}
This no longer works since driver 22.7.1. `GL_INVALID_VALUE` is genereated when calling glTextureSubImage3D.
Using old style mutable non dsa textures still works.
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_CUBE_MAP, texture);
for (int i = 0; i < 6; i++)
{
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_SRGB8, size, size, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels);
}
Solved! Go to Solution.
From the related bug ticket, it looks like the issue has been fixed. Could you please try the latest public driver and confirm if it resolves the issue?
Thanks.
Thank you for reporting it. Please provide the gpu information.
I have a RX 5700 XT. I've seen someone with a RX 580 who has the same issue.
Thanks for the information. I have reported the issue to the OpenGL team.
As I have been informed, a bug ticket has been created to track the issue. I will notify you if I get any update on this.
Thanks.
From the related bug ticket, it looks like the issue has been fixed. Could you please try the latest public driver and confirm if it resolves the issue?
Thanks.
Hello @dipak. Yes I can confirm this has been fixed!
Thanks for the confirmation.