Ginger3D/src/main/java/com/github/hydos/ginger/engine/vulkan/io/VkWindow.java

36 lines
952 B
Java

package com.github.hydos.ginger.engine.vulkan.io;
import java.nio.LongBuffer;
import org.lwjgl.glfw.GLFWVulkan;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.vulkan.VK12;
import com.github.hydos.ginger.engine.common.io.Window;
import com.github.hydos.ginger.engine.vulkan.VKConstants;
import com.github.hydos.ginger.engine.vulkan.utils.*;
/**
* used for window related vulkan only things
* @author hydos
*
*/
public class VkWindow
{
public static void createSurface()
{
try(MemoryStack stack = MemoryStack.stackPush())
{
LongBuffer pSurface = stack.longs(VK12.VK_NULL_HANDLE);
int status = GLFWVulkan.glfwCreateWindowSurface(VKConstants.vulkanInstance, Window.getWindow(), null, pSurface);
if(status != VK12.VK_SUCCESS)
{
throw new VulkanException("Failed to create vulkan surface for window reason: " + VKUtils.translateVulkanResult(status));
}
VKConstants.windowSurface = pSurface.get(0);
}
}
}