fix 0 size vulkan index buffers
This commit is contained in:
@@ -152,8 +152,9 @@ namespace OpenVulkano::Vulkan
|
|||||||
{
|
{
|
||||||
ManagedBuffer::Ptr vertexBuffer =
|
ManagedBuffer::Ptr vertexBuffer =
|
||||||
CreateDeviceOnlyBufferWithData(sizeof(Vertex) * geometry->GetVertexCount(), vk::BufferUsageFlagBits::eVertexBuffer, geometry->GetVertices());
|
CreateDeviceOnlyBufferWithData(sizeof(Vertex) * geometry->GetVertexCount(), vk::BufferUsageFlagBits::eVertexBuffer, geometry->GetVertices());
|
||||||
ManagedBuffer::Ptr indexBuffer =
|
ManagedBuffer::Ptr indexBuffer;
|
||||||
CreateDeviceOnlyBufferWithData(Utils::EnumAsInt(geometry->indexType) * geometry->GetIndexCount(), vk::BufferUsageFlagBits::eIndexBuffer, geometry->GetIndices());
|
if (geometry->GetIndexCount())
|
||||||
|
indexBuffer = CreateDeviceOnlyBufferWithData(Utils::EnumAsInt(geometry->indexType) * geometry->GetIndexCount(), vk::BufferUsageFlagBits::eIndexBuffer, geometry->GetIndices());
|
||||||
VulkanGeometry* vkGeo = new VulkanGeometry(geometry, vertexBuffer, indexBuffer);
|
VulkanGeometry* vkGeo = new VulkanGeometry(geometry, vertexBuffer, indexBuffer);
|
||||||
geometries.emplace_back(vkGeo);
|
geometries.emplace_back(vkGeo);
|
||||||
geometry->renderGeo = vkGeo;
|
geometry->renderGeo = vkGeo;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace OpenVulkano::Vulkan
|
|||||||
void RecordBind(vk::CommandBuffer& cmdBuffer)
|
void RecordBind(vk::CommandBuffer& cmdBuffer)
|
||||||
{
|
{
|
||||||
cmdBuffer.bindVertexBuffers(0, 1, &m_vertexBuffer->buffer, &m_offsets);
|
cmdBuffer.bindVertexBuffers(0, 1, &m_vertexBuffer->buffer, &m_offsets);
|
||||||
cmdBuffer.bindIndexBuffer(m_indexBuffer->buffer, 0, m_indexType);
|
if (m_indexBuffer) { cmdBuffer.bindIndexBuffer(m_indexBuffer->buffer, 0, m_indexType); }
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordDraw(vk::CommandBuffer& cmdBuffer)
|
void RecordDraw(vk::CommandBuffer& cmdBuffer)
|
||||||
|
|||||||
Reference in New Issue
Block a user