|  |  |  | @ -374,7 +374,7 @@ VkResult render_thread(GLFWwindow* window, RenderContext* render_context) { | 
		
	
		
			
				|  |  |  |  |   VkBuffer temp_buffer; | 
		
	
		
			
				|  |  |  |  |   VmaAllocation temp_memory; | 
		
	
		
			
				|  |  |  |  |   void* mapped; | 
		
	
		
			
				|  |  |  |  |   result = create_transfer_buffer(sizeof(String) + 2*sizeof(uint32_t), render_context->allocator, &temp_buffer, &temp_memory, (void**)&mapped); | 
		
	
		
			
				|  |  |  |  |   result = create_transfer_buffer(sizeof(String) + 100*sizeof(uint32_t), render_context->allocator, &temp_buffer, &temp_memory, (void**)&mapped); | 
		
	
		
			
				|  |  |  |  |   if(result != VK_SUCCESS) { | 
		
	
		
			
				|  |  |  |  |     return result; | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
	
		
			
				
					|  |  |  | @ -387,13 +387,14 @@ VkResult render_thread(GLFWwindow* window, RenderContext* render_context) { | 
		
	
		
			
				|  |  |  |  |   mapped_string->color[1] = 1.0; | 
		
	
		
			
				|  |  |  |  |   mapped_string->color[2] = 1.0; | 
		
	
		
			
				|  |  |  |  |   mapped_string->color[3] = 1.0; | 
		
	
		
			
				|  |  |  |  |   mapped_string->size = 200.0; | 
		
	
		
			
				|  |  |  |  |   mapped_string->length = 2; | 
		
	
		
			
				|  |  |  |  |   mapped_string->size = 50.0; | 
		
	
		
			
				|  |  |  |  |   mapped_string->length = 100; | 
		
	
		
			
				|  |  |  |  |   mapped_string->offset = 0; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   uint32* mapped_codes = (uint32_t*)(mapped + sizeof(String)); | 
		
	
		
			
				|  |  |  |  |   mapped_codes[0] = 4; | 
		
	
		
			
				|  |  |  |  |   mapped_codes[1] = 5; | 
		
	
		
			
				|  |  |  |  |   for(uint32_t i = 0; i < 100; i++) { | 
		
	
		
			
				|  |  |  |  |     mapped_codes[i]  = i; | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   VkCommandBuffer command_buffer = command_begin_single(render_context->device, render_context->transfer_pool); | 
		
	
		
			
				|  |  |  |  |   VkBufferCopy copy_string = { | 
		
	
	
		
			
				
					|  |  |  | @ -402,7 +403,7 @@ VkResult render_thread(GLFWwindow* window, RenderContext* render_context) { | 
		
	
		
			
				|  |  |  |  |   }; | 
		
	
		
			
				|  |  |  |  |   vkCmdCopyBuffer(command_buffer, temp_buffer, text_pointers.strings_buffer, 1, ©_string); | 
		
	
		
			
				|  |  |  |  |   VkBufferCopy copy_codes = { | 
		
	
		
			
				|  |  |  |  |     .size = 2*sizeof(uint32_t), | 
		
	
		
			
				|  |  |  |  |     .size = 100*sizeof(uint32_t), | 
		
	
		
			
				|  |  |  |  |     .srcOffset = sizeof(String), | 
		
	
		
			
				|  |  |  |  |   }; | 
		
	
		
			
				|  |  |  |  |   vkCmdCopyBuffer(command_buffer, temp_buffer, text_pointers.codes_buffer, 1, ©_codes); | 
		
	
	
		
			
				
					|  |  |  | @ -422,7 +423,7 @@ VkResult render_thread(GLFWwindow* window, RenderContext* render_context) { | 
		
	
		
			
				|  |  |  |  |     .font = test_font_descriptor, | 
		
	
		
			
				|  |  |  |  |     .chars_size = 10*sizeof(Character), | 
		
	
		
			
				|  |  |  |  |     .chars = text_pointers.characters_buffer, | 
		
	
		
			
				|  |  |  |  |     .string_count = 2, | 
		
	
		
			
				|  |  |  |  |     .string_count = 1, | 
		
	
		
			
				|  |  |  |  |     .string_pointers = text_pointers_address, | 
		
	
		
			
				|  |  |  |  |     .string_draw = text_pointers.draw_buffer, | 
		
	
		
			
				|  |  |  |  |     .string_draw_clear = text_pointers.draw_clear_buffer, | 
		
	
	
		
			
				
					|  |  |  | 
 |