Update Vulkan to use Vulkan 1.3, removed mentions of VK1.4 and updated all VK1.0 to VK1.3

This commit is contained in:
Halbear 2026-05-13 20:50:23 +01:00
parent 1ff359487d
commit 852336e188
13 changed files with 13 additions and 23 deletions

View file

@ -5,8 +5,8 @@ import org.lwjgl.vulkan.VkPipelineVertexInputStateCreateInfo;
import org.lwjgl.vulkan.VkVertexInputAttributeDescription;
import org.lwjgl.vulkan.VkVertexInputBindingDescription;
import static org.lwjgl.vulkan.VK10.VK_FORMAT_R32G32B32_SFLOAT;
import static org.lwjgl.vulkan.VK10.VK_VERTEX_INPUT_RATE_VERTEX;
import static org.lwjgl.vulkan.VK13.VK_FORMAT_R32G32B32_SFLOAT;
import static org.lwjgl.vulkan.VK13.VK_VERTEX_INPUT_RATE_VERTEX;
public class VertexBufferStructure {
private final int NUMBER_OF_ATTRIBUTES = 1;

View file

@ -16,7 +16,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class ModelsCache {
private final Map<String, VulkanModel> ModelsMap;

View file

@ -17,7 +17,7 @@ import java.util.Set;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.KHRPortabilitySubset.VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class Device {
private final VkDevice VulkanDevice;

View file

@ -5,7 +5,7 @@ import net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanBuffer;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.vulkan.VkBufferCopy;
import static org.lwjgl.vulkan.VK10.vkCmdCopyBuffer;
import static org.lwjgl.vulkan.VK13.vkCmdCopyBuffer;
public record TransferBuffer(VulkanBuffer SrcBuffer, VulkanBuffer DstBuffer) {
public void RecordTransferCommand(CommandBuffer commandBuffer){

View file

@ -13,9 +13,7 @@ import java.util.HashSet;
import java.util.Set;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK11.vkGetPhysicalDeviceProperties2;
import static org.lwjgl.vulkan.VK11.vkGetPhysicalDeviceQueueFamilyProperties2;
import static org.lwjgl.vulkan.VK13.*;
public class PhysicalDevice {
private final VkExtensionProperties.Buffer vkDeviceExtensions;

View file

@ -1,4 +0,0 @@
package net.halbear.Terrain4J.EngineCore.Vulkan.Structure.DisplayToScreen;
public class Image {
}

View file

@ -8,7 +8,7 @@ import org.tinylog.Logger;
import java.nio.LongBuffer;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class ImageView {

View file

@ -13,8 +13,6 @@ import java.util.Arrays;
import static org.lwjgl.vulkan.KHRSwapchain.VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
import static org.lwjgl.vulkan.KHRSynchronization2.VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR;
import static org.lwjgl.vulkan.KHRSynchronization2.VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class SceneRender { //dynamic rendering;

View file

@ -15,7 +15,7 @@ import java.nio.IntBuffer;
import java.nio.LongBuffer;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.VK10.VK_FORMAT_B8G8R8A8_SRGB;
import static org.lwjgl.vulkan.VK13.VK_FORMAT_B8G8R8A8_SRGB;
public class Surface {
private final VkSurfaceCapabilitiesKHR SurfaceCapabilities;

View file

@ -15,7 +15,7 @@ import java.nio.LongBuffer;
import java.util.Arrays;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class SwapChain {
private final ImageView[] ImageViewArray;

View file

@ -19,8 +19,7 @@ import java.util.Set;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.vulkan.EXTDebugUtils.*;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK14.VK_API_VERSION_1_4;
import static org.lwjgl.vulkan.VK13.*;
public class VulkanInstance {
@ -40,7 +39,7 @@ public class VulkanInstance {
Logger.debug("Initialising Vulkan Instance");
try (MemoryStack MemStack = MemoryStack.stackPush()) {
ByteBuffer appShortName = MemStack.UTF8("Terrain4J");
var appInfo = VkApplicationInfo.calloc(MemStack).sType$Default().pApplicationName(appShortName).applicationVersion(1).pEngineName(appShortName).engineVersion(3).apiVersion(VK_API_VERSION_1_4);
var appInfo = VkApplicationInfo.calloc(MemStack).sType$Default().pApplicationName(appShortName).applicationVersion(1).pEngineName(appShortName).engineVersion(3).apiVersion(VK_API_VERSION_1_3);
//Vulkan operates in "Layers" and does minimal validation as it expects the developer to be competent, so we add these ourseves for better debugging
//refer to https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Validation_layers for an explanation

View file

@ -15,7 +15,7 @@ import java.nio.LongBuffer;
import static net.halbear.Terrain4J.EngineCore.Vulkan.Util.VulkanUtils.vkCheck;
import static org.lwjgl.system.MemoryUtil.NULL;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.*;
public class VulkanBuffer {
private final long AllocationSize;

View file

@ -7,8 +7,7 @@ import org.tinylog.Logger;
import java.util.Locale;
import static org.lwjgl.vulkan.VK10.*;
import static org.lwjgl.vulkan.VK13.vkCmdPipelineBarrier2;
import static org.lwjgl.vulkan.VK13.*;
public class VulkanUtils {
public static final int MAX_IN_FLIGHT = 2;