UnorderedAccessView 的纹理

Texture for UnorderedAccessView

我需要创建一个 UnorderedAccessView 用作计算着色器的输出:

  var target = new Texture2D(device, new Texture2DDescription() {
    Width = bitmap.PixelWidth,
    Height = bitmap.PixelHeight,
    ArraySize = 1,
    MipLevels = 1,
    Format = Format.R8G8B8A8_UNorm,
    SampleDescription = new SampleDescription() { Count = 1, Quality = 0 },
    BindFlags = BindFlags.UnorderedAccess | BindFlags.ShaderResource,
    Usage = ResourceUsage.Dynamic
  });
  var targetView = new UnorderedAccessView(device, target);

第一行一直导致 Parameter is incorrect 异常。调试设备和层已打开,没有更多有用的调试或错误消息。在没有 BindFlags.UnorderedAccess 的情况下创建纹理是可行的,但这不是我需要的。

我尝试了所有可能的标志组合,包括但不限于:

    Format = Format.B8G8R8A8_UNorm,
    BindFlags = BindFlags.UnorderedAccess,
    Usage = ResourceUsage.Default

如果要求 BindFlags.UnorderedAccess,则不会运行。

DX11.2,着色器 5。

该设备是在不支持无人机或计算着色器的功能级别 9_3 上创建的。