Bug Report
What's the issue you encountered?
C3D initializes textures to NULL and seems to correctly disable those texture units in C3Di_UpdateContext. However, textures cannot be set back to NULL after being bound once because C3D_TexBind will segfault if passed a NULL address. This means that textures must stay bound perpetually and thus their texture units will stay active forever. I believe that texture slot 0 can actually be disabled due to C short-circuiting the relevant check but I have not tested this, though checking the assembly in a custom build seems to confirm this.
How can the issue be reproduced?
N/A
Environment?
N/A
Additional context?
I'm not sure how much this affects performance but I'd imagine it would be beneficial to disable unneeded texture units.
Bug Report
What's the issue you encountered?
C3D initializes textures to NULL and seems to correctly disable those texture units in C3Di_UpdateContext. However, textures cannot be set back to NULL after being bound once because C3D_TexBind will segfault if passed a NULL address. This means that textures must stay bound perpetually and thus their texture units will stay active forever. I believe that texture slot 0 can actually be disabled due to C short-circuiting the relevant check but I have not tested this, though checking the assembly in a custom build seems to confirm this.
How can the issue be reproduced?
N/A
Environment?
N/A
Additional context?
I'm not sure how much this affects performance but I'd imagine it would be beneficial to disable unneeded texture units.