Where possible, code should exclusively use designated initializers, but several code files mix up things, e.g. this from the depth buffering code:
vk::PipelineRasterizationStateCreateInfo rasterizer{
.depthClampEnable = vk::False,
.rasterizerDiscardEnable = vk::False,
.polygonMode = vk::PolygonMode::eFill,
.cullMode = vk::CullModeFlagBits::eBack,
.frontFace = vk::FrontFace::eCounterClockwise,
.depthBiasEnable = vk::False
};
rasterizer.lineWidth = 1.0f;
vk::PipelineColorBlendAttachmentState colorBlendAttachment;
colorBlendAttachment.colorWriteMask = vk::ColorComponentFlagBits::eR | vk::ColorComponentFlagBits::eG | vk::ColorComponentFlagBits::eB | vk::ColorComponentFlagBits::eA;
colorBlendAttachment.blendEnable = vk::False;
```
Most of it uses designated initializers. But then `lineWidth` is set outside of it. A few lines later `colorBlendAttachment` does not use designated initializers at all.
Where possible, code should exclusively use designated initializers, but several code files mix up things, e.g. this from the depth buffering code:
vk::PipelineRasterizationStateCreateInfo rasterizer{ .depthClampEnable = vk::False, .rasterizerDiscardEnable = vk::False, .polygonMode = vk::PolygonMode::eFill, .cullMode = vk::CullModeFlagBits::eBack, .frontFace = vk::FrontFace::eCounterClockwise, .depthBiasEnable = vk::False }; rasterizer.lineWidth = 1.0f; vk::PipelineColorBlendAttachmentState colorBlendAttachment; colorBlendAttachment.colorWriteMask = vk::ColorComponentFlagBits::eR | vk::ColorComponentFlagBits::eG | vk::ColorComponentFlagBits::eB | vk::ColorComponentFlagBits::eA; colorBlendAttachment.blendEnable = vk::False; ``` Most of it uses designated initializers. But then `lineWidth` is set outside of it. A few lines later `colorBlendAttachment` does not use designated initializers at all.