From cf34d2830a3103b2b47a4140d27d054b797705f2 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 5 Oct 2022 19:35:47 -0700 Subject: Various gfx fixes. (#2434) --- tools/gfx/d3d12/d3d12-helper-functions.cpp | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'tools/gfx/d3d12/d3d12-helper-functions.cpp') 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; } -- cgit v1.2.3