diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2016-06-24 10:43:46 +0200 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2016-06-24 10:43:46 +0200 |
| commit | 3570c7f03a2aa90aa634f96c0af1969af610f14d (patch) | |
| tree | 4252e03c0e853ba7cffe022937698c854ad0eaa9 /Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp | |
| parent | 2115e8a4a6814e32107b5205ff5c95bbd3c6e99c (diff) | |
Reformat all the things. Have fun with merge conflicts.
Diffstat (limited to 'Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp | 126 |
1 files changed, 66 insertions, 60 deletions
diff --git a/Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp b/Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp index d5a4cdd5a5..30b071833a 100644 --- a/Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp +++ b/Source/Core/VideoBackends/D3D12/NativeVertexFormat.cpp @@ -13,97 +13,103 @@ namespace DX12 { - -NativeVertexFormat* VertexManager::CreateNativeVertexFormat(const PortableVertexDeclaration& vtx_decl) +NativeVertexFormat* +VertexManager::CreateNativeVertexFormat(const PortableVertexDeclaration& vtx_decl) { - return new D3DVertexFormat(vtx_decl); + return new D3DVertexFormat(vtx_decl); } -static const constexpr DXGI_FORMAT d3d_format_lookup[5*4*2] = -{ - // float formats - DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_R32_FLOAT, - DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R32G32_FLOAT, - DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R32G32B32_FLOAT, - DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R32G32B32A32_FLOAT, - - // integer formats - DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT, DXGI_FORMAT_UNKNOWN, - DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_UNKNOWN, - DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, - DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT, DXGI_FORMAT_UNKNOWN, +static const constexpr DXGI_FORMAT d3d_format_lookup[5 * 4 * 2] = { + // float formats + DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_SNORM, + DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R16G16_UNORM, + DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, + DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R32G32B32_FLOAT, + DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R16G16B16A16_UNORM, + DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R32G32B32A32_FLOAT, + + // integer formats + DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_SINT, + DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R16G16_UINT, + DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, + DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UINT, + DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_SINT, + DXGI_FORMAT_UNKNOWN, }; DXGI_FORMAT VarToD3D(VarType t, int size, bool integer) { - DXGI_FORMAT retval = d3d_format_lookup[static_cast<int>(t) + 5 * (size-1) + 5 * 4 * static_cast<int>(integer)]; - if (retval == DXGI_FORMAT_UNKNOWN) - { - PanicAlert("VarToD3D: Invalid type/size combo %i , %i, %i", static_cast<int>(t), size, static_cast<int>(integer)); - } - return retval; + DXGI_FORMAT retval = + d3d_format_lookup[static_cast<int>(t) + 5 * (size - 1) + 5 * 4 * static_cast<int>(integer)]; + if (retval == DXGI_FORMAT_UNKNOWN) + { + PanicAlert("VarToD3D: Invalid type/size combo %i , %i, %i", static_cast<int>(t), size, + static_cast<int>(integer)); + } + return retval; } D3DVertexFormat::D3DVertexFormat(const PortableVertexDeclaration& vtx_decl) { - this->vtx_decl = vtx_decl; + this->vtx_decl = vtx_decl; - AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.position, "POSITION", 0); + AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.position, "POSITION", 0); - for (int i = 0; i < 3; i++) - { - AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.normals[i], "NORMAL", i); - } + for (int i = 0; i < 3; i++) + { + AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.normals[i], "NORMAL", i); + } - for (int i = 0; i < 2; i++) - { - AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.colors[i], "COLOR", i); - } + for (int i = 0; i < 2; i++) + { + AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.colors[i], "COLOR", i); + } - for (int i = 0; i < 8; i++) - { - AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.texcoords[i], "TEXCOORD", i); - } + for (int i = 0; i < 8; i++) + { + AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.texcoords[i], "TEXCOORD", i); + } - AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.posmtx, "BLENDINDICES", 0); + AddInputElementDescFromAttributeFormatIfValid(&vtx_decl.posmtx, "BLENDINDICES", 0); - m_layout12.NumElements = m_num_elems; - m_layout12.pInputElementDescs = m_elems.data(); + m_layout12.NumElements = m_num_elems; + m_layout12.pInputElementDescs = m_elems.data(); } D3DVertexFormat::~D3DVertexFormat() { } -void D3DVertexFormat::AddInputElementDescFromAttributeFormatIfValid(const AttributeFormat* format, const char* semantic_name, unsigned int semantic_index) +void D3DVertexFormat::AddInputElementDescFromAttributeFormatIfValid(const AttributeFormat* format, + const char* semantic_name, + unsigned int semantic_index) { - if (!format->enable) - { - return; - } - - D3D12_INPUT_ELEMENT_DESC desc = {}; - - desc.AlignedByteOffset = format->offset; - desc.Format = VarToD3D(format->type, format->components, format->integer); - desc.InputSlot = 0; - desc.InputSlotClass = D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; - desc.SemanticName = semantic_name; - desc.SemanticIndex = semantic_index; - - m_elems[m_num_elems] = desc; - ++m_num_elems; + if (!format->enable) + { + return; + } + + D3D12_INPUT_ELEMENT_DESC desc = {}; + + desc.AlignedByteOffset = format->offset; + desc.Format = VarToD3D(format->type, format->components, format->integer); + desc.InputSlot = 0; + desc.InputSlotClass = D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; + desc.SemanticName = semantic_name; + desc.SemanticIndex = semantic_index; + + m_elems[m_num_elems] = desc; + ++m_num_elems; } void D3DVertexFormat::SetupVertexPointers() { - // No-op on DX12. + // No-op on DX12. } D3D12_INPUT_LAYOUT_DESC D3DVertexFormat::GetActiveInputLayout12() const { - return m_layout12; + return m_layout12; } - -} // namespace DX12 +} // namespace DX12 |
