summaryrefslogtreecommitdiff
path: root/tools/gfx/d3d12/d3d12-helper-functions.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-10-05 19:35:47 -0700
committerGitHub <noreply@github.com>2022-10-05 19:35:47 -0700
commitcf34d2830a3103b2b47a4140d27d054b797705f2 (patch)
tree3620bc07e53edc6c959777d069b1931aa28691e4 /tools/gfx/d3d12/d3d12-helper-functions.cpp
parent364e43264b9f69957ddaed8890392d82fb25c822 (diff)
Various gfx fixes. (#2434)
Diffstat (limited to 'tools/gfx/d3d12/d3d12-helper-functions.cpp')
-rw-r--r--tools/gfx/d3d12/d3d12-helper-functions.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/gfx/d3d12/d3d12-helper-functions.cpp b/tools/gfx/d3d12/d3d12-helper-functions.cpp
index ee937ed4a..5f9102d0c 100644
--- a/tools/gfx/d3d12/d3d12-helper-functions.cpp
+++ b/tools/gfx/d3d12/d3d12-helper-functions.cpp
@@ -533,6 +533,37 @@ Result createNullDescriptor(
d3dDevice->CreateShaderResourceView(nullptr, &srvDesc, destDescriptor);
}
break;
+ case slang::BindingType::MutableTexture:
+ {
+ D3D12_UNORDERED_ACCESS_VIEW_DESC uavDesc = {};
+ uavDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+ switch (bindingRange.resourceShape)
+ {
+ case SLANG_TEXTURE_1D:
+ uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1D;
+ break;
+ case SLANG_TEXTURE_1D_ARRAY:
+ uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1DARRAY;
+ break;
+ case SLANG_TEXTURE_2D:
+ uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D;
+ break;
+ case SLANG_TEXTURE_2D_ARRAY:
+ uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DARRAY;
+ break;
+ case SLANG_TEXTURE_3D:
+ uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE3D;
+ break;
+ case SLANG_TEXTURE_CUBE:
+ case SLANG_TEXTURE_CUBE_ARRAY:
+ case SLANG_TEXTURE_2D_MULTISAMPLE:
+ case SLANG_TEXTURE_2D_MULTISAMPLE_ARRAY:
+ default:
+ return SLANG_OK;
+ }
+ d3dDevice->CreateUnorderedAccessView(nullptr, nullptr, &uavDesc, destDescriptor);
+ }
+ break;
default:
break;
}