I dont know anymore

This commit is contained in:
2026-04-06 20:35:02 +02:00
parent ace1554020
commit 7af42b9bad
3 changed files with 6 additions and 26 deletions
+5 -23
View File
@@ -17,6 +17,8 @@
#include "Shader.h"
#include "Window.h"
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
#include <vulkan/vulkan_wayland.h>
#include <cstring>
#include <vulkan/vulkan_core.h>
@@ -142,9 +144,7 @@ Graphics::~Graphics() {
void Graphics::init(GraphicsInitializer initInfo) {
initInstance(initInfo);
#ifdef ENABLE_VALIDATION
setupDebugCallback();
#endif
pickPhysicalDevice();
createDevice(initInfo);
VmaAllocatorCreateInfo createInfo = {
@@ -675,7 +675,9 @@ Array<const char*> Graphics::getRequiredExtensions() {
message += ": ";
message += glfwError;
}
throw std::runtime_error(message);
extensions.add(VK_KHR_SURFACE_EXTENSION_NAME);
extensions.add(VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME);
std::cerr << "Warning: " << message << ". Falling back to a default set of extensions." << std::endl;
}
for (unsigned int i = 0; i < glfwExtensionCount; i++) {
@@ -692,7 +694,6 @@ void Graphics::initInstance(GraphicsInitializer initInfo) {
// Work around libdecor runtime regressions on some Wayland stacks.
glfwInitHint(GLFW_WAYLAND_LIBDECOR, GLFW_WAYLAND_DISABLE_LIBDECOR);
#endif
if (!glfwInit()) {
throw std::runtime_error("Failed to initialize GLFW");
}
@@ -717,25 +718,6 @@ void Graphics::initInstance(GraphicsInitializer initInfo) {
extensions.add("VK_KHR_portability_enumeration");
#endif
Array<const char*> layers = initInfo.layers;
#ifdef ENABLE_VALIDATION
bool hasValidationLayer = false;
uint32 layerCount = 0;
vkEnumerateInstanceLayerProperties(&layerCount, nullptr);
Array<VkLayerProperties> availableLayers(layerCount);
vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data());
for (const auto& layer : availableLayers) {
if (std::strcmp(layer.layerName, "VK_LAYER_KHRONOS_validation") == 0) {
hasValidationLayer = true;
break;
}
}
if (hasValidationLayer) {
layers.add("VK_LAYER_KHRONOS_validation");
std::cerr << "Enabled Vulkan validation layer: VK_LAYER_KHRONOS_validation" << std::endl;
} else {
std::cerr << "ENABLE_VALIDATION is set, but VK_LAYER_KHRONOS_validation is unavailable on this system." << std::endl;
}
#endif
VkInstanceCreateInfo info = {
.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
.pNext = nullptr,
+1
View File
@@ -9,6 +9,7 @@
using namespace Seele;
using namespace Seele::Vulkan;
double currentFrameDelta = 0;
double Gfx::getCurrentFrameDelta() { return currentFrameDelta; }
-3
View File
@@ -1,8 +1,5 @@
{
"dependencies": [
{
"name": "vulkan"
},
{
"name": "vulkan-memory-allocator"
},