On Wed Jul 19 02:28:43 2023 +0000, Conor McCarthy wrote:
Oops. I changed it to an internal refcount initialised to 1 as we do elsewhere.
With the current (new) code, `d3d12_command_signature_decref` can't actually free anything, relying on `d3d12_command_signature_Release` to do the freeing. The assert makes it seem like `d3d12_command_signature_decref` is never expected to consume the final refcount, but if that's the case, what's the point of the secondary refcount anyways, if you know the final release will always be through the D3D method? Assuming you do actually need the secondary refcount, `d3d12_command_signature_decref` should probably be in charge of actually freeing, and `d3d12_command_signature_Release` should `if (!refcount) d3d12_command_signature_decref(signature)`