mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Don't delete the 0 VAO or FBO, even if the application asks nicely
This commit is contained in:
@@ -4831,7 +4831,7 @@ void WrappedOpenGL::glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
|
||||
for(GLsizei i = 0; i < n; i++)
|
||||
{
|
||||
GLResource res = VertexArrayRes(GetCtx(), arrays[i]);
|
||||
if(GetResourceManager()->HasCurrentResource(res))
|
||||
if(GetResourceManager()->HasCurrentResource(res) && arrays[i])
|
||||
{
|
||||
if(GetResourceManager()->HasResourceRecord(res))
|
||||
GetResourceManager()->GetResourceRecord(res)->Delete(GetResourceManager());
|
||||
|
||||
@@ -2100,7 +2100,7 @@ void WrappedOpenGL::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
|
||||
for(GLsizei i = 0; i < n; i++)
|
||||
{
|
||||
GLResource res = FramebufferRes(GetCtx(), framebuffers[i]);
|
||||
if(GetResourceManager()->HasCurrentResource(res))
|
||||
if(GetResourceManager()->HasCurrentResource(res) && framebuffers[i])
|
||||
{
|
||||
if(GetResourceManager()->HasResourceRecord(res))
|
||||
GetResourceManager()->GetResourceRecord(res)->Delete(GetResourceManager());
|
||||
|
||||
@@ -107,6 +107,13 @@ void main()
|
||||
float col[] = {0.4f, 0.5f, 0.6f, 1.0f};
|
||||
glClearBufferfv(GL_COLOR, 0, col);
|
||||
|
||||
// try to delete VAO 0. Should do nothing
|
||||
GLuint zero = 0;
|
||||
glDeleteVertexArrays(1, &zero);
|
||||
|
||||
// same with FBO 0
|
||||
glDeleteFramebuffers(1, &zero);
|
||||
|
||||
glUseProgram(program);
|
||||
|
||||
// use both buffers
|
||||
|
||||
Reference in New Issue
Block a user