diff --git a/src/DX12/LLGI.PipelineStateDX12.cpp b/src/DX12/LLGI.PipelineStateDX12.cpp index 6a15e68..75e3677 100644 --- a/src/DX12/LLGI.PipelineStateDX12.cpp +++ b/src/DX12/LLGI.PipelineStateDX12.cpp @@ -276,6 +276,11 @@ bool PipelineStateDX12::CreatePipelineState() elementDescs[i].Format = DXGI_FORMAT_R8G8B8A8_UINT; elementOffset += sizeof(float) * 1; } + else if (VertexLayouts[i] == VertexLayoutFormat::R16G16_UNORM) + { + elementDescs[i].Format = DXGI_FORMAT_R16G16_UNORM; + elementOffset += sizeof(float) * 1; + } else { Log(LogType::Error, "Unimplemented VertexLoayoutFormat"); diff --git a/src/LLGI.Base.h b/src/LLGI.Base.h index 6aef9fc..f5bfa7c 100644 --- a/src/LLGI.Base.h +++ b/src/LLGI.Base.h @@ -82,6 +82,7 @@ enum class VertexLayoutFormat R8G8B8A8_UINT, R32G32_FLOAT, R32_FLOAT, + R16G16_UNORM, }; enum class TopologyType diff --git a/src/Metal/LLGI.PipelineStateMetal.mm b/src/Metal/LLGI.PipelineStateMetal.mm index 76b1b4b..1109991 100644 --- a/src/Metal/LLGI.PipelineStateMetal.mm +++ b/src/Metal/LLGI.PipelineStateMetal.mm @@ -77,6 +77,12 @@ vertexDescriptor.attributes[i].bufferIndex = VertexBufferIndex; vertexOffset += sizeof(float); } + else if (pipstate->VertexLayouts[i] == VertexLayoutFormat::R16G16_UNORM) + { + vertexDescriptor.attributes[i].format = MTLVertexFormatUShort2Normalized; + vertexDescriptor.attributes[i].bufferIndex = VertexBufferIndex; + vertexOffset += sizeof(float); + } else { Log(LogType::Error, "Unimplemented VertexLoayoutFormat"); diff --git a/src/Vulkan/LLGI.PipelineStateVulkan.cpp b/src/Vulkan/LLGI.PipelineStateVulkan.cpp index 0f85824..296838f 100644 --- a/src/Vulkan/LLGI.PipelineStateVulkan.cpp +++ b/src/Vulkan/LLGI.PipelineStateVulkan.cpp @@ -168,6 +168,11 @@ bool PipelineStateVulkan::CreateGraphicsPipeline() attribDesc.format = vk::Format::eR8G8B8A8Unorm; vertexOffset += sizeof(float); } + else if (VertexLayouts[i] == VertexLayoutFormat::R16G16_UNORM) + { + attribDesc.format = vk::Format::eR16G16Unorm; + vertexOffset += sizeof(float); + } else { Log(LogType::Error, "Unimplemented VertexLoayoutFormat");