Browse Source

vulkan: remove unnecessary code
Since we supply the vulkan headers ourselves
we can be sure that all the definitions used are there.

niki 2 years ago
parent
commit
a95ff597d5

+ 1 - 76
src/modules/graphics/vulkan/Graphics.cpp

@@ -83,7 +83,7 @@ Graphics::Graphics()
 
 
 	volkInitializeCustom((PFN_vkGetInstanceProcAddr)SDL_Vulkan_GetVkGetInstanceProcAddr());
 	volkInitializeCustom((PFN_vkGetInstanceProcAddr)SDL_Vulkan_GetVkGetInstanceProcAddr());
 
 
-	vulkanApiVersion = Vulkan::getSupportedVulkanApiVersion(volkGetInstanceVersion());
+	vulkanApiVersion = volkGetInstanceVersion();
 }
 }
 
 
 Graphics::~Graphics()
 Graphics::~Graphics()
@@ -92,13 +92,6 @@ Graphics::~Graphics()
 	defaultTexture.set(nullptr);
 	defaultTexture.set(nullptr);
 
 
 	SDL_Vulkan_UnloadLibrary();
 	SDL_Vulkan_UnloadLibrary();
-
-	// We already cleaned those up by clearing out batchedDrawBuffers.
-	// We set them to nullptr here so the base class doesn't crash
-	// when it tries to free this.
-	batchedDrawState.vb[0] = nullptr;
-	batchedDrawState.vb[1] = nullptr;
-	batchedDrawState.indexBuffer = nullptr;
 }
 }
 
 
 // START OVERRIDEN FUNCTIONS
 // START OVERRIDEN FUNCTIONS
@@ -293,17 +286,6 @@ void Graphics::submitGpuCommands(bool present, void *screenshotCallbackData)
 				VK_IMAGE_LAYOUT_UNDEFINED,
 				VK_IMAGE_LAYOUT_UNDEFINED,
 				VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
 				VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
 
 
-			VkImageCopy imageCopy{};
-			imageCopy.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
-			imageCopy.srcSubresource.layerCount = 1;
-			imageCopy.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
-			imageCopy.dstSubresource.layerCount = 1;
-			imageCopy.extent = {
-				swapChainExtent.width,
-				swapChainExtent.height,
-				1
-			};
-
 			VkImageBlit blit{};
 			VkImageBlit blit{};
 			blit.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
 			blit.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
 			blit.srcSubresource.layerCount = 1;
 			blit.srcSubresource.layerCount = 1;
@@ -652,12 +634,10 @@ void Graphics::setFrontFaceWinding(Winding winding)
 
 
 	states.back().winding = winding;
 	states.back().winding = winding;
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 		vkCmdSetFrontFaceEXT(
 		vkCmdSetFrontFaceEXT(
 			commandBuffers.at(currentFrame),
 			commandBuffers.at(currentFrame),
 			Vulkan::getFrontFace(winding));
 			Vulkan::getFrontFace(winding));
-#endif
 }
 }
 
 
 void Graphics::setColorMask(ColorChannelMask mask)
 void Graphics::setColorMask(ColorChannelMask mask)
@@ -895,14 +875,12 @@ void Graphics::setStencilMode(StencilAction action, CompareMode compare, int val
 	vkCmdSetStencilCompareMask(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, readmask);
 	vkCmdSetStencilCompareMask(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, readmask);
 	vkCmdSetStencilReference(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, value);
 	vkCmdSetStencilReference(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, value);
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 		vkCmdSetStencilOpEXT(
 		vkCmdSetStencilOpEXT(
 			commandBuffers.at(currentFrame),
 			commandBuffers.at(currentFrame),
 			VK_STENCIL_FRONT_AND_BACK,
 			VK_STENCIL_FRONT_AND_BACK,
 			VK_STENCIL_OP_KEEP, Vulkan::getStencilOp(action),
 			VK_STENCIL_OP_KEEP, Vulkan::getStencilOp(action),
 			VK_STENCIL_OP_KEEP, Vulkan::getCompareOp(getReversedCompareMode(compare)));
 			VK_STENCIL_OP_KEEP, Vulkan::getCompareOp(getReversedCompareMode(compare)));
-#endif
 
 
 	states.back().stencil.action = action;
 	states.back().stencil.action = action;
 	states.back().stencil.compare = compare;
 	states.back().stencil.compare = compare;
@@ -915,7 +893,6 @@ void Graphics::setDepthMode(CompareMode compare, bool write)
 {
 {
 	flushBatchedDraws();
 	flushBatchedDraws();
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 	{
 	{
 		vkCmdSetDepthCompareOpEXT(
 		vkCmdSetDepthCompareOpEXT(
@@ -924,7 +901,6 @@ void Graphics::setDepthMode(CompareMode compare, bool write)
 		vkCmdSetDepthWriteEnableEXT(
 		vkCmdSetDepthWriteEnableEXT(
 			commandBuffers.at(currentFrame), Vulkan::getBool(write));
 			commandBuffers.at(currentFrame), Vulkan::getBool(write));
 	}
 	}
-#endif
 
 
 	states.back().depthTest = compare;
 	states.back().depthTest = compare;
 	states.back().depthWrite = write;
 	states.back().depthWrite = write;
@@ -1102,7 +1078,6 @@ void Graphics::initDynamicState()
 	vkCmdSetStencilCompareMask(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, states.back().stencil.readMask);
 	vkCmdSetStencilCompareMask(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, states.back().stencil.readMask);
 	vkCmdSetStencilReference(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, states.back().stencil.value);
 	vkCmdSetStencilReference(commandBuffers.at(currentFrame), VK_STENCIL_FRONT_AND_BACK, states.back().stencil.value);
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 	{
 	{
 		 vkCmdSetStencilOpEXT(
 		 vkCmdSetStencilOpEXT(
@@ -1120,7 +1095,6 @@ void Graphics::initDynamicState()
 		vkCmdSetFrontFaceEXT(
 		vkCmdSetFrontFaceEXT(
 			commandBuffers.at(currentFrame), Vulkan::getFrontFace(states.back().winding));
 			commandBuffers.at(currentFrame), Vulkan::getFrontFace(states.back().winding));
 	}
 	}
-#endif
 }
 }
 
 
 void Graphics::beginFrame()
 void Graphics::beginFrame()
@@ -1306,10 +1280,8 @@ static void checkOptionalInstanceExtensions(OptionalInstanceExtensions &ext)
 
 
 	for (const auto &extension : extensions)
 	for (const auto &extension : extensions)
 	{
 	{
-#ifdef VK_KHR_get_physical_device_properties2
 		if (strcmp(extension.extensionName, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME) == 0)
 			ext.physicalDeviceProperties2 = true;
 			ext.physicalDeviceProperties2 = true;
-#endif
 	}
 	}
 }
 }
 
 
@@ -1342,10 +1314,8 @@ void Graphics::createVulkanInstance()
 
 
 	checkOptionalInstanceExtensions(optionalInstanceExtensions);
 	checkOptionalInstanceExtensions(optionalInstanceExtensions);
 
 
-#ifdef VK_KHR_get_physical_device_properties2
 	if (optionalInstanceExtensions.physicalDeviceProperties2)
 	if (optionalInstanceExtensions.physicalDeviceProperties2)
 		extensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
 		extensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
-#endif
 
 
 	size_t additional_extension_count = extensions.size();
 	size_t additional_extension_count = extensions.size();
 	extensions.resize(additional_extension_count + count);
 	extensions.resize(additional_extension_count + count);
@@ -1535,34 +1505,20 @@ static void findOptionalDeviceExtensions(VkPhysicalDevice physicalDevice, Option
 
 
 	for (const auto &extension : availableExtensions)
 	for (const auto &extension : availableExtensions)
 	{
 	{
-#ifdef VK_EXT_extended_dynamic_state
 		if (strcmp(extension.extensionName, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.extendedDynamicState = true;
 			optionalDeviceFeatures.extendedDynamicState = true;
-#endif
-#ifdef VK_KHR_get_memory_requirements2
 		if (strcmp(extension.extensionName, VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.memoryRequirements2 = true;
 			optionalDeviceFeatures.memoryRequirements2 = true;
-#endif
-#ifdef VK_KHR_dedicated_allocation
 		if (strcmp(extension.extensionName, VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.dedicatedAllocation = true;
 			optionalDeviceFeatures.dedicatedAllocation = true;
-#endif
-#ifdef VK_KHR_buffer_device_address
 		if (strcmp(extension.extensionName, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.bufferDeviceAddress = true;
 			optionalDeviceFeatures.bufferDeviceAddress = true;
-#endif
-#ifdef VK_EXT_memory_budget
 		if (strcmp(extension.extensionName, VK_EXT_MEMORY_BUDGET_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_EXT_MEMORY_BUDGET_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.memoryBudget = true;
 			optionalDeviceFeatures.memoryBudget = true;
-#endif
-#ifdef VK_KHR_shader_float_controls
 		if (strcmp(extension.extensionName, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.shaderFloatControls = true;
 			optionalDeviceFeatures.shaderFloatControls = true;
-#endif
-#ifdef VK_KHR_spirv_1_4
 		if (strcmp(extension.extensionName, VK_KHR_SPIRV_1_4_EXTENSION_NAME) == 0)
 		if (strcmp(extension.extensionName, VK_KHR_SPIRV_1_4_EXTENSION_NAME) == 0)
 			optionalDeviceFeatures.spirv14 = true;
 			optionalDeviceFeatures.spirv14 = true;
-#endif
 	}
 	}
 }
 }
 
 
@@ -1615,38 +1571,22 @@ void Graphics::createLogicalDevice()
 	createInfo.pEnabledFeatures = &deviceFeatures;
 	createInfo.pEnabledFeatures = &deviceFeatures;
 
 
 	std::vector<const char*> enabledExtensions(deviceExtensions.begin(), deviceExtensions.end());
 	std::vector<const char*> enabledExtensions(deviceExtensions.begin(), deviceExtensions.end());
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 		enabledExtensions.push_back(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_get_memory_requirements2
 	if (optionalDeviceFeatures.memoryRequirements2)
 	if (optionalDeviceFeatures.memoryRequirements2)
 		enabledExtensions.push_back(VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_dedicated_allocation
 	if (optionalDeviceFeatures.dedicatedAllocation)
 	if (optionalDeviceFeatures.dedicatedAllocation)
 		enabledExtensions.push_back(VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_buffer_device_address
 	if (optionalDeviceFeatures.bufferDeviceAddress)
 	if (optionalDeviceFeatures.bufferDeviceAddress)
 		enabledExtensions.push_back(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
-#endif
-#ifdef VK_EXT_memory_budget
 	if (optionalDeviceFeatures.memoryBudget)
 	if (optionalDeviceFeatures.memoryBudget)
 		enabledExtensions.push_back(VK_EXT_MEMORY_BUDGET_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_EXT_MEMORY_BUDGET_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_shader_float_controls
 	if (optionalDeviceFeatures.shaderFloatControls)
 	if (optionalDeviceFeatures.shaderFloatControls)
 		enabledExtensions.push_back(VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_spirv_1_4
 	if (optionalDeviceFeatures.spirv14)
 	if (optionalDeviceFeatures.spirv14)
 		enabledExtensions.push_back(VK_KHR_SPIRV_1_4_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_SPIRV_1_4_EXTENSION_NAME);
-#endif
-#ifdef VK_KHR_bind_memory2
 	if (vulkanApiVersion >= VK_API_VERSION_1_1)
 	if (vulkanApiVersion >= VK_API_VERSION_1_1)
 		enabledExtensions.push_back(VK_KHR_BIND_MEMORY_2_EXTENSION_NAME);
 		enabledExtensions.push_back(VK_KHR_BIND_MEMORY_2_EXTENSION_NAME);
-#endif
 
 
 	createInfo.enabledExtensionCount = static_cast<uint32_t>(enabledExtensions.size());
 	createInfo.enabledExtensionCount = static_cast<uint32_t>(enabledExtensions.size());
 	createInfo.ppEnabledExtensionNames = enabledExtensions.data();
 	createInfo.ppEnabledExtensionNames = enabledExtensions.data();
@@ -1659,14 +1599,12 @@ void Graphics::createLogicalDevice()
 	else
 	else
 		createInfo.enabledLayerCount = 0;
 		createInfo.enabledLayerCount = 0;
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extendedDynamicStateFeatures{};
 	VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extendedDynamicStateFeatures{};
 	extendedDynamicStateFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
 	extendedDynamicStateFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
 	extendedDynamicStateFeatures.extendedDynamicState = Vulkan::getBool(optionalDeviceFeatures.extendedDynamicState);
 	extendedDynamicStateFeatures.extendedDynamicState = Vulkan::getBool(optionalDeviceFeatures.extendedDynamicState);
 	extendedDynamicStateFeatures.pNext = nullptr;
 	extendedDynamicStateFeatures.pNext = nullptr;
 
 
 	createInfo.pNext = &extendedDynamicStateFeatures;
 	createInfo.pNext = &extendedDynamicStateFeatures;
-#endif
 
 
 	if (vkCreateDevice(physicalDevice, &createInfo, nullptr, &device) != VK_SUCCESS)
 	if (vkCreateDevice(physicalDevice, &createInfo, nullptr, &device) != VK_SUCCESS)
 		throw love::Exception("failed to create logical device");
 		throw love::Exception("failed to create logical device");
@@ -1707,22 +1645,13 @@ void Graphics::initVMA()
 	vulkanFunctions.vkDestroyImage = vkDestroyImage;
 	vulkanFunctions.vkDestroyImage = vkDestroyImage;
 	vulkanFunctions.vkCmdCopyBuffer = vkCmdCopyBuffer;
 	vulkanFunctions.vkCmdCopyBuffer = vkCmdCopyBuffer;
 
 
-#ifdef VK_KHR_get_memory_requirements2
 	vulkanFunctions.vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2KHR;
 	vulkanFunctions.vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2KHR;
 	vulkanFunctions.vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2KHR;
 	vulkanFunctions.vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2KHR;
-#endif
-#ifdef VK_KHR_bind_memory2
 	vulkanFunctions.vkBindBufferMemory2KHR = vkBindBufferMemory2KHR;
 	vulkanFunctions.vkBindBufferMemory2KHR = vkBindBufferMemory2KHR;
 	vulkanFunctions.vkBindImageMemory2KHR = vkBindImageMemory2KHR;
 	vulkanFunctions.vkBindImageMemory2KHR = vkBindImageMemory2KHR;
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
 	vulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR = vkGetPhysicalDeviceMemoryProperties2KHR;
 	vulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR = vkGetPhysicalDeviceMemoryProperties2KHR;
-#endif
-
-#ifdef VK_KHR_maintenance4
 	vulkanFunctions.vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirements;
 	vulkanFunctions.vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirements;
 	vulkanFunctions.vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirements;
 	vulkanFunctions.vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirements;
-#endif
 
 
 	allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions;
 	allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions;
 
 
@@ -2343,11 +2272,9 @@ void Graphics::prepareDraw(const VertexAttributes &attributes, const BufferBindi
 	configuration.numColorAttachments = renderPassState.numColorAttachments;
 	configuration.numColorAttachments = renderPassState.numColorAttachments;
 	configuration.primitiveType = primitiveType;
 	configuration.primitiveType = primitiveType;
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 		vkCmdSetCullModeEXT(commandBuffers.at(currentFrame), Vulkan::getCullMode(cullmode));
 		vkCmdSetCullModeEXT(commandBuffers.at(currentFrame), Vulkan::getCullMode(cullmode));
 	else
 	else
-#endif
 	{
 	{
 		configuration.dynamicState.winding = states.back().winding;
 		configuration.dynamicState.winding = states.back().winding;
 		configuration.dynamicState.depthState.compare = states.back().depthTest;
 		configuration.dynamicState.depthState.compare = states.back().depthTest;
@@ -2721,7 +2648,6 @@ VkPipeline Graphics::createGraphicsPipeline(GraphicsPipelineConfiguration &confi
 
 
 	std::vector<VkDynamicState> dynamicStates;
 	std::vector<VkDynamicState> dynamicStates;
 
 
-#ifdef VK_EXT_extended_dynamic_state
 	if (optionalDeviceFeatures.extendedDynamicState)
 	if (optionalDeviceFeatures.extendedDynamicState)
 		dynamicStates = {
 		dynamicStates = {
 			VK_DYNAMIC_STATE_SCISSOR,
 			VK_DYNAMIC_STATE_SCISSOR,
@@ -2737,7 +2663,6 @@ VkPipeline Graphics::createGraphicsPipeline(GraphicsPipelineConfiguration &confi
 			VK_DYNAMIC_STATE_STENCIL_OP_EXT,
 			VK_DYNAMIC_STATE_STENCIL_OP_EXT,
 		};
 		};
 	else
 	else
-#endif
 		dynamicStates = {
 		dynamicStates = {
 			VK_DYNAMIC_STATE_SCISSOR,
 			VK_DYNAMIC_STATE_SCISSOR,
 			VK_DYNAMIC_STATE_VIEWPORT,
 			VK_DYNAMIC_STATE_VIEWPORT,

+ 1 - 1
src/modules/graphics/vulkan/Graphics.h

@@ -417,7 +417,7 @@ private:
 	StrongRef<love::graphics::Texture> defaultTexture;
 	StrongRef<love::graphics::Texture> defaultTexture;
 	StrongRef<love::graphics::Buffer> defaultConstantColor;
 	StrongRef<love::graphics::Buffer> defaultConstantColor;
 	// functions that need to be called to cleanup objects that were needed for rendering a frame.
 	// functions that need to be called to cleanup objects that were needed for rendering a frame.
-	// just like batchedDrawBuffers we need a vector for each frame in flight.
+	// We need a vector for each frame in flight.
 	std::vector<std::vector<std::function<void()>>> cleanUpFunctions;
 	std::vector<std::vector<std::function<void()>>> cleanUpFunctions;
 	std::vector<std::vector<std::function<void()>>> readbackCallbacks;
 	std::vector<std::vector<std::function<void()>>> readbackCallbacks;
 	std::vector<ScreenshotReadbackBuffer> screenshotReadbackBuffers;
 	std::vector<ScreenshotReadbackBuffer> screenshotReadbackBuffers;

+ 0 - 7
src/modules/graphics/vulkan/ShaderStage.cpp

@@ -19,13 +19,6 @@
  **/
  **/
 
 
 #include "ShaderStage.h"
 #include "ShaderStage.h"
-#include "Graphics.h"
-
-#include "libraries/glslang/glslang/Public/ShaderLang.h"
-#include "libraries/glslang/SPIRV/GlslangToSpv.h"
-
-#include <fstream>
-#include <cstdio>
 
 
 namespace love
 namespace love
 {
 {

+ 0 - 2
src/modules/graphics/vulkan/ShaderStage.h

@@ -23,8 +23,6 @@
 #include "graphics/ShaderStage.h"
 #include "graphics/ShaderStage.h"
 #include "modules/graphics/Graphics.h"
 #include "modules/graphics/Graphics.h"
 
 
-#include "VulkanWrapper.h"
-
 namespace love
 namespace love
 {
 {
 namespace graphics
 namespace graphics

+ 0 - 18
src/modules/graphics/vulkan/Vulkan.cpp

@@ -58,24 +58,6 @@ int Vulkan::getVsync()
 	return vsync;
 	return vsync;
 }
 }
 
 
-uint32_t Vulkan::getSupportedVulkanApiVersion(uint32_t suggested)
-{
-#ifdef VK_VERSION_1_3
-	if (suggested >= VK_API_VERSION_1_3)
-		return VK_API_VERSION_1_3;
-#endif
-#ifdef VK_VERSION_1_2
-	if (suggested >= VK_API_VERSION_1_2)
-		return VK_API_VERSION_1_2;
-#endif
-#ifdef VK_VERSION_1_1
-	if (suggested >= VK_API_VERSION_1_1)
-		return VK_API_VERSION_1_1;
-#endif
-
-	return VK_API_VERSION_1_0;
-}
-
 VkFormat Vulkan::getVulkanVertexFormat(DataFormat format)
 VkFormat Vulkan::getVulkanVertexFormat(DataFormat format)
 {
 {
 	switch (format)
 	switch (format)

+ 0 - 1
src/modules/graphics/vulkan/Vulkan.h

@@ -61,7 +61,6 @@ public:
 	static void setVsync(int vsync);
 	static void setVsync(int vsync);
 	static int getVsync();
 	static int getVsync();
 
 
-	static uint32_t getSupportedVulkanApiVersion(uint32_t suggested);
 	static VkFormat getVulkanVertexFormat(DataFormat format);
 	static VkFormat getVulkanVertexFormat(DataFormat format);
 	static TextureFormat getTextureFormat(PixelFormat, bool sRGB);
 	static TextureFormat getTextureFormat(PixelFormat, bool sRGB);
 	static std::string getVendorName(uint32_t vendorId);
 	static std::string getVendorName(uint32_t vendorId);