diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2024-11-06 01:47:26 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-05 09:47:26 -0800 |
| commit | b118451e301d734e3e783b3acdf871f3f6ea851c (patch) | |
| tree | 277f160d31e2c442f724bc6a2d3c09fabff403ca /tools/gfx/d3d/d3d-util.cpp | |
| parent | 53dd5928c35d5a5cb1f7d2a563348fd1fa87d672 (diff) | |
Move switch statement bodies to their own lines (#5493)
* Move switch statement bodies to their own lines
* format
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tools/gfx/d3d/d3d-util.cpp')
| -rw-r--r-- | tools/gfx/d3d/d3d-util.cpp | 626 |
1 files changed, 412 insertions, 214 deletions
diff --git a/tools/gfx/d3d/d3d-util.cpp b/tools/gfx/d3d/d3d-util.cpp index 9d32f8532..62e21ac24 100644 --- a/tools/gfx/d3d/d3d-util.cpp +++ b/tools/gfx/d3d/d3d-util.cpp @@ -29,12 +29,18 @@ using namespace Slang; { switch (topology) { - case PrimitiveTopology::TriangleList: return D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; - case PrimitiveTopology::TriangleStrip: return D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; - case PrimitiveTopology::LineList: return D3D_PRIMITIVE_TOPOLOGY_LINELIST; - case PrimitiveTopology::LineStrip: return D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; - case PrimitiveTopology::PointList: return D3D_PRIMITIVE_TOPOLOGY_POINTLIST; - default: break; + case PrimitiveTopology::TriangleList: + return D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; + case PrimitiveTopology::TriangleStrip: + return D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; + case PrimitiveTopology::LineList: + return D3D_PRIMITIVE_TOPOLOGY_LINELIST; + case PrimitiveTopology::LineStrip: + return D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; + case PrimitiveTopology::PointList: + return D3D_PRIMITIVE_TOPOLOGY_POINTLIST; + default: + break; } return D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; } @@ -44,11 +50,15 @@ D3D12_PRIMITIVE_TOPOLOGY_TYPE D3DUtil::getPrimitiveType(PrimitiveTopology topolo switch (topology) { case PrimitiveTopology::TriangleList: - case PrimitiveTopology::TriangleStrip: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; + case PrimitiveTopology::TriangleStrip: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; case PrimitiveTopology::LineList: - case PrimitiveTopology::LineStrip: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE; - case PrimitiveTopology::PointList: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT; - default: break; + case PrimitiveTopology::LineStrip: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE; + case PrimitiveTopology::PointList: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT; + default: + break; } return D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED; } @@ -57,11 +67,16 @@ D3D12_PRIMITIVE_TOPOLOGY_TYPE D3DUtil::getPrimitiveType(PrimitiveType type) { switch (type) { - case PrimitiveType::Point: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT; - case PrimitiveType::Line: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE; - case PrimitiveType::Triangle: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; - case PrimitiveType::Patch: return D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH; - default: break; + case PrimitiveType::Point: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT; + case PrimitiveType::Line: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE; + case PrimitiveType::Triangle: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; + case PrimitiveType::Patch: + return D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH; + default: + break; } return D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED; } @@ -70,15 +85,24 @@ D3D12_COMPARISON_FUNC D3DUtil::getComparisonFunc(ComparisonFunc func) { switch (func) { - case gfx::ComparisonFunc::Never: return D3D12_COMPARISON_FUNC_NEVER; - case gfx::ComparisonFunc::Less: return D3D12_COMPARISON_FUNC_LESS; - case gfx::ComparisonFunc::Equal: return D3D12_COMPARISON_FUNC_EQUAL; - case gfx::ComparisonFunc::LessEqual: return D3D12_COMPARISON_FUNC_LESS_EQUAL; - case gfx::ComparisonFunc::Greater: return D3D12_COMPARISON_FUNC_GREATER; - case gfx::ComparisonFunc::NotEqual: return D3D12_COMPARISON_FUNC_NOT_EQUAL; - case gfx::ComparisonFunc::GreaterEqual: return D3D12_COMPARISON_FUNC_GREATER_EQUAL; - case gfx::ComparisonFunc::Always: return D3D12_COMPARISON_FUNC_ALWAYS; - default: return D3D12_COMPARISON_FUNC_NEVER; + case gfx::ComparisonFunc::Never: + return D3D12_COMPARISON_FUNC_NEVER; + case gfx::ComparisonFunc::Less: + return D3D12_COMPARISON_FUNC_LESS; + case gfx::ComparisonFunc::Equal: + return D3D12_COMPARISON_FUNC_EQUAL; + case gfx::ComparisonFunc::LessEqual: + return D3D12_COMPARISON_FUNC_LESS_EQUAL; + case gfx::ComparisonFunc::Greater: + return D3D12_COMPARISON_FUNC_GREATER; + case gfx::ComparisonFunc::NotEqual: + return D3D12_COMPARISON_FUNC_NOT_EQUAL; + case gfx::ComparisonFunc::GreaterEqual: + return D3D12_COMPARISON_FUNC_GREATER_EQUAL; + case gfx::ComparisonFunc::Always: + return D3D12_COMPARISON_FUNC_ALWAYS; + default: + return D3D12_COMPARISON_FUNC_NEVER; } } @@ -86,15 +110,24 @@ static D3D12_STENCIL_OP translateStencilOp(StencilOp op) { switch (op) { - case gfx::StencilOp::Keep: return D3D12_STENCIL_OP_KEEP; - case gfx::StencilOp::Zero: return D3D12_STENCIL_OP_ZERO; - case gfx::StencilOp::Replace: return D3D12_STENCIL_OP_REPLACE; - case gfx::StencilOp::IncrementSaturate: return D3D12_STENCIL_OP_INCR_SAT; - case gfx::StencilOp::DecrementSaturate: return D3D12_STENCIL_OP_DECR_SAT; - case gfx::StencilOp::Invert: return D3D12_STENCIL_OP_INVERT; - case gfx::StencilOp::IncrementWrap: return D3D12_STENCIL_OP_INCR; - case gfx::StencilOp::DecrementWrap: return D3D12_STENCIL_OP_DECR; - default: return D3D12_STENCIL_OP_KEEP; + case gfx::StencilOp::Keep: + return D3D12_STENCIL_OP_KEEP; + case gfx::StencilOp::Zero: + return D3D12_STENCIL_OP_ZERO; + case gfx::StencilOp::Replace: + return D3D12_STENCIL_OP_REPLACE; + case gfx::StencilOp::IncrementSaturate: + return D3D12_STENCIL_OP_INCR_SAT; + case gfx::StencilOp::DecrementSaturate: + return D3D12_STENCIL_OP_DECR_SAT; + case gfx::StencilOp::Invert: + return D3D12_STENCIL_OP_INVERT; + case gfx::StencilOp::IncrementWrap: + return D3D12_STENCIL_OP_INCR; + case gfx::StencilOp::DecrementWrap: + return D3D12_STENCIL_OP_DECR; + default: + return D3D12_STENCIL_OP_KEEP; } } @@ -112,111 +145,195 @@ D3D12_DEPTH_STENCILOP_DESC D3DUtil::translateStencilOpDesc(DepthStencilOpDesc de { switch (format) { - case Format::R32G32B32A32_TYPELESS: return DXGI_FORMAT_R32G32B32A32_TYPELESS; - case Format::R32G32B32_TYPELESS: return DXGI_FORMAT_R32G32B32_TYPELESS; - case Format::R32G32_TYPELESS: return DXGI_FORMAT_R32G32_TYPELESS; - case Format::R32_TYPELESS: return DXGI_FORMAT_R32_TYPELESS; - - case Format::R16G16B16A16_TYPELESS: return DXGI_FORMAT_R16G16B16A16_TYPELESS; - case Format::R16G16_TYPELESS: return DXGI_FORMAT_R16G16_TYPELESS; - case Format::R16_TYPELESS: return DXGI_FORMAT_R16_TYPELESS; - - case Format::R8G8B8A8_TYPELESS: return DXGI_FORMAT_R8G8B8A8_TYPELESS; - case Format::R8G8_TYPELESS: return DXGI_FORMAT_R8G8_TYPELESS; - case Format::R8_TYPELESS: return DXGI_FORMAT_R8_TYPELESS; - case Format::B8G8R8A8_TYPELESS: return DXGI_FORMAT_B8G8R8A8_TYPELESS; - - case Format::R32G32B32A32_FLOAT: return DXGI_FORMAT_R32G32B32A32_FLOAT; - case Format::R32G32B32_FLOAT: return DXGI_FORMAT_R32G32B32_FLOAT; - case Format::R32G32_FLOAT: return DXGI_FORMAT_R32G32_FLOAT; - case Format::R32_FLOAT: return DXGI_FORMAT_R32_FLOAT; - - case Format::R16G16B16A16_FLOAT: return DXGI_FORMAT_R16G16B16A16_FLOAT; - case Format::R16G16_FLOAT: return DXGI_FORMAT_R16G16_FLOAT; - case Format::R16_FLOAT: return DXGI_FORMAT_R16_FLOAT; - - case Format::R64_UINT: return DXGI_FORMAT_R32G32_UINT; - - case Format::R32G32B32A32_UINT: return DXGI_FORMAT_R32G32B32A32_UINT; - case Format::R32G32B32_UINT: return DXGI_FORMAT_R32G32B32_UINT; - case Format::R32G32_UINT: return DXGI_FORMAT_R32G32_UINT; - case Format::R32_UINT: return DXGI_FORMAT_R32_UINT; - - case Format::R16G16B16A16_UINT: return DXGI_FORMAT_R16G16B16A16_UINT; - case Format::R16G16_UINT: return DXGI_FORMAT_R16G16_UINT; - case Format::R16_UINT: return DXGI_FORMAT_R16_UINT; - - case Format::R8G8B8A8_UINT: return DXGI_FORMAT_R8G8B8A8_UINT; - case Format::R8G8_UINT: return DXGI_FORMAT_R8G8_UINT; - case Format::R8_UINT: return DXGI_FORMAT_R8_UINT; - - case Format::R64_SINT: return DXGI_FORMAT_R32G32_SINT; - - case Format::R32G32B32A32_SINT: return DXGI_FORMAT_R32G32B32A32_SINT; - case Format::R32G32B32_SINT: return DXGI_FORMAT_R32G32B32_SINT; - case Format::R32G32_SINT: return DXGI_FORMAT_R32G32_SINT; - case Format::R32_SINT: return DXGI_FORMAT_R32_SINT; - - case Format::R16G16B16A16_SINT: return DXGI_FORMAT_R16G16B16A16_SINT; - case Format::R16G16_SINT: return DXGI_FORMAT_R16G16_SINT; - case Format::R16_SINT: return DXGI_FORMAT_R16_SINT; - - case Format::R8G8B8A8_SINT: return DXGI_FORMAT_R8G8B8A8_SINT; - case Format::R8G8_SINT: return DXGI_FORMAT_R8G8_SINT; - case Format::R8_SINT: return DXGI_FORMAT_R8_SINT; - - case Format::R16G16B16A16_UNORM: return DXGI_FORMAT_R16G16B16A16_UNORM; - case Format::R16G16_UNORM: return DXGI_FORMAT_R16G16_UNORM; - case Format::R16_UNORM: return DXGI_FORMAT_R16_UNORM; - - case Format::R8G8B8A8_UNORM: return DXGI_FORMAT_R8G8B8A8_UNORM; - case Format::R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; - case Format::R8G8_UNORM: return DXGI_FORMAT_R8G8_UNORM; - case Format::R8_UNORM: return DXGI_FORMAT_R8_UNORM; - case Format::B8G8R8A8_UNORM: return DXGI_FORMAT_B8G8R8A8_UNORM; - case Format::B8G8R8X8_UNORM: return DXGI_FORMAT_B8G8R8X8_UNORM; - case Format::B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; - case Format::B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; - - case Format::R16G16B16A16_SNORM: return DXGI_FORMAT_R16G16B16A16_SNORM; - case Format::R16G16_SNORM: return DXGI_FORMAT_R16G16_SNORM; - case Format::R16_SNORM: return DXGI_FORMAT_R16_SNORM; - - case Format::R8G8B8A8_SNORM: return DXGI_FORMAT_R8G8B8A8_SNORM; - case Format::R8G8_SNORM: return DXGI_FORMAT_R8G8_SNORM; - case Format::R8_SNORM: return DXGI_FORMAT_R8_SNORM; - - case Format::D32_FLOAT: return DXGI_FORMAT_D32_FLOAT; - case Format::D16_UNORM: return DXGI_FORMAT_D16_UNORM; - case Format::D32_FLOAT_S8_UINT: return DXGI_FORMAT_D32_FLOAT_S8X24_UINT; - case Format::R32_FLOAT_X32_TYPELESS: return DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS; - - case Format::B4G4R4A4_UNORM: return DXGI_FORMAT_B4G4R4A4_UNORM; - case Format::B5G6R5_UNORM: return DXGI_FORMAT_B5G6R5_UNORM; - case Format::B5G5R5A1_UNORM: return DXGI_FORMAT_B5G5R5A1_UNORM; - - case Format::R9G9B9E5_SHAREDEXP: return DXGI_FORMAT_R9G9B9E5_SHAREDEXP; - case Format::R10G10B10A2_TYPELESS: return DXGI_FORMAT_R10G10B10A2_TYPELESS; - case Format::R10G10B10A2_UINT: return DXGI_FORMAT_R10G10B10A2_UINT; - case Format::R10G10B10A2_UNORM: return DXGI_FORMAT_R10G10B10A2_UNORM; - case Format::R11G11B10_FLOAT: return DXGI_FORMAT_R11G11B10_FLOAT; - - case Format::BC1_UNORM: return DXGI_FORMAT_BC1_UNORM; - case Format::BC1_UNORM_SRGB: return DXGI_FORMAT_BC1_UNORM_SRGB; - case Format::BC2_UNORM: return DXGI_FORMAT_BC2_UNORM; - case Format::BC2_UNORM_SRGB: return DXGI_FORMAT_BC2_UNORM_SRGB; - case Format::BC3_UNORM: return DXGI_FORMAT_BC3_UNORM; - case Format::BC3_UNORM_SRGB: return DXGI_FORMAT_BC3_UNORM_SRGB; - case Format::BC4_UNORM: return DXGI_FORMAT_BC4_UNORM; - case Format::BC4_SNORM: return DXGI_FORMAT_BC4_SNORM; - case Format::BC5_UNORM: return DXGI_FORMAT_BC5_UNORM; - case Format::BC5_SNORM: return DXGI_FORMAT_BC5_SNORM; - case Format::BC6H_UF16: return DXGI_FORMAT_BC6H_UF16; - case Format::BC6H_SF16: return DXGI_FORMAT_BC6H_SF16; - case Format::BC7_UNORM: return DXGI_FORMAT_BC7_UNORM; - case Format::BC7_UNORM_SRGB: return DXGI_FORMAT_BC7_UNORM_SRGB; - - default: return DXGI_FORMAT_UNKNOWN; + case Format::R32G32B32A32_TYPELESS: + return DXGI_FORMAT_R32G32B32A32_TYPELESS; + case Format::R32G32B32_TYPELESS: + return DXGI_FORMAT_R32G32B32_TYPELESS; + case Format::R32G32_TYPELESS: + return DXGI_FORMAT_R32G32_TYPELESS; + case Format::R32_TYPELESS: + return DXGI_FORMAT_R32_TYPELESS; + + case Format::R16G16B16A16_TYPELESS: + return DXGI_FORMAT_R16G16B16A16_TYPELESS; + case Format::R16G16_TYPELESS: + return DXGI_FORMAT_R16G16_TYPELESS; + case Format::R16_TYPELESS: + return DXGI_FORMAT_R16_TYPELESS; + + case Format::R8G8B8A8_TYPELESS: + return DXGI_FORMAT_R8G8B8A8_TYPELESS; + case Format::R8G8_TYPELESS: + return DXGI_FORMAT_R8G8_TYPELESS; + case Format::R8_TYPELESS: + return DXGI_FORMAT_R8_TYPELESS; + case Format::B8G8R8A8_TYPELESS: + return DXGI_FORMAT_B8G8R8A8_TYPELESS; + + case Format::R32G32B32A32_FLOAT: + return DXGI_FORMAT_R32G32B32A32_FLOAT; + case Format::R32G32B32_FLOAT: + return DXGI_FORMAT_R32G32B32_FLOAT; + case Format::R32G32_FLOAT: + return DXGI_FORMAT_R32G32_FLOAT; + case Format::R32_FLOAT: + return DXGI_FORMAT_R32_FLOAT; + + case Format::R16G16B16A16_FLOAT: + return DXGI_FORMAT_R16G16B16A16_FLOAT; + case Format::R16G16_FLOAT: + return DXGI_FORMAT_R16G16_FLOAT; + case Format::R16_FLOAT: + return DXGI_FORMAT_R16_FLOAT; + + case Format::R64_UINT: + return DXGI_FORMAT_R32G32_UINT; + + case Format::R32G32B32A32_UINT: + return DXGI_FORMAT_R32G32B32A32_UINT; + case Format::R32G32B32_UINT: + return DXGI_FORMAT_R32G32B32_UINT; + case Format::R32G32_UINT: + return DXGI_FORMAT_R32G32_UINT; + case Format::R32_UINT: + return DXGI_FORMAT_R32_UINT; + + case Format::R16G16B16A16_UINT: + return DXGI_FORMAT_R16G16B16A16_UINT; + case Format::R16G16_UINT: + return DXGI_FORMAT_R16G16_UINT; + case Format::R16_UINT: + return DXGI_FORMAT_R16_UINT; + + case Format::R8G8B8A8_UINT: + return DXGI_FORMAT_R8G8B8A8_UINT; + case Format::R8G8_UINT: + return DXGI_FORMAT_R8G8_UINT; + case Format::R8_UINT: + return DXGI_FORMAT_R8_UINT; + + case Format::R64_SINT: + return DXGI_FORMAT_R32G32_SINT; + + case Format::R32G32B32A32_SINT: + return DXGI_FORMAT_R32G32B32A32_SINT; + case Format::R32G32B32_SINT: + return DXGI_FORMAT_R32G32B32_SINT; + case Format::R32G32_SINT: + return DXGI_FORMAT_R32G32_SINT; + case Format::R32_SINT: + return DXGI_FORMAT_R32_SINT; + + case Format::R16G16B16A16_SINT: + return DXGI_FORMAT_R16G16B16A16_SINT; + case Format::R16G16_SINT: + return DXGI_FORMAT_R16G16_SINT; + case Format::R16_SINT: + return DXGI_FORMAT_R16_SINT; + + case Format::R8G8B8A8_SINT: + return DXGI_FORMAT_R8G8B8A8_SINT; + case Format::R8G8_SINT: + return DXGI_FORMAT_R8G8_SINT; + case Format::R8_SINT: + return DXGI_FORMAT_R8_SINT; + + case Format::R16G16B16A16_UNORM: + return DXGI_FORMAT_R16G16B16A16_UNORM; + case Format::R16G16_UNORM: + return DXGI_FORMAT_R16G16_UNORM; + case Format::R16_UNORM: + return DXGI_FORMAT_R16_UNORM; + + case Format::R8G8B8A8_UNORM: + return DXGI_FORMAT_R8G8B8A8_UNORM; + case Format::R8G8B8A8_UNORM_SRGB: + return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + case Format::R8G8_UNORM: + return DXGI_FORMAT_R8G8_UNORM; + case Format::R8_UNORM: + return DXGI_FORMAT_R8_UNORM; + case Format::B8G8R8A8_UNORM: + return DXGI_FORMAT_B8G8R8A8_UNORM; + case Format::B8G8R8X8_UNORM: + return DXGI_FORMAT_B8G8R8X8_UNORM; + case Format::B8G8R8A8_UNORM_SRGB: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; + case Format::B8G8R8X8_UNORM_SRGB: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; + + case Format::R16G16B16A16_SNORM: + return DXGI_FORMAT_R16G16B16A16_SNORM; + case Format::R16G16_SNORM: + return DXGI_FORMAT_R16G16_SNORM; + case Format::R16_SNORM: + return DXGI_FORMAT_R16_SNORM; + + case Format::R8G8B8A8_SNORM: + return DXGI_FORMAT_R8G8B8A8_SNORM; + case Format::R8G8_SNORM: + return DXGI_FORMAT_R8G8_SNORM; + case Format::R8_SNORM: + return DXGI_FORMAT_R8_SNORM; + + case Format::D32_FLOAT: + return DXGI_FORMAT_D32_FLOAT; + case Format::D16_UNORM: + return DXGI_FORMAT_D16_UNORM; + case Format::D32_FLOAT_S8_UINT: + return DXGI_FORMAT_D32_FLOAT_S8X24_UINT; + case Format::R32_FLOAT_X32_TYPELESS: + return DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS; + + case Format::B4G4R4A4_UNORM: + return DXGI_FORMAT_B4G4R4A4_UNORM; + case Format::B5G6R5_UNORM: + return DXGI_FORMAT_B5G6R5_UNORM; + case Format::B5G5R5A1_UNORM: + return DXGI_FORMAT_B5G5R5A1_UNORM; + + case Format::R9G9B9E5_SHAREDEXP: + return DXGI_FORMAT_R9G9B9E5_SHAREDEXP; + case Format::R10G10B10A2_TYPELESS: + return DXGI_FORMAT_R10G10B10A2_TYPELESS; + case Format::R10G10B10A2_UINT: + return DXGI_FORMAT_R10G10B10A2_UINT; + case Format::R10G10B10A2_UNORM: + return DXGI_FORMAT_R10G10B10A2_UNORM; + case Format::R11G11B10_FLOAT: + return DXGI_FORMAT_R11G11B10_FLOAT; + + case Format::BC1_UNORM: + return DXGI_FORMAT_BC1_UNORM; + case Format::BC1_UNORM_SRGB: + return DXGI_FORMAT_BC1_UNORM_SRGB; + case Format::BC2_UNORM: + return DXGI_FORMAT_BC2_UNORM; + case Format::BC2_UNORM_SRGB: + return DXGI_FORMAT_BC2_UNORM_SRGB; + case Format::BC3_UNORM: + return DXGI_FORMAT_BC3_UNORM; + case Format::BC3_UNORM_SRGB: + return DXGI_FORMAT_BC3_UNORM_SRGB; + case Format::BC4_UNORM: + return DXGI_FORMAT_BC4_UNORM; + case Format::BC4_SNORM: + return DXGI_FORMAT_BC4_SNORM; + case Format::BC5_UNORM: + return DXGI_FORMAT_BC5_UNORM; + case Format::BC5_SNORM: + return DXGI_FORMAT_BC5_SNORM; + case Format::BC6H_UF16: + return DXGI_FORMAT_BC6H_UF16; + case Format::BC6H_SF16: + return DXGI_FORMAT_BC6H_SF16; + case Format::BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM; + case Format::BC7_UNORM_SRGB: + return DXGI_FORMAT_BC7_UNORM_SRGB; + + default: + return DXGI_FORMAT_UNKNOWN; } } @@ -234,8 +351,10 @@ D3DUtil::calcResourceFormat(UsageType usage, Int usageFlags, DXGI_FORMAT format) { return DXGI_FORMAT_R32_TYPELESS; } - case DXGI_FORMAT_D24_UNORM_S8_UINT: return DXGI_FORMAT_R24G8_TYPELESS; - default: break; + case DXGI_FORMAT_D24_UNORM_S8_UINT: + return DXGI_FORMAT_R24G8_TYPELESS; + default: + break; } return format; } @@ -260,9 +379,12 @@ D3DUtil::calcResourceFormat(UsageType usage, Int usageFlags, DXGI_FORMAT format) { return DXGI_FORMAT_D32_FLOAT; } - case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: return DXGI_FORMAT_D24_UNORM_S8_UINT; - case DXGI_FORMAT_R24G8_TYPELESS: return DXGI_FORMAT_D24_UNORM_S8_UINT; - default: break; + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + return DXGI_FORMAT_D24_UNORM_S8_UINT; + case DXGI_FORMAT_R24G8_TYPELESS: + return DXGI_FORMAT_D24_UNORM_S8_UINT; + default: + break; } return format; } @@ -275,8 +397,10 @@ D3DUtil::calcResourceFormat(UsageType usage, Int usageFlags, DXGI_FORMAT format) { return DXGI_FORMAT_UNKNOWN; } - case DXGI_FORMAT_R32_TYPELESS: return DXGI_FORMAT_R32_FLOAT; - default: break; + case DXGI_FORMAT_R32_TYPELESS: + return DXGI_FORMAT_R32_FLOAT; + default: + break; } return format; } @@ -289,8 +413,10 @@ D3DUtil::calcResourceFormat(UsageType usage, Int usageFlags, DXGI_FORMAT format) { return DXGI_FORMAT_R32_FLOAT; } - case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: return DXGI_FORMAT_R24_UNORM_X8_TYPELESS; - default: break; + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + return DXGI_FORMAT_R24_UNORM_X8_TYPELESS; + default: + break; } return format; @@ -331,7 +457,8 @@ bool D3DUtil::isTypeless(DXGI_FORMAT format) { return true; } - default: break; + default: + break; } return false; } @@ -387,9 +514,11 @@ bool D3DUtil::isTypeless(DXGI_FORMAT format) { return 5; } - case DXGI_FORMAT_B4G4R4A4_UNORM: return 4; + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 4; - default: return 0; + default: + return 0; } } @@ -593,8 +722,10 @@ bool D3DUtil::isUAVBinding(slang::BindingType bindingType) { case slang::BindingType::MutableRawBuffer: case slang::BindingType::MutableTexture: - case slang::BindingType::MutableTypedBuffer: return true; - default: return false; + case slang::BindingType::MutableTypedBuffer: + return true; + default: + return false; } } @@ -628,8 +759,10 @@ uint32_t D3DUtil::getPlaneSliceCount(DXGI_FORMAT format) switch (format) { case DXGI_FORMAT_D24_UNORM_S8_UINT: - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: return 2; - default: return 1; + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + return 2; + default: + return 1; } } @@ -638,19 +771,28 @@ uint32_t D3DUtil::getPlaneSlice(DXGI_FORMAT format, TextureAspect aspect) switch (aspect) { case TextureAspect::Default: - case TextureAspect::Color: return 0; - case TextureAspect::Depth: return 0; + case TextureAspect::Color: + return 0; + case TextureAspect::Depth: + return 0; case TextureAspect::Stencil: switch (format) { case DXGI_FORMAT_D24_UNORM_S8_UINT: - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: return 1; - default: return 0; + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + return 1; + default: + return 0; } - case TextureAspect::Plane0: return 0; - case TextureAspect::Plane1: return 1; - case TextureAspect::Plane2: return 2; - default: SLANG_ASSERT_FAILURE("Unknown texture aspect."); return 0; + case TextureAspect::Plane0: + return 0; + case TextureAspect::Plane1: + return 1; + case TextureAspect::Plane2: + return 2; + default: + SLANG_ASSERT_FAILURE("Unknown texture aspect."); + return 0; } } @@ -658,8 +800,10 @@ D3D12_INPUT_CLASSIFICATION D3DUtil::getInputSlotClass(InputSlotClass slotClass) { switch (slotClass) { - case InputSlotClass::PerVertex: return D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; - case InputSlotClass::PerInstance: return D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA; + case InputSlotClass::PerVertex: + return D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; + case InputSlotClass::PerInstance: + return D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA; default: SLANG_ASSERT_FAILURE("Unknown input slot class."); return D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; @@ -670,9 +814,13 @@ D3D12_FILL_MODE D3DUtil::getFillMode(FillMode mode) { switch (mode) { - case FillMode::Solid: return D3D12_FILL_MODE_SOLID; - case FillMode::Wireframe: return D3D12_FILL_MODE_WIREFRAME; - default: SLANG_ASSERT_FAILURE("Unknown fill mode."); return D3D12_FILL_MODE_SOLID; + case FillMode::Solid: + return D3D12_FILL_MODE_SOLID; + case FillMode::Wireframe: + return D3D12_FILL_MODE_WIREFRAME; + default: + SLANG_ASSERT_FAILURE("Unknown fill mode."); + return D3D12_FILL_MODE_SOLID; } } @@ -680,10 +828,15 @@ D3D12_CULL_MODE D3DUtil::getCullMode(CullMode mode) { switch (mode) { - case CullMode::None: return D3D12_CULL_MODE_NONE; - case CullMode::Front: return D3D12_CULL_MODE_FRONT; - case CullMode::Back: return D3D12_CULL_MODE_BACK; - default: SLANG_ASSERT_FAILURE("Unknown cull mode."); return D3D12_CULL_MODE_NONE; + case CullMode::None: + return D3D12_CULL_MODE_NONE; + case CullMode::Front: + return D3D12_CULL_MODE_FRONT; + case CullMode::Back: + return D3D12_CULL_MODE_BACK; + default: + SLANG_ASSERT_FAILURE("Unknown cull mode."); + return D3D12_CULL_MODE_NONE; } } @@ -691,12 +844,19 @@ D3D12_BLEND_OP D3DUtil::getBlendOp(BlendOp op) { switch (op) { - case BlendOp::Add: return D3D12_BLEND_OP_ADD; - case BlendOp::Subtract: return D3D12_BLEND_OP_SUBTRACT; - case BlendOp::ReverseSubtract: return D3D12_BLEND_OP_REV_SUBTRACT; - case BlendOp::Min: return D3D12_BLEND_OP_MIN; - case BlendOp::Max: return D3D12_BLEND_OP_MAX; - default: SLANG_ASSERT_FAILURE("Unknown blend op."); return D3D12_BLEND_OP_ADD; + case BlendOp::Add: + return D3D12_BLEND_OP_ADD; + case BlendOp::Subtract: + return D3D12_BLEND_OP_SUBTRACT; + case BlendOp::ReverseSubtract: + return D3D12_BLEND_OP_REV_SUBTRACT; + case BlendOp::Min: + return D3D12_BLEND_OP_MIN; + case BlendOp::Max: + return D3D12_BLEND_OP_MAX; + default: + SLANG_ASSERT_FAILURE("Unknown blend op."); + return D3D12_BLEND_OP_ADD; } } @@ -704,24 +864,43 @@ D3D12_BLEND D3DUtil::getBlendFactor(BlendFactor factor) { switch (factor) { - case BlendFactor::Zero: return D3D12_BLEND_ZERO; - case BlendFactor::One: return D3D12_BLEND_ONE; - case BlendFactor::SrcColor: return D3D12_BLEND_SRC_COLOR; - case BlendFactor::InvSrcColor: return D3D12_BLEND_INV_SRC_COLOR; - case BlendFactor::SrcAlpha: return D3D12_BLEND_SRC_ALPHA; - case BlendFactor::InvSrcAlpha: return D3D12_BLEND_INV_SRC_ALPHA; - case BlendFactor::DestAlpha: return D3D12_BLEND_DEST_ALPHA; - case BlendFactor::InvDestAlpha: return D3D12_BLEND_INV_DEST_ALPHA; - case BlendFactor::DestColor: return D3D12_BLEND_DEST_COLOR; - case BlendFactor::InvDestColor: return D3D12_BLEND_INV_DEST_COLOR; - case BlendFactor::SrcAlphaSaturate: return D3D12_BLEND_SRC_ALPHA_SAT; - case BlendFactor::BlendColor: return D3D12_BLEND_BLEND_FACTOR; - case BlendFactor::InvBlendColor: return D3D12_BLEND_INV_BLEND_FACTOR; - case BlendFactor::SecondarySrcColor: return D3D12_BLEND_SRC1_COLOR; - case BlendFactor::InvSecondarySrcColor: return D3D12_BLEND_INV_SRC1_COLOR; - case BlendFactor::SecondarySrcAlpha: return D3D12_BLEND_SRC1_ALPHA; - case BlendFactor::InvSecondarySrcAlpha: return D3D12_BLEND_INV_SRC1_ALPHA; - default: SLANG_ASSERT_FAILURE("Unknown blend factor."); return D3D12_BLEND_ZERO; + case BlendFactor::Zero: + return D3D12_BLEND_ZERO; + case BlendFactor::One: + return D3D12_BLEND_ONE; + case BlendFactor::SrcColor: + return D3D12_BLEND_SRC_COLOR; + case BlendFactor::InvSrcColor: + return D3D12_BLEND_INV_SRC_COLOR; + case BlendFactor::SrcAlpha: + return D3D12_BLEND_SRC_ALPHA; + case BlendFactor::InvSrcAlpha: + return D3D12_BLEND_INV_SRC_ALPHA; + case BlendFactor::DestAlpha: + return D3D12_BLEND_DEST_ALPHA; + case BlendFactor::InvDestAlpha: + return D3D12_BLEND_INV_DEST_ALPHA; + case BlendFactor::DestColor: + return D3D12_BLEND_DEST_COLOR; + case BlendFactor::InvDestColor: + return D3D12_BLEND_INV_DEST_COLOR; + case BlendFactor::SrcAlphaSaturate: + return D3D12_BLEND_SRC_ALPHA_SAT; + case BlendFactor::BlendColor: + return D3D12_BLEND_BLEND_FACTOR; + case BlendFactor::InvBlendColor: + return D3D12_BLEND_INV_BLEND_FACTOR; + case BlendFactor::SecondarySrcColor: + return D3D12_BLEND_SRC1_COLOR; + case BlendFactor::InvSecondarySrcColor: + return D3D12_BLEND_INV_SRC1_COLOR; + case BlendFactor::SecondarySrcAlpha: + return D3D12_BLEND_SRC1_ALPHA; + case BlendFactor::InvSecondarySrcAlpha: + return D3D12_BLEND_INV_SRC1_ALPHA; + default: + SLANG_ASSERT_FAILURE("Unknown blend factor."); + return D3D12_BLEND_ZERO; } } @@ -744,33 +923,52 @@ D3D12_RESOURCE_STATES D3DUtil::getResourceState(ResourceState state) { switch (state) { - case ResourceState::Undefined: return D3D12_RESOURCE_STATE_COMMON; - case ResourceState::General: return D3D12_RESOURCE_STATE_COMMON; - case ResourceState::PreInitialized: return D3D12_RESOURCE_STATE_COMMON; - case ResourceState::VertexBuffer: return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER; - case ResourceState::IndexBuffer: return D3D12_RESOURCE_STATE_INDEX_BUFFER; - case ResourceState::ConstantBuffer: return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER; - case ResourceState::StreamOutput: return D3D12_RESOURCE_STATE_STREAM_OUT; + case ResourceState::Undefined: + return D3D12_RESOURCE_STATE_COMMON; + case ResourceState::General: + return D3D12_RESOURCE_STATE_COMMON; + case ResourceState::PreInitialized: + return D3D12_RESOURCE_STATE_COMMON; + case ResourceState::VertexBuffer: + return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER; + case ResourceState::IndexBuffer: + return D3D12_RESOURCE_STATE_INDEX_BUFFER; + case ResourceState::ConstantBuffer: + return D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER; + case ResourceState::StreamOutput: + return D3D12_RESOURCE_STATE_STREAM_OUT; case ResourceState::ShaderResource: case ResourceState::AccelerationStructureBuildInput: return D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE; - case ResourceState::PixelShaderResource: return D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE; + case ResourceState::PixelShaderResource: + return D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE; case ResourceState::NonPixelShaderResource: return D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE; - case ResourceState::UnorderedAccess: return D3D12_RESOURCE_STATE_UNORDERED_ACCESS; - case ResourceState::RenderTarget: return D3D12_RESOURCE_STATE_RENDER_TARGET; - case ResourceState::DepthRead: return D3D12_RESOURCE_STATE_DEPTH_READ; - case ResourceState::DepthWrite: ; return D3D12_RESOURCE_STATE_DEPTH_WRITE; - case ResourceState::Present: return D3D12_RESOURCE_STATE_PRESENT; - case ResourceState::IndirectArgument: return D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT; - case ResourceState::CopySource: return D3D12_RESOURCE_STATE_COPY_SOURCE; - case ResourceState::CopyDestination: return D3D12_RESOURCE_STATE_COPY_DEST; - case ResourceState::ResolveSource: return D3D12_RESOURCE_STATE_RESOLVE_SOURCE; - case ResourceState::ResolveDestination: return D3D12_RESOURCE_STATE_RESOLVE_DEST; + case ResourceState::UnorderedAccess: + return D3D12_RESOURCE_STATE_UNORDERED_ACCESS; + case ResourceState::RenderTarget: + return D3D12_RESOURCE_STATE_RENDER_TARGET; + case ResourceState::DepthRead: + return D3D12_RESOURCE_STATE_DEPTH_READ; + case ResourceState::DepthWrite:; + return D3D12_RESOURCE_STATE_DEPTH_WRITE; + case ResourceState::Present: + return D3D12_RESOURCE_STATE_PRESENT; + case ResourceState::IndirectArgument: + return D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT; + case ResourceState::CopySource: + return D3D12_RESOURCE_STATE_COPY_SOURCE; + case ResourceState::CopyDestination: + return D3D12_RESOURCE_STATE_COPY_DEST; + case ResourceState::ResolveSource: + return D3D12_RESOURCE_STATE_RESOLVE_SOURCE; + case ResourceState::ResolveDestination: + return D3D12_RESOURCE_STATE_RESOLVE_DEST; case ResourceState::AccelerationStructure: return D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE; - default: return D3D12_RESOURCE_STATE_COMMON; + default: + return D3D12_RESOURCE_STATE_COMMON; } } |
