forked from MoonsideGames/Refresh
				
			reset command buffers on the thread they were spawned
							parent
							
								
									336468cc31
								
							
						
					
					
						commit
						5187093ddc
					
				|  | @ -8218,6 +8218,7 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( | |||
| 	uint8_t fixed | ||||
| ) { | ||||
| 	VulkanRenderer *renderer = (VulkanRenderer*) driverData; | ||||
| 	VkResult result; | ||||
| 
 | ||||
| 	SDL_threadID threadID = SDL_ThreadID(); | ||||
| 
 | ||||
|  | @ -8244,6 +8245,16 @@ static Refresh_CommandBuffer* VULKAN_AcquireCommandBuffer( | |||
| 	commandBuffer->renderPassInProgress = 0; | ||||
| 	commandBuffer->renderPassColorTargetCount = 0; | ||||
| 
 | ||||
| 	result = renderer->vkResetCommandBuffer( | ||||
| 		commandBuffer->commandBuffer, | ||||
| 		VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT | ||||
| 	); | ||||
| 
 | ||||
| 	if (result != VK_SUCCESS) | ||||
| 	{ | ||||
| 		LogVulkanResultAsError("vkResetCommandBuffer", result); | ||||
| 	} | ||||
| 
 | ||||
| 	VULKAN_INTERNAL_BeginCommandBuffer(renderer, commandBuffer); | ||||
| 
 | ||||
| 	return (Refresh_CommandBuffer*) commandBuffer; | ||||
|  | @ -8418,21 +8429,8 @@ static void VULKAN_INTERNAL_CleanCommandBuffer( | |||
| ) { | ||||
| 	uint32_t i; | ||||
| 	VulkanUniformBuffer *uniformBuffer; | ||||
| 	VkResult result; | ||||
| 	DescriptorSetData *descriptorSetData; | ||||
| 
 | ||||
| 	result = renderer->vkResetCommandBuffer( | ||||
| 		commandBuffer->commandBuffer, | ||||
| 		VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT | ||||
| 	); | ||||
| 
 | ||||
| 	if (result != VK_SUCCESS) | ||||
| 	{ | ||||
| 		LogVulkanResultAsError("vkResetCommandBuffer", result); | ||||
| 	} | ||||
| 
 | ||||
| 	commandBuffer->submitted = 0; | ||||
| 
 | ||||
| 	/* Bound uniform buffers are now available */ | ||||
| 
 | ||||
| 	for (i = 0; i < commandBuffer->boundUniformBufferCount; i += 1) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue