plugging more leaks
	
		
			
	
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	
				
					
				
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	
							parent
							
								
									98b6518f2b
								
							
						
					
					
						commit
						059c28d5c0
					
				|  | @ -3895,18 +3895,17 @@ static void VULKAN_INTERNAL_RecreateSwapchain( | ||||||
| ) { | ) { | ||||||
| 	CreateSwapchainResult createSwapchainResult; | 	CreateSwapchainResult createSwapchainResult; | ||||||
| 
 | 
 | ||||||
| 	renderer->vkDeviceWaitIdle(renderer->logicalDevice); | 	VULKAN_Wait((Refresh_Renderer*)renderer); | ||||||
| 
 | 
 | ||||||
| 	VULKAN_INTERNAL_DestroySwapchain(renderer, windowHandle); | 	VULKAN_INTERNAL_DestroySwapchain(renderer, windowHandle); | ||||||
| 	createSwapchainResult = VULKAN_INTERNAL_CreateSwapchain(renderer, windowHandle); | 	createSwapchainResult = VULKAN_INTERNAL_CreateSwapchain(renderer, windowHandle); | ||||||
| 
 | 
 | ||||||
| 	if (createSwapchainResult == CREATE_SWAPCHAIN_FAIL) | 	if (createSwapchainResult == CREATE_SWAPCHAIN_FAIL) | ||||||
| 	{ | 	{ | ||||||
| 		Refresh_LogError("Failed to recreate swapchain!"); |  | ||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	renderer->vkDeviceWaitIdle(renderer->logicalDevice); | 	VULKAN_Wait((Refresh_Renderer*)renderer); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Command Buffers */ | /* Command Buffers */ | ||||||
|  | @ -3980,10 +3979,25 @@ static void VULKAN_DestroyDevice( | ||||||
| 
 | 
 | ||||||
| 	VULKAN_Wait(device->driverData); | 	VULKAN_Wait(device->driverData); | ||||||
| 
 | 
 | ||||||
|  | 	SDL_free(renderer->submittedCommandBuffers); | ||||||
|  | 
 | ||||||
| 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyVertexUniformBuffer->vulkanBuffer); | 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyVertexUniformBuffer->vulkanBuffer); | ||||||
| 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyFragmentUniformBuffer->vulkanBuffer); | 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyFragmentUniformBuffer->vulkanBuffer); | ||||||
| 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyComputeUniformBuffer->vulkanBuffer); | 	VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyComputeUniformBuffer->vulkanBuffer); | ||||||
| 
 | 
 | ||||||
|  | 	SDL_free(renderer->dummyVertexUniformBuffer); | ||||||
|  | 	SDL_free(renderer->dummyFragmentUniformBuffer); | ||||||
|  | 	SDL_free(renderer->dummyComputeUniformBuffer); | ||||||
|  | 
 | ||||||
|  | 	for (i = 0; i < renderer->transferBufferPool.availableBufferCount; i += 1) | ||||||
|  | 	{ | ||||||
|  | 		VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->transferBufferPool.availableBuffers[i]->buffer); | ||||||
|  | 		SDL_free(renderer->transferBufferPool.availableBuffers[i]); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	SDL_free(renderer->transferBufferPool.availableBuffers); | ||||||
|  | 	SDL_DestroyMutex(renderer->transferBufferPool.lock); | ||||||
|  | 
 | ||||||
| 	for (i = 0; i < renderer->availableFenceCount; i += 1) | 	for (i = 0; i < renderer->availableFenceCount; i += 1) | ||||||
| 	{ | 	{ | ||||||
| 		renderer->vkDestroyFence( | 		renderer->vkDestroyFence( | ||||||
|  | @ -3993,6 +4007,8 @@ static void VULKAN_DestroyDevice( | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	SDL_free(renderer->availableFences); | ||||||
|  | 
 | ||||||
| 	for (i = 0; i < NUM_COMMAND_POOL_BUCKETS; i += 1) | 	for (i = 0; i < NUM_COMMAND_POOL_BUCKETS; i += 1) | ||||||
| 	{ | 	{ | ||||||
| 		commandPoolHashArray = renderer->commandPoolHashTable.buckets[i]; | 		commandPoolHashArray = renderer->commandPoolHashTable.buckets[i]; | ||||||
|  | @ -4015,11 +4031,23 @@ static void VULKAN_DestroyDevice( | ||||||
| 		graphicsPipelineLayoutHashArray = renderer->graphicsPipelineLayoutHashTable.buckets[i]; | 		graphicsPipelineLayoutHashArray = renderer->graphicsPipelineLayoutHashTable.buckets[i]; | ||||||
| 		for (j = 0; j < graphicsPipelineLayoutHashArray.count; j += 1) | 		for (j = 0; j < graphicsPipelineLayoutHashArray.count; j += 1) | ||||||
| 		{ | 		{ | ||||||
|  | 			VULKAN_INTERNAL_DestroyDescriptorSetCache( | ||||||
|  | 				renderer, | ||||||
|  | 				graphicsPipelineLayoutHashArray.elements[j].value->vertexSamplerDescriptorSetCache | ||||||
|  | 			); | ||||||
|  | 
 | ||||||
|  | 			VULKAN_INTERNAL_DestroyDescriptorSetCache( | ||||||
|  | 				renderer, | ||||||
|  | 				graphicsPipelineLayoutHashArray.elements[j].value->fragmentSamplerDescriptorSetCache | ||||||
|  | 			); | ||||||
|  | 
 | ||||||
| 			renderer->vkDestroyPipelineLayout( | 			renderer->vkDestroyPipelineLayout( | ||||||
| 				renderer->logicalDevice, | 				renderer->logicalDevice, | ||||||
| 				graphicsPipelineLayoutHashArray.elements[j].value->pipelineLayout, | 				graphicsPipelineLayoutHashArray.elements[j].value->pipelineLayout, | ||||||
| 				NULL | 				NULL | ||||||
| 			); | 			); | ||||||
|  | 
 | ||||||
|  | 			SDL_free(graphicsPipelineLayoutHashArray.elements[j].value); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (graphicsPipelineLayoutHashArray.elements != NULL) | 		if (graphicsPipelineLayoutHashArray.elements != NULL) | ||||||
|  | @ -4045,6 +4073,8 @@ static void VULKAN_DestroyDevice( | ||||||
| 				computePipelineLayoutHashArray.elements[j].value->pipelineLayout, | 				computePipelineLayoutHashArray.elements[j].value->pipelineLayout, | ||||||
| 				NULL | 				NULL | ||||||
| 			); | 			); | ||||||
|  | 
 | ||||||
|  | 			SDL_free(computePipelineLayoutHashArray.elements[j].value); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (computePipelineLayoutHashArray.elements != NULL) | 		if (computePipelineLayoutHashArray.elements != NULL) | ||||||
|  | @ -5695,7 +5725,7 @@ static Refresh_Buffer* VULKAN_CreateBuffer( | ||||||
| 	Refresh_BufferUsageFlags usageFlags, | 	Refresh_BufferUsageFlags usageFlags, | ||||||
| 	uint32_t sizeInBytes | 	uint32_t sizeInBytes | ||||||
| ) { | ) { | ||||||
| 	VulkanBuffer* buffer = SDL_malloc(sizeof(VulkanBuffer)); | 	VulkanBuffer* buffer; | ||||||
| 
 | 
 | ||||||
| 	VkBufferUsageFlags vulkanUsageFlags = | 	VkBufferUsageFlags vulkanUsageFlags = | ||||||
| 		VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; | 		VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; | ||||||
|  | @ -7459,7 +7489,7 @@ static void VULKAN_INTERNAL_AllocateCommandBuffers( | ||||||
| 	VkResult vulkanResult; | 	VkResult vulkanResult; | ||||||
| 	uint32_t i; | 	uint32_t i; | ||||||
| 	VkCommandBuffer *commandBuffers = SDL_stack_alloc(VkCommandBuffer, allocateCount); | 	VkCommandBuffer *commandBuffers = SDL_stack_alloc(VkCommandBuffer, allocateCount); | ||||||
| 	VulkanCommandBuffer *currentVulkanCommandBuffer; | 	VulkanCommandBuffer *commandBuffer; | ||||||
| 
 | 
 | ||||||
| 	vulkanCommandPool->inactiveCommandBufferCapacity += allocateCount; | 	vulkanCommandPool->inactiveCommandBufferCapacity += allocateCount; | ||||||
| 
 | 
 | ||||||
|  | @ -7490,23 +7520,117 @@ static void VULKAN_INTERNAL_AllocateCommandBuffers( | ||||||
| 
 | 
 | ||||||
| 	for (i = 0; i < allocateCount; i += 1) | 	for (i = 0; i < allocateCount; i += 1) | ||||||
| 	{ | 	{ | ||||||
| 		currentVulkanCommandBuffer = SDL_malloc(sizeof(VulkanCommandBuffer)); | 		commandBuffer = SDL_malloc(sizeof(VulkanCommandBuffer)); | ||||||
| 		currentVulkanCommandBuffer->commandPool = vulkanCommandPool; | 		commandBuffer->commandPool = vulkanCommandPool; | ||||||
| 		currentVulkanCommandBuffer->commandBuffer = commandBuffers[i]; | 		commandBuffer->commandBuffer = commandBuffers[i]; | ||||||
| 		currentVulkanCommandBuffer->boundComputeBufferCount = 0; | 		commandBuffer->boundComputeBufferCount = 0; | ||||||
| 		currentVulkanCommandBuffer->transferBufferCapacity = 4; | 
 | ||||||
| 		currentVulkanCommandBuffer->transferBufferCount = 0; | 		commandBuffer->present = 0; | ||||||
| 		currentVulkanCommandBuffer->transferBuffers = SDL_malloc( | 		commandBuffer->presentWindowHandle = NULL; | ||||||
| 			currentVulkanCommandBuffer->transferBufferCapacity * sizeof(VulkanTransferBuffer*) | 		commandBuffer->presentSwapchainImageIndex = 0; | ||||||
|  | 		commandBuffer->needNewSwapchain = 0; | ||||||
|  | 
 | ||||||
|  | 		/* Transfer buffer tracking */ | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->transferBufferCapacity = 4; | ||||||
|  | 		commandBuffer->transferBufferCount = 0; | ||||||
|  | 		commandBuffer->transferBuffers = SDL_malloc( | ||||||
|  | 			commandBuffer->transferBufferCapacity * sizeof(VulkanTransferBuffer*) | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		/* Bound buffer tracking */ | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->boundUniformBufferCapacity = 16; | ||||||
|  | 		commandBuffer->boundUniformBufferCount = 0; | ||||||
|  | 		commandBuffer->boundUniformBuffers = SDL_malloc( | ||||||
|  | 			commandBuffer->boundUniformBufferCapacity * sizeof(VulkanUniformBuffer*) | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		/* Descriptor set tracking */ | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->boundDescriptorSetDataCapacity = 16; | ||||||
|  | 		commandBuffer->boundDescriptorSetDataCount = 0; | ||||||
|  | 		commandBuffer->boundDescriptorSetDatas = SDL_malloc( | ||||||
|  | 			commandBuffer->boundDescriptorSetDataCapacity * sizeof(DescriptorSetData) | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		/* Deferred destroy storage */ | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->renderTargetsToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->renderTargetsToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->renderTargetsToDestroy = (VulkanRenderTarget**) SDL_malloc( | ||||||
|  | 			sizeof(VulkanRenderTarget*) * | ||||||
|  | 			commandBuffer->renderTargetsToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->texturesToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->texturesToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->texturesToDestroy = (VulkanTexture**)SDL_malloc( | ||||||
|  | 			sizeof(VulkanTexture*) * | ||||||
|  | 			commandBuffer->texturesToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->buffersToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->buffersToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->buffersToDestroy = (VulkanBuffer**) SDL_malloc( | ||||||
|  | 			sizeof(VulkanBuffer*) * | ||||||
|  | 			commandBuffer->buffersToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->graphicsPipelinesToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->graphicsPipelinesToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->graphicsPipelinesToDestroy = (VulkanGraphicsPipeline**) SDL_malloc( | ||||||
|  | 			sizeof(VulkanGraphicsPipeline*) * | ||||||
|  | 			commandBuffer->graphicsPipelinesToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->computePipelinesToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->computePipelinesToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->computePipelinesToDestroy = (VulkanComputePipeline**) SDL_malloc( | ||||||
|  | 			sizeof(VulkanComputePipeline*) * | ||||||
|  | 			commandBuffer->computePipelinesToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->shaderModulesToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->shaderModulesToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->shaderModulesToDestroy = (VkShaderModule*) SDL_malloc( | ||||||
|  | 			sizeof(VkShaderModule) * | ||||||
|  | 			commandBuffer->shaderModulesToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->samplersToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->samplersToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->samplersToDestroy = (VkSampler*) SDL_malloc( | ||||||
|  | 			sizeof(VkSampler) * | ||||||
|  | 			commandBuffer->samplersToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->framebuffersToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->framebuffersToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->framebuffersToDestroy = (VulkanFramebuffer**) SDL_malloc( | ||||||
|  | 			sizeof(VulkanFramebuffer*) * | ||||||
|  | 			commandBuffer->framebuffersToDestroyCapacity | ||||||
|  | 		); | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->renderPassesToDestroyCapacity = 16; | ||||||
|  | 		commandBuffer->renderPassesToDestroyCount = 0; | ||||||
|  | 
 | ||||||
|  | 		commandBuffer->renderPassesToDestroy = (VkRenderPass*) SDL_malloc( | ||||||
|  | 			sizeof(VkRenderPass) * | ||||||
|  | 			commandBuffer->renderPassesToDestroyCapacity | ||||||
| 		); | 		); | ||||||
| 		currentVulkanCommandBuffer->present = 0; |  | ||||||
| 		currentVulkanCommandBuffer->presentWindowHandle = NULL; |  | ||||||
| 		currentVulkanCommandBuffer->presentSwapchainImageIndex = 0; |  | ||||||
| 		currentVulkanCommandBuffer->needNewSwapchain = 0; |  | ||||||
| 
 | 
 | ||||||
| 		vulkanCommandPool->inactiveCommandBuffers[ | 		vulkanCommandPool->inactiveCommandBuffers[ | ||||||
| 			vulkanCommandPool->inactiveCommandBufferCount | 			vulkanCommandPool->inactiveCommandBufferCount | ||||||
| 		] = currentVulkanCommandBuffer; | 		] = commandBuffer; | ||||||
| 		vulkanCommandPool->inactiveCommandBufferCount += 1; | 		vulkanCommandPool->inactiveCommandBufferCount += 1; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -7615,7 +7739,7 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( | ||||||
| 
 | 
 | ||||||
| 	SDL_UnlockMutex(renderer->acquireCommandBufferLock); | 	SDL_UnlockMutex(renderer->acquireCommandBufferLock); | ||||||
| 
 | 
 | ||||||
| 	/* State tracking */ | 	/* Reset state */ | ||||||
| 
 | 
 | ||||||
| 	commandBuffer->currentComputePipeline = NULL; | 	commandBuffer->currentComputePipeline = NULL; | ||||||
| 	commandBuffer->currentGraphicsPipeline = NULL; | 	commandBuffer->currentGraphicsPipeline = NULL; | ||||||
|  | @ -7624,97 +7748,10 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( | ||||||
| 	commandBuffer->fragmentUniformBuffer = NULL; | 	commandBuffer->fragmentUniformBuffer = NULL; | ||||||
| 	commandBuffer->computeUniformBuffer = NULL; | 	commandBuffer->computeUniformBuffer = NULL; | ||||||
| 
 | 
 | ||||||
| 	/* Bound buffer tracking */ | 	commandBuffer->fixed = fixed; | ||||||
| 
 | 	commandBuffer->submitted = 0; | ||||||
| 	commandBuffer->boundUniformBufferCapacity = 16; | 	commandBuffer->present = 0; | ||||||
| 	commandBuffer->boundUniformBufferCount = 0; | 	commandBuffer->renderPassInProgress = 0; | ||||||
| 	commandBuffer->boundUniformBuffers = SDL_malloc( |  | ||||||
| 		commandBuffer->boundUniformBufferCapacity * sizeof(VulkanUniformBuffer*) |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	/* Descriptor set tracking */ |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->boundDescriptorSetDataCapacity = 16; |  | ||||||
| 	commandBuffer->boundDescriptorSetDataCount = 0; |  | ||||||
| 	commandBuffer->boundDescriptorSetDatas = SDL_malloc( |  | ||||||
| 		commandBuffer->boundDescriptorSetDataCapacity * sizeof(DescriptorSetData) |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	/* Deferred destroy storage */ |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->renderTargetsToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->renderTargetsToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->renderTargetsToDestroy = (VulkanRenderTarget**) SDL_malloc( |  | ||||||
| 		sizeof(VulkanRenderTarget*) * |  | ||||||
| 		commandBuffer->renderTargetsToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->texturesToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->texturesToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->texturesToDestroy = (VulkanTexture**)SDL_malloc( |  | ||||||
| 		sizeof(VulkanTexture*) * |  | ||||||
| 		commandBuffer->texturesToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->buffersToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->buffersToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->buffersToDestroy = (VulkanBuffer**) SDL_malloc( |  | ||||||
| 		sizeof(VulkanBuffer*) * |  | ||||||
| 		commandBuffer->buffersToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->graphicsPipelinesToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->graphicsPipelinesToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->graphicsPipelinesToDestroy = (VulkanGraphicsPipeline**) SDL_malloc( |  | ||||||
| 		sizeof(VulkanGraphicsPipeline*) * |  | ||||||
| 		commandBuffer->graphicsPipelinesToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->computePipelinesToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->computePipelinesToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->computePipelinesToDestroy = (VulkanComputePipeline**) SDL_malloc( |  | ||||||
| 		sizeof(VulkanComputePipeline*) * |  | ||||||
| 		commandBuffer->computePipelinesToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->shaderModulesToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->shaderModulesToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->shaderModulesToDestroy = (VkShaderModule*) SDL_malloc( |  | ||||||
| 		sizeof(VkShaderModule) * |  | ||||||
| 		commandBuffer->shaderModulesToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->samplersToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->samplersToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->samplersToDestroy = (VkSampler*) SDL_malloc( |  | ||||||
| 		sizeof(VkSampler) * |  | ||||||
| 		commandBuffer->samplersToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->framebuffersToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->framebuffersToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->framebuffersToDestroy = (VulkanFramebuffer**) SDL_malloc( |  | ||||||
| 		sizeof(VulkanFramebuffer*) * |  | ||||||
| 		commandBuffer->framebuffersToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->renderPassesToDestroyCapacity = 16; |  | ||||||
| 	commandBuffer->renderPassesToDestroyCount = 0; |  | ||||||
| 
 |  | ||||||
| 	commandBuffer->renderPassesToDestroy = (VkRenderPass*) SDL_malloc( |  | ||||||
| 		sizeof(VkRenderPass) * |  | ||||||
| 		commandBuffer->renderPassesToDestroyCapacity |  | ||||||
| 	); |  | ||||||
| 
 |  | ||||||
| 	/* init bound compute buffer array */ |  | ||||||
| 
 | 
 | ||||||
| 	for (i = 0; i < MAX_BUFFER_BINDINGS; i += 1) | 	for (i = 0; i < MAX_BUFFER_BINDINGS; i += 1) | ||||||
| 	{ | 	{ | ||||||
|  | @ -7722,11 +7759,6 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( | ||||||
| 	} | 	} | ||||||
| 	commandBuffer->boundComputeBufferCount = 0; | 	commandBuffer->boundComputeBufferCount = 0; | ||||||
| 
 | 
 | ||||||
| 	commandBuffer->fixed = fixed; |  | ||||||
| 	commandBuffer->submitted = 0; |  | ||||||
| 	commandBuffer->present = 0; |  | ||||||
| 	commandBuffer->renderPassInProgress = 0; |  | ||||||
| 
 |  | ||||||
| 	VULKAN_INTERNAL_BeginCommandBuffer(renderer, commandBuffer); | 	VULKAN_INTERNAL_BeginCommandBuffer(renderer, commandBuffer); | ||||||
| 
 | 
 | ||||||
| 	return (Refresh_CommandBuffer*) commandBuffer; | 	return (Refresh_CommandBuffer*) commandBuffer; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue