【Cubism SDKのバージョン】Cubism 5 SDK for Native R5 beta3_1
【OS名・バージョン】Windows11
【開発使用ツール】Visual Studio 2026
【不具合の状況】CubismNativeFrameworkのD3D11用にてメモリリークとリソースリークが発生しているかと思います。以下のコードをご確認いただければと思いますのでよろしくお願いいたします。
ファイル CubismRenderer_D3D11.cpp で
関数 void CubismRenderer_D3D11::ReleaseCommandBuffer() の以下のコード
if (_constantBuffers != NULL)
{
CSM_FREE(_indexBuffers);
_constantBuffers = NULL;
}
if (_constantBuffers != NULL)
{
CSM_FREE(_vertexBuffers);
_constantBuffers = NULL;
}
こちらの条件判定が間違っているためメモリリークが発生しています(NULLを代入する変数も間違ってます)
ファイル CubismShader_D3D11.cpp で
関数 void CubismShader_D3D11::GenerateShaders(ID3D11Device* device) の以下のコード
// コピー
if (!LoadShaderProgram(device, false, ShaderNames_Copy, "VertCopy", shaderString))
{
break;
}
if (!LoadShaderProgram(device, true, ShaderNames_Copy, "PixelCopy", shaderString))
{
break;
}
// マスク
if(!LoadShaderProgram(device, false, ShaderNames_SetupMask, "VertSetupMask", shaderString))
{
break;
}
if (!LoadShaderProgram(device, true, ShaderNames_SetupMask, "PixelSetupMask", shaderString))
{
break;
}
これと同様のコードがもう一度かかれているため最初にロードしたシェーダーがリークしています