psemek/libs/wgpu/source/chained_struct.cpp
2023-12-30 16:50:44 +03:00

33 lines
527 B
C++

#include <psemek/wgpu/chained_struct.hpp>
#include <psemek/wgpu/external/webgpu.h>
namespace psemek::wgpu::detail
{
void * fill_chain(std::vector<chained_struct> const & chain)
{
WGPUChainedStruct * first = nullptr;
WGPUChainedStruct * current = nullptr;
for (auto const & s : chain)
{
auto p = (WGPUChainedStruct *)s.ptr();
if (!first)
{
first = p;
current = p;
}
else
{
current->next = p;
current = p;
}
}
if (current)
current->next = nullptr;
return first;
}
}