diff --git a/.clangd b/.clangd new file mode 100644 index 0000000..028d859 --- /dev/null +++ b/.clangd @@ -0,0 +1,5 @@ +CompileFlags: + Add: + - -I./include + - -I/usr/include/vulkan + - -std=c++20 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0f42e59 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +CXX = g++ + +CFLAGS = -std=c++20 -O2 -Wall -Wextra -I./include + +LDFLAGS = -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi + +TARGET := LearningVulkan + +$(TARGET): ./src/main.cpp + $(CXX) $(CFLAGS) -o $(TARGET) ./src/main.cpp $(LDFLAGS) + +.PHONY: test clean + +test: $(TARGET) + ./$(TARGET) + +clean: + rm -f $(TARGET) diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..70aaf13 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,18 @@ +[ + { + "file": "./src/main.cpp", + "arguments": [ + "g++", + "-std=c++17", + "-O2", + "-Wall", + "-Wextra", + "-I./include", + "-o", + "LearningVulkan", + "./src/main.cpp" + ], + "directory": "/home/Jordan/Projects/CPP/LearningVulkan", + "output": "LearningVulkan" + } +] \ No newline at end of file diff --git a/Utilities/FileReader.h b/include/FileReader.h similarity index 100% rename from Utilities/FileReader.h rename to include/FileReader.h diff --git a/Logger.cpp b/include/Logger.cpp similarity index 100% rename from Logger.cpp rename to include/Logger.cpp diff --git a/Logger.h b/include/Logger.h similarity index 98% rename from Logger.h rename to include/Logger.h index 3812144..b6a70b3 100644 --- a/Logger.h +++ b/include/Logger.h @@ -3,7 +3,6 @@ #include #include #include -#include namespace Log { diff --git a/GlfwWindowManager.cpp b/src/GlfwWindowManager.cpp similarity index 100% rename from GlfwWindowManager.cpp rename to src/GlfwWindowManager.cpp diff --git a/GlfwWindowManager.h b/src/GlfwWindowManager.h similarity index 96% rename from GlfwWindowManager.h rename to src/GlfwWindowManager.h index 732716f..3361f49 100644 --- a/GlfwWindowManager.h +++ b/src/GlfwWindowManager.h @@ -2,11 +2,11 @@ #include -#define VK_USE_PLATFORM_WIN32_KHR #define GLFW_INCLUDE_VULKAN + #include -#define GLFW_EXPOSE_NATIVE_WIN32 #include +#include struct FWindowConfig { diff --git a/VulkanContext.cpp b/src/VulkanContext.cpp similarity index 100% rename from VulkanContext.cpp rename to src/VulkanContext.cpp diff --git a/VulkanContext.h b/src/VulkanContext.h similarity index 90% rename from VulkanContext.h rename to src/VulkanContext.h index de77be7..3a0976e 100644 --- a/VulkanContext.h +++ b/src/VulkanContext.h @@ -2,12 +2,8 @@ // #include // #include // -#include "Logger.h" #include "VulkanInstanceManager.h" -#include "VulkanDeviceManager.h" #include "VulkanDebugManager.h" -#include "VulkanGraphicsPipeline.h" -#include "GlfwWindowManager.h" #define GLFW_INCLUDE_VULKAN #include diff --git a/VulkanDebugManager.cpp b/src/VulkanDebugManager.cpp similarity index 100% rename from VulkanDebugManager.cpp rename to src/VulkanDebugManager.cpp diff --git a/VulkanDebugManager.h b/src/VulkanDebugManager.h similarity index 100% rename from VulkanDebugManager.h rename to src/VulkanDebugManager.h diff --git a/VulkanDeviceManager.cpp b/src/VulkanDeviceManager.cpp similarity index 100% rename from VulkanDeviceManager.cpp rename to src/VulkanDeviceManager.cpp diff --git a/VulkanDeviceManager.h b/src/VulkanDeviceManager.h similarity index 100% rename from VulkanDeviceManager.h rename to src/VulkanDeviceManager.h diff --git a/VulkanGraphicsPipeline.h b/src/VulkanGraphicsPipeline.h similarity index 85% rename from VulkanGraphicsPipeline.h rename to src/VulkanGraphicsPipeline.h index 6d000cd..c98e9e7 100644 --- a/VulkanGraphicsPipeline.h +++ b/src/VulkanGraphicsPipeline.h @@ -1,6 +1,7 @@ #pragma once -#include "Utilities/FileReader.h" +#include "FileReader.h" +#include "vulkan_core.h" class VulkanGraphicsPipeline { @@ -22,6 +23,7 @@ public: CreateInfo.pCode = reinterpret_cast(Code.data()); VkShaderModule ShaderModule; - if (vkCreateShaderModule(Device)) + // if (vkCreateShaderModule(Device)) + return ShaderModule; } -}; \ No newline at end of file + }; diff --git a/VulkanInstanceManager.cpp b/src/VulkanInstanceManager.cpp similarity index 100% rename from VulkanInstanceManager.cpp rename to src/VulkanInstanceManager.cpp diff --git a/VulkanInstanceManager.h b/src/VulkanInstanceManager.h similarity index 100% rename from VulkanInstanceManager.h rename to src/VulkanInstanceManager.h diff --git a/main.cpp b/src/main.cpp similarity index 97% rename from main.cpp rename to src/main.cpp index 3707164..326f4eb 100644 --- a/main.cpp +++ b/src/main.cpp @@ -18,6 +18,11 @@ struct AppConfig bool bVerboseLogging = false; }; +void test () { + if (true) return; + +} + class HelloTriangleApplication { public: @@ -94,4 +99,4 @@ int main() } return EXIT_SUCCESS; -} \ No newline at end of file +}