Bugfix: Wrong pcb offset on multiple buffers.
This commit is contained in:
parent
980533dbb7
commit
b356991cad
|
|
@ -298,12 +298,15 @@ main(int, char **)
|
||||||
|
|
||||||
for (auto &prim : model.m_MeshPrimitives)
|
for (auto &prim : model.m_MeshPrimitives)
|
||||||
{
|
{
|
||||||
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, pcbOffset, sizeof prim.m_MaterialIdx,
|
u32 innerPcbOffset = pcbOffset;
|
||||||
|
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, innerPcbOffset,
|
||||||
|
sizeof prim.m_MaterialIdx,
|
||||||
&prim.m_MaterialIdx);
|
&prim.m_MaterialIdx);
|
||||||
pcbOffset += sizeof prim.m_MaterialIdx;
|
innerPcbOffset += sizeof prim.m_MaterialIdx;
|
||||||
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, pcbOffset, sizeof prim.m_TransformIdx,
|
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, innerPcbOffset,
|
||||||
|
sizeof prim.m_TransformIdx,
|
||||||
&prim.m_TransformIdx);
|
&prim.m_TransformIdx);
|
||||||
pcbOffset += sizeof prim.m_TransformIdx;
|
innerPcbOffset += sizeof prim.m_TransformIdx;
|
||||||
cmd.drawIndexed(prim.m_IndexCount, 1, prim.m_FirstIndex, Cast<i32>(prim.m_VertexOffset), 0);
|
cmd.drawIndexed(prim.m_IndexCount, 1, prim.m_FirstIndex, Cast<i32>(prim.m_VertexOffset), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue