mirror of
https://github.com/AxioDL/boo.git
synced 2025-12-18 09:25:32 +00:00
Add startInst argument to drawInstanced
This commit is contained in:
@@ -1276,6 +1276,9 @@ public:
|
||||
|
||||
VkDeviceSize sizeForGPU(VulkanContext* ctx, VkDeviceSize offset)
|
||||
{
|
||||
m_bufferInfo.offset = offset;
|
||||
offset += m_sz;
|
||||
|
||||
if (m_use == BufferUse::Uniform)
|
||||
{
|
||||
size_t minOffset = std::max(VkDeviceSize(256),
|
||||
@@ -1283,9 +1286,6 @@ public:
|
||||
offset = (offset + minOffset - 1) & ~(minOffset - 1);
|
||||
}
|
||||
|
||||
m_bufferInfo.offset = offset;
|
||||
offset += m_sz;
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
@@ -1329,15 +1329,15 @@ public:
|
||||
{
|
||||
for (int i=0 ; i<2 ; ++i)
|
||||
{
|
||||
m_bufferInfo[i].offset = offset;
|
||||
offset += m_cpuSz;
|
||||
|
||||
if (m_use == BufferUse::Uniform)
|
||||
{
|
||||
size_t minOffset = std::max(VkDeviceSize(256),
|
||||
ctx->m_gpuProps.limits.minUniformBufferOffsetAlignment);
|
||||
offset = (offset + minOffset - 1) & ~(minOffset - 1);
|
||||
}
|
||||
|
||||
m_bufferInfo[i].offset = offset;
|
||||
offset += m_cpuSz;
|
||||
}
|
||||
|
||||
return offset;
|
||||
@@ -3060,14 +3060,14 @@ struct VulkanCommandQueue : IGraphicsCommandQueue
|
||||
vk::CmdDrawIndexed(m_cmdBufs[m_fillBuf], count, 1, start, 0, 0);
|
||||
}
|
||||
|
||||
void drawInstances(size_t start, size_t count, size_t instCount)
|
||||
void drawInstances(size_t start, size_t count, size_t instCount, size_t startInst)
|
||||
{
|
||||
vk::CmdDraw(m_cmdBufs[m_fillBuf], count, instCount, start, 0);
|
||||
vk::CmdDraw(m_cmdBufs[m_fillBuf], count, instCount, start, startInst);
|
||||
}
|
||||
|
||||
void drawInstancesIndexed(size_t start, size_t count, size_t instCount)
|
||||
void drawInstancesIndexed(size_t start, size_t count, size_t instCount, size_t startInst)
|
||||
{
|
||||
vk::CmdDrawIndexed(m_cmdBufs[m_fillBuf], count, instCount, start, 0, 0);
|
||||
vk::CmdDrawIndexed(m_cmdBufs[m_fillBuf], count, instCount, start, 0, startInst);
|
||||
}
|
||||
|
||||
boo::ObjToken<ITextureR> m_resolveDispSource;
|
||||
|
||||
Reference in New Issue
Block a user