Hi all, I have another "niche" architecture error
On our building servers, we're using head-less machines on which we're running DX11 WARP in a console session, that is D3D_DRIVER_TYPE_WARP plus D3D_FEATURE_LEVEL_11_0. It's Windows 7 or Windows Server 2008 R2 with "Platform Update for Windows 7". Everything's been fine, it's running all kinds of complex rendering, compute shaders, UAVs, everything fine and even fast.
The problem: Writes to a cubemap array specific slice and specific mipmap using PS+UAV seem to be dropped.
Do note that with D3D_DRIVER_TYPE_HARDWARE it works correctly; I can reproduce the bug on any normal workstation (also Windows 7 x64) with D3D_DRIVER_TYPE_WARP.
The shader in question is a simple average 4->1 mipmapping PS, which samples a source SRV texture and writes into a UAV like this:
RWTexture2DArray<float4> array2d;
array2d[int3(xy, arrayIdx)] = avg_float4_value;
The output merger is set to do no RT writes, the only output is via that one UAV.
Note again that with a normal HW driver (GeForce) it works right, but with WARP it doesn't.
Any ideas how I could debug this, to be sure it's really WARP causing this? Do you think RenderDoc will capture also a WARP application (using their StartFrameCapture/EndFrameCapture API of course, since the there's no window nor swap chain)? EDIT: RenderDoc does make a capture even with WARP, wow
Thanks!