コード例 #1
0
ファイル: gl_mesh.c プロジェクト: aonorin/vkQuake
/*
================
GLMesh_DeleteVertexBuffers

Delete VBOs for all loaded alias models
================
*/
void GLMesh_DeleteVertexBuffers (void)
{
	GL_WaitForDeviceIdle();

	int j;
	qmodel_t *m;
	
	for (j = 1; j < MAX_MODELS; j++)
	{
		if (!(m = cl.model_precache[j])) break;
		if (m->type != mod_alias) continue;

		vkDestroyBuffer(vulkan_globals.device, m->vertex_buffer, NULL);
		GL_FreeFromHeaps(GEOMETRY_MAX_HEAPS, vertex_buffer_heaps, m->vertex_heap, m->vertex_heap_node, &num_vulkan_mesh_allocations);

		vkDestroyBuffer(vulkan_globals.device, m->index_buffer, NULL);
		GL_FreeFromHeaps(GEOMETRY_MAX_HEAPS, index_buffer_heaps, m->index_heap, m->index_heap_node, &num_vulkan_mesh_allocations);

		m->vertex_buffer = VK_NULL_HANDLE;
		m->vertex_heap = NULL;
		m->vertex_heap_node = NULL;
		m->index_buffer = VK_NULL_HANDLE;
		m->index_heap = NULL;
		m->index_heap_node = NULL;
	}
}
コード例 #2
0
ファイル: gl_heap.c プロジェクト: groleo/vkQuake
/*
===============
GL_DestroyHeap
===============
*/
void GL_DestroyHeap(glheap_t * heap)
{
	GL_WaitForDeviceIdle();
	vkFreeMemory(vulkan_globals.device, heap->memory, NULL);
	free(heap->head);
	free(heap);
}