Match vertex format in dawn with webgpu BUG=dawn:41 Change-Id: If16e615ccf6b9c7e85d41adcdb6d66baa07179da Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/5280 Commit-Queue: Shaobo Yan <shaobo.yan@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/d3d12/InputStateD3D12.cpp b/src/dawn_native/d3d12/InputStateD3D12.cpp index edeb4c0..fcfa6b1 100644 --- a/src/dawn_native/d3d12/InputStateD3D12.cpp +++ b/src/dawn_native/d3d12/InputStateD3D12.cpp
@@ -20,30 +20,66 @@ static DXGI_FORMAT VertexFormatType(dawn::VertexFormat format) { switch (format) { - case dawn::VertexFormat::FloatR32G32B32A32: - return DXGI_FORMAT_R32G32B32A32_FLOAT; - case dawn::VertexFormat::FloatR32G32B32: - return DXGI_FORMAT_R32G32B32_FLOAT; - case dawn::VertexFormat::FloatR32G32: - return DXGI_FORMAT_R32G32_FLOAT; - case dawn::VertexFormat::FloatR32: - return DXGI_FORMAT_R32_FLOAT; - case dawn::VertexFormat::IntR32G32B32A32: - return DXGI_FORMAT_R32G32B32A32_SINT; - case dawn::VertexFormat::IntR32G32B32: - return DXGI_FORMAT_R32G32B32_SINT; - case dawn::VertexFormat::IntR32G32: - return DXGI_FORMAT_R32G32_SINT; - case dawn::VertexFormat::IntR32: - return DXGI_FORMAT_R32_SINT; - case dawn::VertexFormat::UshortR16G16B16A16: - return DXGI_FORMAT_R16G16B16A16_UINT; - case dawn::VertexFormat::UshortR16G16: - return DXGI_FORMAT_R16G16_UINT; - case dawn::VertexFormat::UnormR8G8B8A8: - return DXGI_FORMAT_R8G8B8A8_UNORM; - case dawn::VertexFormat::UnormR8G8: + case dawn::VertexFormat::UChar2: + return DXGI_FORMAT_R8G8_UINT; + case dawn::VertexFormat::UChar4: + return DXGI_FORMAT_R8G8B8A8_UINT; + case dawn::VertexFormat::Char2: + return DXGI_FORMAT_R8G8_SINT; + case dawn::VertexFormat::Char4: + return DXGI_FORMAT_R8G8B8A8_SINT; + case dawn::VertexFormat::UChar2Norm: return DXGI_FORMAT_R8G8_UNORM; + case dawn::VertexFormat::UChar4Norm: + return DXGI_FORMAT_R8G8B8A8_UNORM; + case dawn::VertexFormat::Char2Norm: + return DXGI_FORMAT_R8G8_SNORM; + case dawn::VertexFormat::Char4Norm: + return DXGI_FORMAT_R8G8B8A8_SNORM; + case dawn::VertexFormat::UShort2: + return DXGI_FORMAT_R16G16_UINT; + case dawn::VertexFormat::UShort4: + return DXGI_FORMAT_R16G16B16A16_UINT; + case dawn::VertexFormat::Short2: + return DXGI_FORMAT_R16G16_SINT; + case dawn::VertexFormat::Short4: + return DXGI_FORMAT_R16G16B16A16_SINT; + case dawn::VertexFormat::UShort2Norm: + return DXGI_FORMAT_R16G16_UNORM; + case dawn::VertexFormat::UShort4Norm: + return DXGI_FORMAT_R16G16B16A16_UNORM; + case dawn::VertexFormat::Short2Norm: + return DXGI_FORMAT_R16G16_SNORM; + case dawn::VertexFormat::Short4Norm: + return DXGI_FORMAT_R16G16B16A16_SNORM; + case dawn::VertexFormat::Half2: + return DXGI_FORMAT_R16G16_FLOAT; + case dawn::VertexFormat::Half4: + return DXGI_FORMAT_R16G16B16A16_FLOAT; + case dawn::VertexFormat::Float: + return DXGI_FORMAT_R32_FLOAT; + case dawn::VertexFormat::Float2: + return DXGI_FORMAT_R32G32_FLOAT; + case dawn::VertexFormat::Float3: + return DXGI_FORMAT_R32G32B32_FLOAT; + case dawn::VertexFormat::Float4: + return DXGI_FORMAT_R32G32B32A32_FLOAT; + case dawn::VertexFormat::UInt: + return DXGI_FORMAT_R32_UINT; + case dawn::VertexFormat::UInt2: + return DXGI_FORMAT_R32G32_UINT; + case dawn::VertexFormat::UInt3: + return DXGI_FORMAT_R32G32B32_UINT; + case dawn::VertexFormat::UInt4: + return DXGI_FORMAT_R32G32B32A32_UINT; + case dawn::VertexFormat::Int: + return DXGI_FORMAT_R32_SINT; + case dawn::VertexFormat::Int2: + return DXGI_FORMAT_R32G32_SINT; + case dawn::VertexFormat::Int3: + return DXGI_FORMAT_R32G32B32_SINT; + case dawn::VertexFormat::Int4: + return DXGI_FORMAT_R32G32B32A32_SINT; default: UNREACHABLE(); }