clean up memory after model not needed
parent
5324a6c1c9
commit
0627e671ef
|
@ -1,7 +1,7 @@
|
|||
package com.github.hydos.ginger;
|
||||
|
||||
import com.github.hydos.ginger.engine.vulkan.VKVariables;
|
||||
import com.github.hydos.ginger.engine.vulkan.render.VKRenderManager;
|
||||
import com.github.hydos.ginger.engine.vulkan.render.*;
|
||||
import com.github.hydos.ginger.engine.vulkan.render.renderers.EntityRenderer;
|
||||
|
||||
public class GingerVK
|
||||
|
@ -24,5 +24,12 @@ public class GingerVK
|
|||
entityRenderer = new EntityRenderer();
|
||||
VKVariables.renderManager.addRenderer(entityRenderer);
|
||||
}
|
||||
|
||||
public void cleanup()
|
||||
{
|
||||
for(VKBufferMesh bufferMesh: entityRenderer.entities) {
|
||||
bufferMesh.cleanup();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -70,11 +70,6 @@ public class VKVariables
|
|||
|
||||
public static VKVertex[] vertices; //TODO: remove and properly add model loading
|
||||
public static int[] indices;
|
||||
|
||||
public static long vertexBuffer;
|
||||
public static long vertexBufferMemory;
|
||||
public static long indexBuffer;
|
||||
public static long indexBufferMemory;
|
||||
|
||||
public static List<Long> uniformBuffers;
|
||||
public static List<Long> uniformBuffersMemory;
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package com.github.hydos.ginger.engine.vulkan.render;
|
||||
|
||||
import static org.lwjgl.vulkan.VK10.*;
|
||||
|
||||
import com.github.hydos.ginger.engine.vulkan.VKVariables;
|
||||
import com.github.hydos.ginger.engine.vulkan.model.VKVertex;
|
||||
import com.github.hydos.ginger.engine.vulkan.model.VKModelLoader.VKMesh;
|
||||
|
||||
|
@ -14,6 +17,12 @@ public class VKBufferMesh
|
|||
public long vertexBufferMemory;
|
||||
public long indexBufferMemory;
|
||||
|
||||
|
||||
public void cleanup() {
|
||||
vkDestroyBuffer(VKVariables.device, indexBuffer, null);
|
||||
vkFreeMemory(VKVariables.device, indexBufferMemory, null);
|
||||
|
||||
vkDestroyBuffer(VKVariables.device, vertexBuffer, null);
|
||||
vkFreeMemory(VKVariables.device, vertexBufferMemory, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -36,12 +36,6 @@ public class VKUtils
|
|||
|
||||
vkDestroyDescriptorSetLayout(VKVariables.device, VKVariables.descriptorSetLayout, null);
|
||||
|
||||
vkDestroyBuffer(VKVariables.device, VKVariables.indexBuffer, null);
|
||||
vkFreeMemory(VKVariables.device, VKVariables.indexBufferMemory, null);
|
||||
|
||||
vkDestroyBuffer(VKVariables.device, VKVariables.vertexBuffer, null);
|
||||
vkFreeMemory(VKVariables.device, VKVariables.vertexBufferMemory, null);
|
||||
|
||||
VKVariables.inFlightFrames.forEach(frame -> {
|
||||
|
||||
vkDestroySemaphore(VKVariables.device, frame.renderFinishedSemaphore(), null);
|
||||
|
|
Loading…
Reference in New Issue