You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Freeing a shaderProgram_s that was previously bound using C3D_BindProgram will cause the next call to C3D_BindProgram to crash, even if the original program was never used after freeing it.
The problem is C3D_Context carries around a reference to the old program for tracking dirty state, however that reference becomes invalid when that program is freed.
What makes this problem even worse is that you can't unbind a program, e.g. by calling C3D_BindProgram(nullptr), since there's no null check in that function.
The text was updated successfully, but these errors were encountered:
Freeing a
shaderProgram_s
that was previously bound usingC3D_BindProgram
will cause the next call toC3D_BindProgram
to crash, even if the original program was never used after freeing it.The problem is
C3D_Context
carries around a reference to the old program for tracking dirty state, however that reference becomes invalid when that program is freed.What makes this problem even worse is that you can't unbind a program, e.g. by calling
C3D_BindProgram(nullptr)
, since there's no null check in that function.The text was updated successfully, but these errors were encountered: