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)
|
||||
{
|
||||
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);
|
||||
pcbOffset += sizeof prim.m_MaterialIdx;
|
||||
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, pcbOffset, sizeof prim.m_TransformIdx,
|
||||
innerPcbOffset += sizeof prim.m_MaterialIdx;
|
||||
cmd.pushConstants(pipeline.m_Layout, vk::ShaderStageFlagBits::eAll, innerPcbOffset,
|
||||
sizeof 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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue