Directx 计算着色器中是否支持每通道8位和每通道16位UAV?

Directx 计算着色器中是否支持每通道8位和每通道16位UAV?,directx,hlsl,directcompute,Directx,Hlsl,Directcompute,我正在做一个计算着色器。它需要输出一些纹理作为无人机。其中一些具有8位的组件,一些每个通道具有16位。考虑这条线: RWTexture2D<float4> _watNormTex; RWTexture2D\u watNormTex; 我将R8G8B8A8_UNORM纹理绑定到它,输出为黑色,但当我绑定R32G32A32_浮点纹理时,它会保存正确的值。因此,它似乎有一个纹理格式的问题 我可以如何输出8位或16位每通道纹理 PS:我的测试设备有一个G GPU。正如@catflier所

我正在做一个计算着色器。它需要输出一些纹理作为无人机。其中一些具有8位的组件,一些每个通道具有16位。考虑这条线:

RWTexture2D<float4> _watNormTex;
RWTexture2D\u watNormTex;
我将R8G8B8A8_UNORM纹理绑定到它,输出为黑色,但当我绑定R32G32A32_浮点纹理时,它会保存正确的值。因此,它似乎有一个纹理格式的问题

我可以如何输出8位或16位每通道纹理


PS:我的测试设备有一个G GPU。

正如@catflier所建议的,这是一个设置问题。格式应按预期工作。

是否启用了调试层?它应该为您提供一些信息,以防出现错误,并且在不发布任何代码的情况下,将很难找到错误的来源(作为旁注,我尝试了您的案例,并且它使用了两种格式,因此我认为您的管道设置有问题)。@catflier您完全正确。这是一个框架设置问题。谢谢