mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:57:43 +00:00
LibGL: Make glDeleteTextures
skip over 0 names
As stated in the manual: glDeleteTextures silently ignores 0's and names that do not correspond to existing textures. If we do not skip these 0 names, they end up as invalid free texture names in our name allocator.
This commit is contained in:
parent
4abd6aa198
commit
7ad70f623e
3 changed files with 7 additions and 8 deletions
|
@ -673,10 +673,12 @@ void SoftwareGLContext::gl_delete_textures(GLsizei n, const GLuint* textures)
|
|||
RETURN_WITH_ERROR_IF(n < 0, GL_INVALID_VALUE);
|
||||
RETURN_WITH_ERROR_IF(m_in_draw_state, GL_INVALID_OPERATION);
|
||||
|
||||
m_name_allocator.free(n, textures);
|
||||
|
||||
for (auto i = 0; i < n; i++) {
|
||||
GLuint name = textures[i];
|
||||
if (name == 0)
|
||||
continue;
|
||||
|
||||
m_name_allocator.free(name);
|
||||
|
||||
auto texture_object = m_allocated_textures.find(name);
|
||||
if (texture_object == m_allocated_textures.end() || texture_object->value.is_null())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue