update command buffers
This commit is contained in:
@@ -13,15 +13,14 @@ gnReturnCode allocateCommandBuffers(gnCommandBufferHandle* commandBuffers, uint3
|
|||||||
|
|
||||||
VkCommandBuffer* buffers = malloc(sizeof(VkCommandBuffer) * count);
|
VkCommandBuffer* buffers = malloc(sizeof(VkCommandBuffer) * count);
|
||||||
|
|
||||||
if (vkAllocateCommandBuffers(pool->device->outputDevice->device, &allocInfo, buffers) != VK_SUCCESS)
|
VkResult allocationResult = vkAllocateCommandBuffers(pool->device->outputDevice->device, &allocInfo, buffers);
|
||||||
return GN_FAILED_TO_ALLOCATE_OBJECT;
|
if (allocationResult == VK_SUCCESS)
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
commandBuffers[i]->commandBuffer = malloc(sizeof(gnPlatformCommandBuffer));
|
||||||
|
commandBuffers[i]->commandBuffer->buffer = buffers[i];
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < count; i++) {
|
return VkResultToGnReturnCode(allocationResult);
|
||||||
commandBuffers[i]->commandBuffer = malloc(sizeof(gnPlatformCommandBuffer));
|
|
||||||
commandBuffers[i]->commandBuffer->buffer = buffers[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
return GN_SUCCESS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetCommandBuffer(gnCommandBufferHandle commandBuffer) {
|
void resetCommandBuffer(gnCommandBufferHandle commandBuffer) {
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include "vulkan_command_pool.h"
|
#include "vulkan_command_pool.h"
|
||||||
#include "output_device/vulkan_output_devices.h"
|
#include "output_device/vulkan_output_devices.h"
|
||||||
#include "instance/gryphn_instance.h"
|
#include "instance/gryphn_instance.h"
|
||||||
|
#include "vulkan_result_converter.h"
|
||||||
|
|
||||||
gnReturnCode createCommandPool(gnCommandPool commandPool, gnDevice device, gnCommandPoolInfo info) {
|
gnReturnCode createCommandPool(gnCommandPool commandPool, gnDevice device, gnCommandPoolInfo info) {
|
||||||
commandPool->commandPool = malloc(sizeof(gnPlatformCommandPool));
|
commandPool->commandPool = malloc(sizeof(gnPlatformCommandPool));
|
||||||
@@ -11,11 +12,7 @@ gnReturnCode createCommandPool(gnCommandPool commandPool, gnDevice device, gnCom
|
|||||||
.queueFamilyIndex = info.queueFamilyIndex,
|
.queueFamilyIndex = info.queueFamilyIndex,
|
||||||
};
|
};
|
||||||
if (!device->instance->enabledExtensions[GN_EXT_QUEUES]) poolInfo.queueFamilyIndex = device->outputDevice->queues[device->outputDevice->graphicsQueueIndex].queueInfo.queueIndex;
|
if (!device->instance->enabledExtensions[GN_EXT_QUEUES]) poolInfo.queueFamilyIndex = device->outputDevice->queues[device->outputDevice->graphicsQueueIndex].queueInfo.queueIndex;
|
||||||
|
return VkResultToGnReturnCode(vkCreateCommandPool(device->outputDevice->device, &poolInfo, NULL, &commandPool->commandPool->commandPool));
|
||||||
if (vkCreateCommandPool(device->outputDevice->device, &poolInfo, NULL, &commandPool->commandPool->commandPool) != VK_SUCCESS)
|
|
||||||
return GN_FAILED_TO_CREATE_COMMAND_POOL;
|
|
||||||
|
|
||||||
return GN_SUCCESS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void destroyCommandPool(gnCommandPool commandPool) {
|
void destroyCommandPool(gnCommandPool commandPool) {
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
#include <core/gryphn_return_code.h>
|
#include <core/gryphn_return_code.h>
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
|
|
||||||
gnReturnCode VkResultToGnReturnCode(VkResult result) {
|
static inline gnReturnCode VkResultToGnReturnCode(VkResult result) {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case VK_SUCCESS: return GN_SUCCESS;
|
case VK_SUCCESS: return GN_SUCCESS;
|
||||||
// case VK_NOT_READY: return ;
|
// case VK_NOT_READY: return ;
|
||||||
|
Reference in New Issue
Block a user