R16_FLOAT, SampleCmp and CheckFormatSupport
Because I was using the CheckFormatSupport wrong. The second parameter is supposed to be an input.

Here is what it should be like.

bool Renderer::InitRenderer(HWND hwnd)
{
    if (!InitD3D11App(hwnd)) return false;
    InitViewport();

    UINT formatSupport;
    HRESULT hr = d3d11Device-&gt;CheckFormatSupport(DXGI_FORMAT_R16_FLOAT, &amp;formatSupport);
    if (!SUCCEEDED(hr) || !(formatSupport &amp; D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON))
    {
        printf("Not supported!\n");
        return false;
    }

    return true;
}


https://www.gamedev.net/forums/topic/700419-r16_float-samplecmp-and-checkformatsupport/?tab=comments#comment-5397459