Hopefully fixing models
This commit is contained in:
@@ -150,7 +150,7 @@ typedef uint32 KeyModifierFlags;
|
|||||||
namespace Gfx
|
namespace Gfx
|
||||||
{
|
{
|
||||||
static constexpr bool useAsyncCompute = true;
|
static constexpr bool useAsyncCompute = true;
|
||||||
static constexpr bool waitIdleOnSubmit = true;
|
static constexpr bool waitIdleOnSubmit = false;
|
||||||
static constexpr uint32 numFramesBuffered = 3;
|
static constexpr uint32 numFramesBuffered = 3;
|
||||||
static uint32 currentFrameIndex = 0;
|
static uint32 currentFrameIndex = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -292,13 +292,13 @@ PStagingBuffer StagingManager::allocateStagingBuffer(uint32 size, VkBufferUsageF
|
|||||||
auto freeBuffer = *it;
|
auto freeBuffer = *it;
|
||||||
if (freeBuffer->getSize() == size && freeBuffer->isReadable() == bCPURead && freeBuffer->usage == usage)
|
if (freeBuffer->getSize() == size && freeBuffer->isReadable() == bCPURead && freeBuffer->usage == usage)
|
||||||
{
|
{
|
||||||
std::cout << "Reusing staging buffer" << std::endl;
|
//std::cout << "Reusing staging buffer" << std::endl;
|
||||||
activeBuffers.add(freeBuffer.getHandle());
|
activeBuffers.add(freeBuffer.getHandle());
|
||||||
freeBuffers.remove(it, false);
|
freeBuffers.remove(it, false);
|
||||||
return freeBuffer;
|
return freeBuffer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::cout << "Creating new stagingbuffer" << std::endl;
|
//std::cout << "Creating new stagingbuffer" << std::endl;
|
||||||
PStagingBuffer stagingBuffer = new StagingBuffer();
|
PStagingBuffer stagingBuffer = new StagingBuffer();
|
||||||
VkBufferCreateInfo stagingBufferCreateInfo = init::BufferCreateInfo(usage, size);
|
VkBufferCreateInfo stagingBufferCreateInfo = init::BufferCreateInfo(usage, size);
|
||||||
stagingBufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
stagingBufferCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
||||||
|
|||||||
@@ -234,6 +234,7 @@ void ShaderBuffer::unlock()
|
|||||||
std::memset(®ion, 0, sizeof(VkBufferCopy));
|
std::memset(®ion, 0, sizeof(VkBufferCopy));
|
||||||
region.size = size;
|
region.size = size;
|
||||||
vkCmdCopyBuffer(cmdHandle, stagingBuffer->getHandle(), buffers[currentBuffer].buffer, 1, ®ion);
|
vkCmdCopyBuffer(cmdHandle, stagingBuffer->getHandle(), buffers[currentBuffer].buffer, 1, ®ion);
|
||||||
|
graphics->getQueueCommands(currentOwner)->submitCommands();
|
||||||
}
|
}
|
||||||
//requestOwnershipTransfer(pending.prevQueue);
|
//requestOwnershipTransfer(pending.prevQueue);
|
||||||
graphics->getStagingManager()->releaseStagingBuffer(pending.stagingBuffer);
|
graphics->getStagingManager()->releaseStagingBuffer(pending.stagingBuffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user