Утечка памяти в DirectX 11 CreateVertexShader - PullRequest
0 голосов
/ 06 ноября 2019

Привет! У меня утечка памяти при создании и выпуске вершинного шейдера.

Вот мой скомпилированный шейдер https://pastebin.com/raw/4w8tyY1n

А вот мой довольно простой код, я просто создаю устройство и контекст,затем вершинный шейдер и затем я все освобождаю в цикле.

HRESULT hr;

while(true)
{
    ID3D11Device* device;
    ID3D11DeviceContext* deviceCtx;
    ID3D11VertexShader* vertexShader;

    hr = D3D11CreateDevice (
        nullptr,
        D3D_DRIVER_TYPE_HARDWARE,
        nullptr,
        D3D11_CREATE_DEVICE_BGRA_SUPPORT,
        nullptr,
        0,
        D3D11_SDK_VERSION,
        &device,
        nullptr,
        &deviceCtx);

    if (SUCCEEDED (hr))
    {
        UINT Size = ARRAYSIZE (g_VS);
        hr = device->CreateVertexShader (g_VS, Size, nullptr, &vertexShader);
        if (SUCCEEDED (hr))
        {
            vertexShader->Release ();
        }

        deviceCtx->Release ();
        device->Release ();
    }
}

Я застрял с этим, я прочитал все возможные документы MSDN по этому вопросу, и я просто не знаю, в чем может быть проблема.

1 Ответ

2 голосов
/ 06 ноября 2019

Хорошо, проблема была в драйверах Intel® HD Graphics 620, обновление исправило все для меня.

...