Compute Shader (d3d11 sm5) hangs when I hardcode a value

Started by
14 comments, last by Adam Miles 5 years, 6 months ago

@AlanGameDev Ah ok, I misunderstood that bit about DXUT, it's clearer now I've reread it.

What's the smallest value of max/w that causes the problem? Wondering if we could perhaps take a look at the shader disassembly between the closest working and not-working versions of the shader.

Also, have you tried running the workload on WARP / Software Render Device? If the shader has been compiled in such a way that it'll never terminate then I would expect WARP to hang in the same way as a hardware device - this would rule out a vendor-specific issue.

Adam Miles - Principal Software Development Engineer - Microsoft Xbox Advanced Technology Group

Advertisement

@ajmiles I've tried creating the device with `D3D_DRIVER_TYPE_WARP` but for some reason it's failing with HRESULT 0x887a0004 (DXGI UNSUPPORTED), code is like this:


    auto features = D3D_FEATURE_LEVEL_11_0;

    HRESULT hr = D3D11CreateDevice(
        nullptr,
        D3D_DRIVER_TYPE_WARP,
        nullptr,
        debug ? D3D11_CREATE_DEVICE_DEBUG : 0,
        &features,
        1,
        D3D11_SDK_VERSION,
        &Gfx.device,
        nullptr,
        &Gfx.context
    );

Maybe there's some incompatible argument there, I don't know :P.

In any case I'll try to determine where exactly is the threshold, and maybe make a simpler example with a 1D buffer. Also, I just realized that a window isn't at all necessary for a repro :P.

@AlanGameDev I just ran that device creation code just fine here so I'm not sure why you'd get DXGI_UNSUPPORTED. Do you have Windows 10's Optional Feature "Graphics Tools" installed?

Adam Miles - Principal Software Development Engineer - Microsoft Xbox Advanced Technology Group

@ajmiles Well, I couldn't find that in the VS2017 installer, only this:

image.png.7077b6fb2ecfc72b58d448e9e4b9cff8.png

I'm on Windows 7 though, don't know if that's why it doesn't show for me.

I think the problem is the feature level though, I just ran the DirectXTK "SimpleSampleTK", and when I select FL11.0 from the dropdown list, the WARP device isn't available, it's only available for FL10.1 or below. Perhaps the WARP device that supports FL11 isn't available for Windows 7 systems?

@AlanGameDev Ah ok, in that case the Optional Feature I was talking about won't apply, it's just a Windows 10 thing. I'm not sure what the 8.1 SDK tools are, but they're probably not relevant.

I'll have a look at the compiled code for the shader you posted in full earlier, but I don't expect it to yield anything obvious.

EDIT: Can't see anything amiss with the shader as posted. I think a runnable repro is probably the only way to go.

Adam Miles - Principal Software Development Engineer - Microsoft Xbox Advanced Technology Group

This topic is closed to new replies.

Advertisement