Finished depth buffer

This commit is contained in:
2026-02-20 14:00:53 -05:00
parent 023a06c0cd
commit 0e784b7ad2
64 changed files with 7390 additions and 3524 deletions

View File

@@ -1,9 +1,26 @@
StatementMacros: ['UPROPERTY', 'UFUNCTION', 'UCLASS', 'USTRUCT', 'UENUM', 'UINTERFACE', 'GENERATED_BODY'] StatementMacros:
[
"UPROPERTY",
"UFUNCTION",
"UCLASS",
"USTRUCT",
"UENUM",
"UINTERFACE",
"GENERATED_BODY",
]
Language: Cpp Language: Cpp
BasedOnStyle: LLVM BasedOnStyle: LLVM
AccessModifierOffset: -4 AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignAfterOpenBracket: BlockIndent
# BreakAfterOpenBracketBracedList: true
# BreakAfterOpenBracketFunction: true
# BreakAfterOpenBracketIf: true
# BreakBeforeCloseBracketBracedList: true
# BreakBeforeCloseBracketFunction: true
# BreakBeforeCloseBracketIf: true
AlignConsecutiveDeclarations: true AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Left AlignEscapedNewlines: Left
AlignOperands: DontAlign AlignOperands: DontAlign
@@ -35,7 +52,6 @@ BreakInheritanceList: AfterColon
BreakBeforeTernaryOperators: true BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma BreakConstructorInitializers: BeforeComma
BreakStringLiterals: false BreakStringLiterals: false
ColumnLimit: 0
ConstructorInitializerAllOnOneLineOrOnePerLine: true ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: false Cpp11BracedListStyle: false
EmptyLineBeforeAccessModifier: LogicalBlock EmptyLineBeforeAccessModifier: LogicalBlock
@@ -49,3 +65,10 @@ SortIncludes: false
SpaceBeforeCaseColon: false SpaceBeforeCaseColon: false
TabWidth: 4 TabWidth: 4
UseTab: Always UseTab: Always
ColumnLimit: 100
BinPackArguments: false
BinPackParameters: false
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
ExperimentalAutoDetectBinPacking: false

View File

@@ -31,6 +31,7 @@ target_include_directories(${PROJECT_NAME}
PRIVATE PRIVATE
lib lib
lib/stb lib/stb
lib/tinyobjloader
${IMGUI_DIR} ${IMGUI_DIR}
${IMGUI_DIR}/backends ${IMGUI_DIR}/backends
src src

Binary file not shown.

View File

@@ -1,9 +1,13 @@
#version 450 #version 450
layout(location = 0) in vec3 fragColor; layout(location = 0) in vec3 fragColor;
layout(location = 1) in vec2 fragTextureCoordinates;
layout(location = 0) out vec4 outColor; layout(location = 0) out vec4 outColor;
layout(binding = 1) uniform sampler2D textureSampler;
void main() { void main() {
outColor = vec4(fragColor, 1.0); outColor = texture(textureSampler, fragTextureCoordinates);
} }

View File

@@ -6,12 +6,15 @@ layout(binding = 0) uniform UniformBufferObject {
mat4 proj; mat4 proj;
} ubo; } ubo;
layout(location = 0) in vec2 inPosition; layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec3 inColor; layout(location = 1) in vec3 inColor;
layout(location = 2) in vec2 inTextureCoordinates;
layout(location = 0) out vec3 fragColor; layout(location = 0) out vec3 fragColor;
layout(location = 1) out vec2 fragTextureCoordinates;
void main() { void main() {
gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 0.0, 1.0); gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
fragColor = inColor; fragColor = inColor;
fragTextureCoordinates = inTextureCoordinates;
} }

Binary file not shown.

View File

@@ -1196,8 +1196,8 @@ events:
checks: checks:
- "Detecting C compiler ABI info" - "Detecting C compiler ABI info"
directories: directories:
source: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA" source: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ"
binary: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA" binary: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ"
cmakeVariables: cmakeVariables:
CMAKE_C_FLAGS: "" CMAKE_C_FLAGS: ""
CMAKE_C_FLAGS_DEBUG: "-g" CMAKE_C_FLAGS_DEBUG: "-g"
@@ -1206,13 +1206,13 @@ events:
variable: "CMAKE_C_ABI_COMPILED" variable: "CMAKE_C_ABI_COMPILED"
cached: true cached: true
stdout: | stdout: |
Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA' Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ'
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_f22b1/fast Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_eb7a5/fast
/usr/bin/make -f CMakeFiles/cmTC_f22b1.dir/build.make CMakeFiles/cmTC_f22b1.dir/build /usr/bin/make -f CMakeFiles/cmTC_eb7a5.dir/build.make CMakeFiles/cmTC_eb7a5.dir/build
make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA' make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ'
Building C object CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o Building C object CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o
/usr/bin/cc -v -o CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c /usr/bin/cc -v -o CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
Using built-in specs. Using built-in specs.
COLLECT_GCC=/usr/bin/cc COLLECT_GCC=/usr/bin/cc
Target: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu
@@ -1220,8 +1220,8 @@ events:
Thread model: posix Thread model: posix
Supported LTO compression algorithms: zlib zstd Supported LTO compression algorithms: zlib zstd
gcc version 15.2.1 20260209 (GCC) gcc version 15.2.1 20260209 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/'
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f22b1.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccUBJkg7.s /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_eb7a5.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/cc5eJlFE.s
GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu) GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)
compiled by GNU C version 15.2.1 20260209, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP compiled by GNU C version 15.2.1 20260209, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP
@@ -1235,14 +1235,14 @@ events:
/usr/include /usr/include
End of search list. End of search list.
Compiler executable checksum: 4a3176b8a5098bb872007d0a1d5e5fb3 Compiler executable checksum: 4a3176b8a5098bb872007d0a1d5e5fb3
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/'
as -v --64 -o CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o /tmp/ccUBJkg7.s as -v --64 -o CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o /tmp/cc5eJlFE.s
GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46 GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.'
Linking C executable cmTC_f22b1 Linking C executable cmTC_eb7a5
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f22b1.dir/link.txt --verbose=1 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eb7a5.dir/link.txt --verbose=1
Using built-in specs. Using built-in specs.
COLLECT_GCC=/usr/bin/cc COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper
@@ -1253,14 +1253,14 @@ events:
gcc version 15.2.1 20260209 (GCC) gcc version 15.2.1 20260209 (GCC)
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f22b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f22b1.' COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eb7a5' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_eb7a5.'
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cciDPlOs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f22b1 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdcg62N.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eb7a5 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o
collect2 version 15.2.1 20260209 collect2 version 15.2.1 20260209
/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cciDPlOs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f22b1 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdcg62N.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eb7a5 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o
GNU ld (GNU Binutils) 2.46 GNU ld (GNU Binutils) 2.46
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f22b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f22b1.' COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eb7a5' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_eb7a5.'
/usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -o cmTC_f22b1 /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -o cmTC_eb7a5
make[1]: Leaving directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA' make[1]: Leaving directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ'
exitCode: 0 exitCode: 0
- -
@@ -1295,13 +1295,13 @@ events:
Parsed C implicit link information: Parsed C implicit link information:
link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)] linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA'] ignore line: [Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ']
ignore line: [] ignore line: []
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_f22b1/fast] ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_eb7a5/fast]
ignore line: [/usr/bin/make -f CMakeFiles/cmTC_f22b1.dir/build.make CMakeFiles/cmTC_f22b1.dir/build] ignore line: [/usr/bin/make -f CMakeFiles/cmTC_eb7a5.dir/build.make CMakeFiles/cmTC_eb7a5.dir/build]
ignore line: [make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-cavOgA'] ignore line: [make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-kiNiNJ']
ignore line: [Building C object CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o] ignore line: [Building C object CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
ignore line: [Using built-in specs.] ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [Target: x86_64-pc-linux-gnu] ignore line: [Target: x86_64-pc-linux-gnu]
@@ -1309,8 +1309,8 @@ events:
ignore line: [Thread model: posix] ignore line: [Thread model: posix]
ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [Supported LTO compression algorithms: zlib zstd]
ignore line: [gcc version 15.2.1 20260209 (GCC) ] ignore line: [gcc version 15.2.1 20260209 (GCC) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/']
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f22b1.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccUBJkg7.s] ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_eb7a5.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/cc5eJlFE.s]
ignore line: [GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)] ignore line: [GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)]
ignore line: [ compiled by GNU C version 15.2.1 20260209 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.3.1 isl version isl-0.27-GMP] ignore line: [ compiled by GNU C version 15.2.1 20260209 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.3.1 isl version isl-0.27-GMP]
ignore line: [] ignore line: []
@@ -1324,14 +1324,14 @@ events:
ignore line: [ /usr/include] ignore line: [ /usr/include]
ignore line: [End of search list.] ignore line: [End of search list.]
ignore line: [Compiler executable checksum: 4a3176b8a5098bb872007d0a1d5e5fb3] ignore line: [Compiler executable checksum: 4a3176b8a5098bb872007d0a1d5e5fb3]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o /tmp/ccUBJkg7.s] ignore line: [ as -v --64 -o CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o /tmp/cc5eJlFE.s]
ignore line: [GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46] ignore line: [GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.']
ignore line: [Linking C executable cmTC_f22b1] ignore line: [Linking C executable cmTC_eb7a5]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f22b1.dir/link.txt --verbose=1] ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eb7a5.dir/link.txt --verbose=1]
ignore line: [Using built-in specs.] ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper]
@@ -1342,13 +1342,13 @@ events:
ignore line: [gcc version 15.2.1 20260209 (GCC) ] ignore line: [gcc version 15.2.1 20260209 (GCC) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f22b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f22b1.'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eb7a5' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_eb7a5.']
link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cciDPlOs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f22b1 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdcg62N.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eb7a5 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2] ==> ignore arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2] ==> ignore
arg [-plugin] ==> ignore arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so] ==> ignore arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/cciDPlOs.res] ==> ignore arg [-plugin-opt=-fresolution=/tmp/ccdcg62N.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -1363,7 +1363,7 @@ events:
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore arg [-pie] ==> ignore
arg [-o] ==> ignore arg [-o] ==> ignore
arg [cmTC_f22b1] ==> ignore arg [cmTC_eb7a5] ==> ignore
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o]
@@ -1375,7 +1375,7 @@ events:
arg [-L/lib] ==> dir [/lib] arg [-L/lib] ==> dir [/lib]
arg [-L/usr/lib] ==> dir [/usr/lib] arg [-L/usr/lib] ==> dir [/usr/lib]
arg [-v] ==> ignore arg [-v] ==> ignore
arg [CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o] ==> ignore arg [CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc] arg [-lgcc] ==> lib [gcc]
arg [--push-state] ==> ignore arg [--push-state] ==> ignore
arg [--as-needed] ==> ignore arg [--as-needed] ==> ignore
@@ -1390,7 +1390,7 @@ events:
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
ignore line: [collect2 version 15.2.1 20260209] ignore line: [collect2 version 15.2.1 20260209]
ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cciDPlOs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f22b1 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f22b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdcg62N.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eb7a5 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_eb7a5.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
linker tool for 'C': /usr/bin/ld linker tool for 'C': /usr/bin/ld
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o]
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o]
@@ -1427,8 +1427,8 @@ events:
checks: checks:
- "Detecting CXX compiler ABI info" - "Detecting CXX compiler ABI info"
directories: directories:
source: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA" source: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz"
binary: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA" binary: "/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz"
cmakeVariables: cmakeVariables:
CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS: ""
CMAKE_CXX_FLAGS_DEBUG: "-g" CMAKE_CXX_FLAGS_DEBUG: "-g"
@@ -1438,13 +1438,13 @@ events:
variable: "CMAKE_CXX_ABI_COMPILED" variable: "CMAKE_CXX_ABI_COMPILED"
cached: true cached: true
stdout: | stdout: |
Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA' Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz'
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_62d97/fast Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_f63bc/fast
/usr/bin/make -f CMakeFiles/cmTC_62d97.dir/build.make CMakeFiles/cmTC_62d97.dir/build /usr/bin/make -f CMakeFiles/cmTC_f63bc.dir/build.make CMakeFiles/cmTC_f63bc.dir/build
make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA' make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz'
Building CXX object CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o Building CXX object CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++ -v -o CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp /usr/bin/c++ -v -o CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs. Using built-in specs.
COLLECT_GCC=/usr/bin/c++ COLLECT_GCC=/usr/bin/c++
Target: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu
@@ -1452,8 +1452,8 @@ events:
Thread model: posix Thread model: posix
Supported LTO compression algorithms: zlib zstd Supported LTO compression algorithms: zlib zstd
gcc version 15.2.1 20260209 (GCC) gcc version 15.2.1 20260209 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/'
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_62d97.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccSB0kAz.s /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f63bc.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/cchk7ZQV.s
GNU C++17 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu) GNU C++17 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)
compiled by GNU C version 15.2.1 20260209, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP compiled by GNU C version 15.2.1 20260209, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP
@@ -1470,14 +1470,14 @@ events:
/usr/include /usr/include
End of search list. End of search list.
Compiler executable checksum: 5e3969de92aa3c12a625237f01b15b2f Compiler executable checksum: 5e3969de92aa3c12a625237f01b15b2f
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/'
as -v --64 -o CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSB0kAz.s as -v --64 -o CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o /tmp/cchk7ZQV.s
GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46 GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.' COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.'
Linking CXX executable cmTC_62d97 Linking CXX executable cmTC_f63bc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_62d97.dir/link.txt --verbose=1 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f63bc.dir/link.txt --verbose=1
Using built-in specs. Using built-in specs.
COLLECT_GCC=/usr/bin/c++ COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper
@@ -1488,14 +1488,14 @@ events:
gcc version 15.2.1 20260209 (GCC) gcc version 15.2.1 20260209 (GCC)
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_62d97' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_62d97.' COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f63bc' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f63bc.'
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9yM9j7.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_62d97 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccilJvOl.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f63bc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o
collect2 version 15.2.1 20260209 collect2 version 15.2.1 20260209
/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9yM9j7.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_62d97 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccilJvOl.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f63bc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o
GNU ld (GNU Binutils) 2.46 GNU ld (GNU Binutils) 2.46
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_62d97' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_62d97.' COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f63bc' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f63bc.'
/usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_62d97 /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_f63bc
make[1]: Leaving directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA' make[1]: Leaving directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz'
exitCode: 0 exitCode: 0
- -
@@ -1536,13 +1536,13 @@ events:
Parsed CXX implicit link information: Parsed CXX implicit link information:
link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)] linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA'] ignore line: [Change Dir: '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz']
ignore line: [] ignore line: []
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_62d97/fast] ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_f63bc/fast]
ignore line: [/usr/bin/make -f CMakeFiles/cmTC_62d97.dir/build.make CMakeFiles/cmTC_62d97.dir/build] ignore line: [/usr/bin/make -f CMakeFiles/cmTC_f63bc.dir/build.make CMakeFiles/cmTC_f63bc.dir/build]
ignore line: [make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-Z1OehA'] ignore line: [make[1]: Entering directory '/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles/CMakeScratch/TryCompile-WEPuEz']
ignore line: [Building CXX object CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o] ignore line: [Building CXX object CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Using built-in specs.] ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [Target: x86_64-pc-linux-gnu] ignore line: [Target: x86_64-pc-linux-gnu]
@@ -1550,8 +1550,8 @@ events:
ignore line: [Thread model: posix] ignore line: [Thread model: posix]
ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [Supported LTO compression algorithms: zlib zstd]
ignore line: [gcc version 15.2.1 20260209 (GCC) ] ignore line: [gcc version 15.2.1 20260209 (GCC) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/']
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_62d97.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccSB0kAz.s] ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f63bc.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/cchk7ZQV.s]
ignore line: [GNU C++17 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)] ignore line: [GNU C++17 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)]
ignore line: [ compiled by GNU C version 15.2.1 20260209 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.3.1 isl version isl-0.27-GMP] ignore line: [ compiled by GNU C version 15.2.1 20260209 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.3.1 isl version isl-0.27-GMP]
ignore line: [] ignore line: []
@@ -1568,14 +1568,14 @@ events:
ignore line: [ /usr/include] ignore line: [ /usr/include]
ignore line: [End of search list.] ignore line: [End of search list.]
ignore line: [Compiler executable checksum: 5e3969de92aa3c12a625237f01b15b2f] ignore line: [Compiler executable checksum: 5e3969de92aa3c12a625237f01b15b2f]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSB0kAz.s] ignore line: [ as -v --64 -o CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o /tmp/cchk7ZQV.s]
ignore line: [GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46] ignore line: [GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.']
ignore line: [Linking CXX executable cmTC_62d97] ignore line: [Linking CXX executable cmTC_f63bc]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_62d97.dir/link.txt --verbose=1] ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f63bc.dir/link.txt --verbose=1]
ignore line: [Using built-in specs.] ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper]
@@ -1586,13 +1586,13 @@ events:
ignore line: [gcc version 15.2.1 20260209 (GCC) ] ignore line: [gcc version 15.2.1 20260209 (GCC) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_62d97' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_62d97.'] ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f63bc' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f63bc.']
link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9yM9j7.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_62d97 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccilJvOl.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f63bc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2] ==> ignore arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2] ==> ignore
arg [-plugin] ==> ignore arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so] ==> ignore arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/cc9yM9j7.res] ==> ignore arg [-plugin-opt=-fresolution=/tmp/ccilJvOl.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -1607,7 +1607,7 @@ events:
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore arg [-pie] ==> ignore
arg [-o] ==> ignore arg [-o] ==> ignore
arg [cmTC_62d97] ==> ignore arg [cmTC_f63bc] ==> ignore
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o]
@@ -1619,7 +1619,7 @@ events:
arg [-L/lib] ==> dir [/lib] arg [-L/lib] ==> dir [/lib]
arg [-L/usr/lib] ==> dir [/usr/lib] arg [-L/usr/lib] ==> dir [/usr/lib]
arg [-v] ==> ignore arg [-v] ==> ignore
arg [CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++] arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m] arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s] arg [-lgcc_s] ==> lib [gcc_s]
@@ -1630,7 +1630,7 @@ events:
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o]
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
ignore line: [collect2 version 15.2.1 20260209] ignore line: [collect2 version 15.2.1 20260209]
ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9yM9j7.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_62d97 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_62d97.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccilJvOl.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f63bc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_f63bc.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o]
linker tool for 'CXX': /usr/bin/ld linker tool for 'CXX': /usr/bin/ld
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o]
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o]

View File

@@ -17,7 +17,7 @@ set(CMAKE_DEPENDS_DEPENDENCY_FILES
"/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp" "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp" "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp" "CMakeFiles/LearningVulkan.dir/src/main.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/main.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp" "CMakeFiles/LearningVulkan.dir/src/main.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/main.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o.d"
@@ -26,7 +26,7 @@ set(CMAKE_DEPENDS_DEPENDENCY_FILES
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp" "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o.d"
"/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp" "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o.d" "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp" "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" "gcc" "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o.d"
"" "LearningVulkan" "gcc" "CMakeFiles/LearningVulkan.dir/link.d" "" "LearningVulkan" "gcc" "CMakeFiles/LearningVulkan.dir/link.d"

View File

@@ -100,19 +100,19 @@ CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp -o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp -o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o: CMakeFiles/LearningVulkan.dir/compiler_depend.ts CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o: CMakeFiles/LearningVulkan.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o -MF CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o.d -o CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o -MF CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o.d -o CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.i: cmake_force CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.i" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp > CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.i /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp > CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.i
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.s: cmake_force CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.s" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.s /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.s
CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make
CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp
@@ -226,19 +226,19 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o: CMakeFiles/LearningVulkan.dir/compiler_depend.ts CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o: CMakeFiles/LearningVulkan.dir/compiler_depend.ts
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/Jordan/Projects/CPP/LearningVulkan/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o -MF CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o.d -o CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o -MF CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o.d -o CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.i: cmake_force CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.i" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.i"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp > CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.i /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp > CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.i
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.s: cmake_force CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.s" @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.s"
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.s /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp -o CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.s
CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o: CMakeFiles/LearningVulkan.dir/flags.make
CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o: /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp
@@ -370,7 +370,7 @@ CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.s: cmake_
LearningVulkan_OBJECTS = \ LearningVulkan_OBJECTS = \
"CMakeFiles/LearningVulkan.dir/src/main.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/main.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o" \
@@ -379,7 +379,7 @@ LearningVulkan_OBJECTS = \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" \
"CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" \ "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" \
"CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o" \ "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o" \
@@ -395,7 +395,7 @@ LearningVulkan_EXTERNAL_OBJECTS =
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/main.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/main.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o
@@ -404,7 +404,7 @@ LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o
LearningVulkan: CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o LearningVulkan: CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o

View File

@@ -18,8 +18,8 @@ file(REMOVE_RECURSE
"CMakeFiles/LearningVulkan.dir/src/main.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/main.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o"
@@ -36,8 +36,8 @@ file(REMOVE_RECURSE
"CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o" "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o"
"CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o.d" "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o.d"
"CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
# compile CXX with /usr/bin/c++ # compile CXX with /usr/bin/c++
CXX_DEFINES = CXX_DEFINES =
CXX_INCLUDES = -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public CXX_INCLUDES = -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public
CXX_FLAGS = -std=c++20 -Wall -Wextra -O2 CXX_FLAGS = -std=c++20 -Wall -Wextra -O2

View File

@@ -4,7 +4,7 @@ LearningVulkan: \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o \
CMakeFiles/LearningVulkan.dir/src/main.cpp.o \ CMakeFiles/LearningVulkan.dir/src/main.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o \
@@ -13,7 +13,7 @@ LearningVulkan: \
CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o \
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o \ CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o \
CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o \ CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o \
CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o \ CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o \
CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o \ CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o \
@@ -74,7 +74,7 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o:
CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o: CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o:
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o: CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o:
CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o:
@@ -92,7 +92,7 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o:
CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o:
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o: CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o:
CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o: CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o:

View File

@@ -1 +1 @@
/usr/bin/c++ -Wl,--dependency-file=CMakeFiles/LearningVulkan.dir/link.d CMakeFiles/LearningVulkan.dir/src/main.cpp.o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o -o LearningVulkan -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi /usr/bin/c++ -Wl,--dependency-file=CMakeFiles/LearningVulkan.dir/link.d CMakeFiles/LearningVulkan.dir/src/main.cpp.o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o -o LearningVulkan -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi

View File

@@ -35,6 +35,63 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \ /usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \ /usr/include/vk_video/vulkan_video_codec_vp9std.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDeviceManager.h \
/usr/include/c++/15.2.1/optional /usr/include/c++/15.2.1/bits/version.h \
/usr/include/c++/15.2.1/type_traits /usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/typeinfo \
/usr/include/c++/15.2.1/bits/hash_bytes.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/move.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/bits/invoke.h /usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/ext/type_traits.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h \
/usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/vector.tcc \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/cstddef \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/tuple /usr/include/c++/15.2.1/bits/ranges_util.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imconfig.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imconfig.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
@@ -46,36 +103,14 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.h \
/usr/include/vulkan/vulkan.h /usr/include/vulkan/vulkan_core.h \ /usr/include/vulkan/vulkan.h /usr/include/vulkan/vulkan_core.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/string \ /usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/char_traits.h \ /usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \ /usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h /usr/include/bits/floatn.h \ /usr/include/wchar.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/bits/types/wint_t.h \ /usr/include/bits/floatn-common.h /usr/include/bits/types/wint_t.h \
/usr/include/bits/types/mbstate_t.h \ /usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/type_traits \ /usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/bits/version.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/stl_construct.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/move.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \ /usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \ /usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \
@@ -83,29 +118,8 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/bits/endian.h /usr/include/bits/endianness.h \ /usr/include/bits/endian.h /usr/include/bits/endianness.h \
/usr/include/c++/15.2.1/bits/ostream_insert.h \ /usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \ /usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h \
/usr/include/c++/15.2.1/ext/type_traits.h \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/utility.h \
/usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/basic_string.h \ /usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/string_view \ /usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/string_view.tcc \ /usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \ /usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/stdlib.h \ /usr/include/c++/15.2.1/cstdlib /usr/include/stdlib.h \
@@ -135,11 +149,6 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \ /usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \ /usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \ /usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/cstddef \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/tuple /usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \ /usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/array /usr/include/c++/15.2.1/charconv \ /usr/include/c++/15.2.1/array /usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
@@ -170,11 +179,6 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \ /usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \ /usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/typeinfo \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/streambuf \ /usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \ /usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \ /usr/include/c++/15.2.1/bits/streambuf_iterator.h \
@@ -186,10 +190,8 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \ /usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \ /usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h \ /usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \
/usr/include/c++/15.2.1/optional \ /usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/span /usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \ /usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \ /usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \ /usr/include/c++/15.2.1/bits/unicode.h \
@@ -201,13 +203,48 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/c++/15.2.1/bits/unicode-data.h \ /usr/include/c++/15.2.1/bits/unicode-data.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/GlfwWindowManager.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/GlfwWindowManager.h \
/usr/include/GLFW/glfw3native.h \ /usr/include/GLFW/glfw3native.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanCommandBuffers.h \ /usr/include/c++/15.2.1/memory \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \ /usr/include/c++/15.2.1/bits/stl_raw_storage_iter.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \ /usr/include/c++/15.2.1/bits/align.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \ /usr/include/c++/15.2.1/bits/unique_ptr.h \
/usr/include/c++/15.2.1/cmath /usr/include/math.h \ /usr/include/c++/15.2.1/bits/ostream.h /usr/include/c++/15.2.1/ios \
/usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ /usr/include/c++/15.2.1/bits/basic_ios.h \
/usr/include/c++/15.2.1/bits/basic_ios.tcc \
/usr/include/c++/15.2.1/bits/shared_ptr.h \
/usr/include/c++/15.2.1/bits/shared_ptr_base.h \
/usr/include/c++/15.2.1/bits/allocated_ptr.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/concurrence.h \
/usr/include/c++/15.2.1/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.1/bits/atomic_base.h \
/usr/include/c++/15.2.1/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.1/bits/atomic_wait.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \
/usr/include/bits/getopt_core.h /usr/include/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/syscall.h \
/usr/include/sys/syscall.h /usr/include/asm/unistd.h \
/usr/include/asm/unistd_64.h /usr/include/bits/syscall.h \
/usr/include/c++/15.2.1/bits/std_mutex.h \
/usr/include/c++/15.2.1/backward/auto_ptr.h \
/usr/include/c++/15.2.1/bits/ranges_uninitialized.h \
/usr/include/c++/15.2.1/pstl/glue_memory_defs.h \
/usr/include/c++/15.2.1/pstl/execution_defs.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Primitives.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/glm/simd/platform.h /usr/include/glm/glm.hpp \
/usr/include/glm/detail/_fixes.hpp /usr/include/c++/15.2.1/cmath \
/usr/include/math.h /usr/include/bits/math-vector.h \
/usr/include/bits/libm-simd-decl-stubs.h \
/usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \ /usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \
/usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \ /usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \ /usr/include/bits/mathcalls-helper-functions.h \
@@ -225,17 +262,8 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \ /usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \ /usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \ /usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \ /usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cfloat \
/usr/include/glm/simd/platform.h /usr/include/c++/15.2.1/climits \ /usr/include/glm/vec2.hpp /usr/include/glm/ext/vector_bool2.hpp \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \ /usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \ /usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \ /usr/include/glm/detail/compute_vector_relational.hpp \
@@ -260,13 +288,8 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/c++/15.2.1/bits/unordered_map.h \ /usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \ /usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \ /usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/bits/node_handle.h \ /usr/include/c++/15.2.1/bits/node_handle.h \
/usr/include/c++/15.2.1/bits/erase_if.h /usr/include/c++/15.2.1/vector \ /usr/include/c++/15.2.1/bits/erase_if.h \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/vector.tcc \
/usr/include/glm/detail/_vectorize.hpp \ /usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \ /usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \ /usr/include/glm/ext/vector_float3.hpp \
@@ -358,11 +381,4 @@ CMakeFiles/LearningVulkan.dir/src/main.cpp.o: \
/usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \ /usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \
/usr/include/glm/detail/type_half.hpp \ /usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \ /usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \ /usr/include/glm/detail/func_integer.inl
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanFramebuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDeviceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanPipeline.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanRenderPass.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h

View File

@@ -1,357 +0,0 @@
CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp \
/usr/include/stdc-predef.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanCommandBuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \
/usr/include/c++/15.2.1/cmath \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/c++/15.2.1/pstl/pstl_config.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/bits/version.h \
/usr/include/c++/15.2.1/type_traits \
/usr/include/c++/15.2.1/ext/type_traits.h /usr/include/math.h \
/usr/include/bits/libc-header-start.h /usr/include/bits/math-vector.h \
/usr/include/bits/libm-simd-decl-stubs.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/bits/flt-eval-method.h \
/usr/include/bits/fp-logb.h /usr/include/bits/fp-fast.h \
/usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/std_abs.h \
/usr/include/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/specfun.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/move.h \
/usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/limits \
/usr/include/c++/15.2.1/tr1/gamma.tcc \
/usr/include/c++/15.2.1/tr1/special_function_util.h \
/usr/include/c++/15.2.1/tr1/bessel_function.tcc \
/usr/include/c++/15.2.1/tr1/beta_function.tcc \
/usr/include/c++/15.2.1/tr1/ell_integral.tcc \
/usr/include/c++/15.2.1/tr1/exp_integral.tcc \
/usr/include/c++/15.2.1/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.1/tr1/legendre_function.tcc \
/usr/include/c++/15.2.1/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/c++/15.2.1/cstddef \
/usr/include/glm/simd/platform.h /usr/include/c++/15.2.1/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \
/usr/include/glm/ext/vector_bool2_precision.hpp \
/usr/include/glm/ext/vector_float2.hpp \
/usr/include/glm/ext/vector_float2_precision.hpp \
/usr/include/glm/ext/vector_double2.hpp \
/usr/include/glm/ext/vector_double2_precision.hpp \
/usr/include/glm/ext/vector_int2.hpp \
/usr/include/glm/ext/vector_int2_sized.hpp \
/usr/include/glm/ext/scalar_int_sized.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/ext/vector_uint2.hpp \
/usr/include/glm/ext/vector_uint2_sized.hpp \
/usr/include/glm/ext/scalar_uint_sized.hpp /usr/include/glm/vec3.hpp \
/usr/include/glm/ext/vector_bool3.hpp \
/usr/include/glm/detail/type_vec3.hpp \
/usr/include/glm/detail/type_vec3.inl \
/usr/include/glm/detail/compute_vector_decl.hpp \
/usr/include/c++/15.2.1/functional \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h /usr/include/c++/15.2.1/tuple \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/std_function.h \
/usr/include/c++/15.2.1/typeinfo /usr/include/c++/15.2.1/unordered_map \
/usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/node_handle.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/erase_if.h \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/vector.tcc /usr/include/c++/15.2.1/array \
/usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \
/usr/include/glm/ext/vector_float3_precision.hpp \
/usr/include/glm/ext/vector_double3.hpp \
/usr/include/glm/ext/vector_double3_precision.hpp \
/usr/include/glm/ext/vector_int3.hpp \
/usr/include/glm/ext/vector_int3_sized.hpp \
/usr/include/glm/ext/vector_uint3.hpp \
/usr/include/glm/ext/vector_uint3_sized.hpp /usr/include/glm/vec4.hpp \
/usr/include/glm/ext/vector_bool4.hpp \
/usr/include/glm/detail/type_vec4.hpp \
/usr/include/glm/detail/type_vec4.inl \
/usr/include/glm/ext/vector_bool4_precision.hpp \
/usr/include/glm/ext/vector_float4.hpp \
/usr/include/glm/ext/vector_float4_precision.hpp \
/usr/include/glm/ext/vector_double4.hpp \
/usr/include/glm/ext/vector_double4_precision.hpp \
/usr/include/glm/ext/vector_int4.hpp \
/usr/include/glm/ext/vector_int4_sized.hpp \
/usr/include/glm/ext/vector_uint4.hpp \
/usr/include/glm/ext/vector_uint4_sized.hpp /usr/include/glm/mat2x2.hpp \
/usr/include/glm/ext/matrix_double2x2.hpp \
/usr/include/glm/detail/type_mat2x2.hpp \
/usr/include/glm/detail/type_mat2x2.inl /usr/include/glm/matrix.hpp \
/usr/include/glm/mat2x3.hpp /usr/include/glm/ext/matrix_double2x3.hpp \
/usr/include/glm/detail/type_mat2x3.hpp \
/usr/include/glm/detail/type_mat2x3.inl \
/usr/include/glm/ext/matrix_double2x3_precision.hpp \
/usr/include/glm/ext/matrix_float2x3.hpp \
/usr/include/glm/ext/matrix_float2x3_precision.hpp \
/usr/include/glm/mat2x4.hpp /usr/include/glm/ext/matrix_double2x4.hpp \
/usr/include/glm/detail/type_mat2x4.hpp \
/usr/include/glm/detail/type_mat2x4.inl \
/usr/include/glm/ext/matrix_double2x4_precision.hpp \
/usr/include/glm/ext/matrix_float2x4.hpp \
/usr/include/glm/ext/matrix_float2x4_precision.hpp \
/usr/include/glm/mat3x2.hpp /usr/include/glm/ext/matrix_double3x2.hpp \
/usr/include/glm/detail/type_mat3x2.hpp \
/usr/include/glm/detail/type_mat3x2.inl \
/usr/include/glm/ext/matrix_double3x2_precision.hpp \
/usr/include/glm/ext/matrix_float3x2.hpp \
/usr/include/glm/ext/matrix_float3x2_precision.hpp \
/usr/include/glm/mat3x3.hpp /usr/include/glm/ext/matrix_double3x3.hpp \
/usr/include/glm/detail/type_mat3x3.hpp \
/usr/include/glm/detail/type_mat3x3.inl /usr/include/glm/common.hpp \
/usr/include/glm/detail/func_common.inl \
/usr/include/glm/vector_relational.hpp \
/usr/include/glm/detail/func_vector_relational.inl \
/usr/include/glm/detail/compute_common.hpp \
/usr/include/glm/detail/type_vec1.hpp \
/usr/include/glm/detail/type_vec1.inl \
/usr/include/glm/ext/matrix_double3x3_precision.hpp \
/usr/include/glm/ext/matrix_float3x3.hpp \
/usr/include/glm/ext/matrix_float3x3_precision.hpp \
/usr/include/glm/mat3x4.hpp /usr/include/glm/ext/matrix_double3x4.hpp \
/usr/include/glm/detail/type_mat3x4.hpp \
/usr/include/glm/detail/type_mat3x4.inl \
/usr/include/glm/ext/matrix_double3x4_precision.hpp \
/usr/include/glm/ext/matrix_float3x4.hpp \
/usr/include/glm/ext/matrix_float3x4_precision.hpp \
/usr/include/glm/mat4x2.hpp /usr/include/glm/ext/matrix_double4x2.hpp \
/usr/include/glm/detail/type_mat4x2.hpp \
/usr/include/glm/detail/type_mat4x2.inl \
/usr/include/glm/ext/matrix_double4x2_precision.hpp \
/usr/include/glm/ext/matrix_float4x2.hpp \
/usr/include/glm/ext/matrix_float4x2_precision.hpp \
/usr/include/glm/mat4x3.hpp /usr/include/glm/ext/matrix_double4x3.hpp \
/usr/include/glm/detail/type_mat4x3.hpp \
/usr/include/glm/detail/type_mat4x3.inl \
/usr/include/glm/ext/matrix_double4x3_precision.hpp \
/usr/include/glm/ext/matrix_float4x3.hpp \
/usr/include/glm/ext/matrix_float4x3_precision.hpp \
/usr/include/glm/mat4x4.hpp /usr/include/glm/ext/matrix_double4x4.hpp \
/usr/include/glm/detail/type_mat4x4.hpp \
/usr/include/glm/detail/type_mat4x4.inl /usr/include/glm/geometric.hpp \
/usr/include/glm/detail/func_geometric.inl \
/usr/include/glm/exponential.hpp \
/usr/include/glm/detail/func_exponential.inl \
/usr/include/glm/ext/matrix_double4x4_precision.hpp \
/usr/include/glm/ext/matrix_float4x4.hpp \
/usr/include/glm/ext/matrix_float4x4_precision.hpp \
/usr/include/glm/detail/func_matrix.inl \
/usr/include/glm/ext/matrix_double2x2_precision.hpp \
/usr/include/glm/ext/matrix_float2x2.hpp \
/usr/include/glm/ext/matrix_float2x2_precision.hpp \
/usr/include/glm/trigonometric.hpp \
/usr/include/glm/detail/func_trigonometric.inl \
/usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \
/usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \
/usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codecs_common.h \
/usr/include/vk_video/vulkan_video_codec_h264std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h265std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h264std_decode.h \
/usr/include/vk_video/vulkan_video_codec_h265std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_encode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \
/usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/usr/include/c++/15.2.1/optional /usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imconfig.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
/usr/include/string.h /usr/include/strings.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h /usr/include/bits/types/wint_t.h \
/usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \
/usr/include/c++/15.2.1/cctype /usr/include/ctype.h \
/usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \
/usr/include/bits/types/cookie_io_functions_t.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
/usr/include/c++/15.2.1/cerrno /usr/include/errno.h \
/usr/include/bits/errno.h /usr/include/linux/errno.h \
/usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \
/usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h

View File

@@ -1,13 +1,8 @@
CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp \ /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp \
/usr/include/stdc-predef.h \ /usr/include/stdc-predef.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanCommandBuffers.h \ /usr/include/c++/15.2.1/cstdint \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \
/usr/include/c++/15.2.1/cmath \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \ /usr/include/features.h /usr/include/features-time64.h \
@@ -16,60 +11,251 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/c++/15.2.1/pstl/pstl_config.h \ /usr/include/c++/15.2.1/pstl/pstl_config.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/libc-header-start.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/time64.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
/usr/include/bits/stdint-least.h /usr/include/c++/15.2.1/memory \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/version.h \ /usr/include/c++/15.2.1/bits/version.h \
/usr/include/c++/15.2.1/type_traits \
/usr/include/c++/15.2.1/ext/type_traits.h /usr/include/math.h \
/usr/include/bits/libc-header-start.h /usr/include/bits/math-vector.h \
/usr/include/bits/libm-simd-decl-stubs.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/bits/flt-eval-method.h \
/usr/include/bits/fp-logb.h /usr/include/bits/fp-fast.h \
/usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/std_abs.h \
/usr/include/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/specfun.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \ /usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \ /usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \ /usr/include/c++/15.2.1/bits/move.h /usr/include/c++/15.2.1/type_traits \
/usr/include/c++/15.2.1/bits/stl_pair.h \ /usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/move.h \ /usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \ /usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \ /usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/ptr_traits.h \ /usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \ /usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \ /usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \ /usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \ /usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h /usr/include/c++/15.2.1/new \ /usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/exception.h \ /usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/bits/stl_construct.h \ /usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/ext/type_traits.h \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h \
/usr/include/c++/15.2.1/debug/debug.h \ /usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \ /usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/limits \ /usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/stl_raw_storage_iter.h \
/usr/include/c++/15.2.1/bits/align.h \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/unique_ptr.h /usr/include/c++/15.2.1/tuple \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/ostream.h \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/ios /usr/include/c++/15.2.1/iosfwd \
/usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
/usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \
/usr/include/bits/types/__locale_t.h /usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/typeinfo \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/cctype \
/usr/include/ctype.h /usr/include/bits/endian.h \
/usr/include/bits/endianness.h /usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/bits/types/time_t.h \
/usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/string \
/usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/stdlib.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/sys/types.h /usr/include/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/std_abs.h /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \
/usr/include/bits/types/cookie_io_functions_t.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
/usr/include/c++/15.2.1/cerrno /usr/include/errno.h \
/usr/include/bits/errno.h /usr/include/linux/errno.h \
/usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/cstddef \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/system_error \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/stdexcept /usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.h \
/usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.tcc \
/usr/include/c++/15.2.1/bits/shared_ptr.h \
/usr/include/c++/15.2.1/bits/shared_ptr_base.h \
/usr/include/c++/15.2.1/bits/allocated_ptr.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/concurrence.h \
/usr/include/c++/15.2.1/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.1/bits/atomic_base.h \
/usr/include/c++/15.2.1/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.1/bits/atomic_wait.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \
/usr/include/bits/getopt_core.h /usr/include/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/syscall.h \
/usr/include/sys/syscall.h /usr/include/asm/unistd.h \
/usr/include/asm/unistd_64.h /usr/include/bits/syscall.h \
/usr/include/c++/15.2.1/bits/std_mutex.h \
/usr/include/c++/15.2.1/backward/auto_ptr.h \
/usr/include/c++/15.2.1/bits/ranges_uninitialized.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/pstl/glue_memory_defs.h \
/usr/include/c++/15.2.1/pstl/execution_defs.h \
/usr/include/c++/15.2.1/vector /usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/vector.tcc \
/usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codecs_common.h \
/usr/include/vk_video/vulkan_video_codec_h264std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h265std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h264std_decode.h \
/usr/include/vk_video/vulkan_video_codec_h265std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_encode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \
/usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanTexture.hpp \
/usr/include/vulkan/vulkan.hpp /usr/include/vulkan/vulkan_hpp_macros.hpp \
/usr/include/c++/15.2.1/version /usr/include/c++/15.2.1/algorithm \
/usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/ranges_algo.h \
/usr/include/c++/15.2.1/pstl/glue_algorithm_defs.h \
/usr/include/c++/15.2.1/array /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/string.h /usr/include/strings.h \
/usr/include/c++/15.2.1/utility \
/usr/include/c++/15.2.1/bits/stl_relops.h /usr/include/c++/15.2.1/span \
/usr/include/dlfcn.h /usr/include/bits/dlfcn.h \
/usr/include/bits/dl_find_object.h /usr/include/vulkan/vulkan_enums.hpp \
/usr/include/vulkan/vulkan_to_string.hpp /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv /usr/include/c++/15.2.1/limits \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h \
/usr/include/c++/15.2.1/optional \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/unicode-data.h \
/usr/include/vulkan/vulkan_handles.hpp \
/usr/include/vulkan/vulkan_structs.hpp /usr/include/c++/15.2.1/cstring \
/usr/include/vulkan/vulkan_funcs.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanBuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Primitives.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/simd/platform.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \
/usr/include/c++/15.2.1/cmath /usr/include/math.h \
/usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \
/usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \
/usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/specfun.h \
/usr/include/c++/15.2.1/tr1/gamma.tcc \ /usr/include/c++/15.2.1/tr1/gamma.tcc \
/usr/include/c++/15.2.1/tr1/special_function_util.h \ /usr/include/c++/15.2.1/tr1/special_function_util.h \
/usr/include/c++/15.2.1/tr1/bessel_function.tcc \ /usr/include/c++/15.2.1/tr1/bessel_function.tcc \
@@ -82,24 +268,9 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \ /usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \ /usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \ /usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \ /usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cfloat \
/usr/include/assert.h /usr/include/c++/15.2.1/cstddef \
/usr/include/glm/simd/platform.h /usr/include/c++/15.2.1/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \ /usr/include/glm/vec2.hpp /usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \ /usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \ /usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \ /usr/include/glm/detail/compute_vector_relational.hpp \
@@ -119,41 +290,13 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/usr/include/glm/detail/type_vec3.inl \ /usr/include/glm/detail/type_vec3.inl \
/usr/include/glm/detail/compute_vector_decl.hpp \ /usr/include/glm/detail/compute_vector_decl.hpp \
/usr/include/c++/15.2.1/functional \ /usr/include/c++/15.2.1/functional \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h /usr/include/c++/15.2.1/tuple \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/std_function.h \ /usr/include/c++/15.2.1/bits/std_function.h \
/usr/include/c++/15.2.1/typeinfo /usr/include/c++/15.2.1/unordered_map \ /usr/include/c++/15.2.1/unordered_map \
/usr/include/c++/15.2.1/bits/unordered_map.h \ /usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \ /usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \ /usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/node_handle.h \ /usr/include/c++/15.2.1/bits/node_handle.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/erase_if.h \ /usr/include/c++/15.2.1/bits/erase_if.h \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/vector.tcc /usr/include/c++/15.2.1/array \
/usr/include/glm/detail/_vectorize.hpp \ /usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \ /usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \ /usr/include/glm/ext/vector_float3.hpp \
@@ -246,126 +389,28 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/usr/include/glm/detail/type_half.hpp \ /usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \ /usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \ /usr/include/glm/detail/func_integer.inl \
/usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codecs_common.h \
/usr/include/vk_video/vulkan_video_codec_h264std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h265std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h264std_decode.h \
/usr/include/vk_video/vulkan_video_codec_h265std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_encode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \
/usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/usr/include/c++/15.2.1/optional /usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanFramebuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDeviceManager.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDeviceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanFramebuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanPipeline.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanPipeline.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanRenderPass.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanRenderPass.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \ /usr/include/c++/15.2.1/chrono /usr/include/c++/15.2.1/bits/chrono.h \
/usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \ /usr/include/c++/15.2.1/ratio \
/usr/include/c++/15.2.1/bits/char_traits.h \ /usr/include/c++/15.2.1/bits/parse_numbers.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \ /usr/include/c++/15.2.1/sstream /usr/include/c++/15.2.1/istream \
/usr/include/wchar.h \ /usr/include/c++/15.2.1/ostream /usr/include/c++/15.2.1/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ /usr/include/c++/15.2.1/bits/istream.tcc \
/usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \ /usr/include/c++/15.2.1/bits/sstream.tcc \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ /usr/include/c++/15.2.1/bits/chrono_io.h /usr/include/c++/15.2.1/iomanip \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \ /usr/include/c++/15.2.1/bits/quoted_string.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \
/usr/include/c++/15.2.1/cctype /usr/include/ctype.h \
/usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \
/usr/include/bits/types/cookie_io_functions_t.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
/usr/include/c++/15.2.1/cerrno /usr/include/errno.h \
/usr/include/bits/errno.h /usr/include/linux/errno.h \
/usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \
/usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/stb/stb_image.h \
/usr/include/c++/15.2.1/stdlib.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imconfig.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imconfig.h \
/usr/include/string.h /usr/include/strings.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.h \ /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.h \
/home/Jordan/Projects/CPP/LearningVulkan/lib/stb/stb_image.h \
/usr/include/c++/15.2.1/stdlib.h \
/usr/include/glm/ext/matrix_clip_space.hpp \ /usr/include/glm/ext/matrix_clip_space.hpp \
/usr/include/glm/ext/scalar_constants.hpp \ /usr/include/glm/ext/scalar_constants.hpp \
/usr/include/glm/ext/scalar_constants.inl \ /usr/include/glm/ext/scalar_constants.inl \
@@ -376,21 +421,6 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o: \
/usr/include/glm/gtc/matrix_transform.hpp \ /usr/include/glm/gtc/matrix_transform.hpp \
/usr/include/glm/ext/matrix_projection.hpp \ /usr/include/glm/ext/matrix_projection.hpp \
/usr/include/glm/ext/matrix_projection.inl \ /usr/include/glm/ext/matrix_projection.inl \
/usr/include/glm/gtc/matrix_transform.inl /usr/include/c++/15.2.1/chrono \ /usr/include/glm/gtc/matrix_transform.inl \
/usr/include/c++/15.2.1/bits/chrono.h /usr/include/c++/15.2.1/ratio \ /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/bits/parse_numbers.h \ /usr/include/c++/15.2.1/source_location
/usr/include/c++/15.2.1/sstream /usr/include/c++/15.2.1/istream \
/usr/include/c++/15.2.1/ios /usr/include/c++/15.2.1/bits/basic_ios.h \
/usr/include/c++/15.2.1/bits/basic_ios.tcc \
/usr/include/c++/15.2.1/ostream /usr/include/c++/15.2.1/bits/ostream.h \
/usr/include/c++/15.2.1/bits/ostream.tcc \
/usr/include/c++/15.2.1/bits/istream.tcc \
/usr/include/c++/15.2.1/bits/sstream.tcc \
/usr/include/c++/15.2.1/bits/shared_ptr.h \
/usr/include/c++/15.2.1/bits/shared_ptr_base.h \
/usr/include/c++/15.2.1/bits/allocated_ptr.h \
/usr/include/c++/15.2.1/bits/unique_ptr.h \
/usr/include/c++/15.2.1/ext/concurrence.h \
/usr/include/c++/15.2.1/bits/align.h \
/usr/include/c++/15.2.1/bits/chrono_io.h /usr/include/c++/15.2.1/iomanip \
/usr/include/c++/15.2.1/bits/quoted_string.h

View File

@@ -101,205 +101,72 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o: \
/usr/include/c++/15.2.1/bits/erase_if.h /usr/include/c++/15.2.1/cstdint \ /usr/include/c++/15.2.1/bits/erase_if.h /usr/include/c++/15.2.1/cstdint \
/usr/include/c++/15.2.1/set /usr/include/c++/15.2.1/bits/stl_set.h \ /usr/include/c++/15.2.1/set /usr/include/c++/15.2.1/bits/stl_set.h \
/usr/include/c++/15.2.1/bits/stl_multiset.h \ /usr/include/c++/15.2.1/bits/stl_multiset.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanCommandBuffers.h \ /usr/include/c++/15.2.1/memory \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \ /usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \ /usr/include/c++/15.2.1/bits/stl_raw_storage_iter.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \ /usr/include/c++/15.2.1/bits/align.h \
/usr/include/c++/15.2.1/cmath /usr/include/math.h \ /usr/include/c++/15.2.1/bits/unique_ptr.h \
/usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ /usr/include/c++/15.2.1/bits/ostream.h /usr/include/c++/15.2.1/ios \
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ /usr/include/c++/15.2.1/iosfwd /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \
/usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/std_abs.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/bits/types/locale_t.h \
/usr/include/bits/types/__locale_t.h /usr/include/sys/types.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/endianness.h /usr/include/bits/byteswap.h \
/usr/include/bits/uintn-identity.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/specfun.h /usr/include/c++/15.2.1/limits \
/usr/include/c++/15.2.1/tr1/gamma.tcc \
/usr/include/c++/15.2.1/tr1/special_function_util.h \
/usr/include/c++/15.2.1/tr1/bessel_function.tcc \
/usr/include/c++/15.2.1/tr1/beta_function.tcc \
/usr/include/c++/15.2.1/tr1/ell_integral.tcc \
/usr/include/c++/15.2.1/tr1/exp_integral.tcc \
/usr/include/c++/15.2.1/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.1/tr1/legendre_function.tcc \
/usr/include/c++/15.2.1/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/glm/simd/platform.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \
/usr/include/glm/ext/vector_bool2_precision.hpp \
/usr/include/glm/ext/vector_float2.hpp \
/usr/include/glm/ext/vector_float2_precision.hpp \
/usr/include/glm/ext/vector_double2.hpp \
/usr/include/glm/ext/vector_double2_precision.hpp \
/usr/include/glm/ext/vector_int2.hpp \
/usr/include/glm/ext/vector_int2_sized.hpp \
/usr/include/glm/ext/scalar_int_sized.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/ext/vector_uint2.hpp \
/usr/include/glm/ext/vector_uint2_sized.hpp \
/usr/include/glm/ext/scalar_uint_sized.hpp /usr/include/glm/vec3.hpp \
/usr/include/glm/ext/vector_bool3.hpp \
/usr/include/glm/detail/type_vec3.hpp \
/usr/include/glm/detail/type_vec3.inl \
/usr/include/glm/detail/compute_vector_decl.hpp \
/usr/include/c++/15.2.1/functional \
/usr/include/c++/15.2.1/bits/std_function.h \
/usr/include/c++/15.2.1/unordered_map \
/usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/array /usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \
/usr/include/glm/ext/vector_float3_precision.hpp \
/usr/include/glm/ext/vector_double3.hpp \
/usr/include/glm/ext/vector_double3_precision.hpp \
/usr/include/glm/ext/vector_int3.hpp \
/usr/include/glm/ext/vector_int3_sized.hpp \
/usr/include/glm/ext/vector_uint3.hpp \
/usr/include/glm/ext/vector_uint3_sized.hpp /usr/include/glm/vec4.hpp \
/usr/include/glm/ext/vector_bool4.hpp \
/usr/include/glm/detail/type_vec4.hpp \
/usr/include/glm/detail/type_vec4.inl \
/usr/include/glm/ext/vector_bool4_precision.hpp \
/usr/include/glm/ext/vector_float4.hpp \
/usr/include/glm/ext/vector_float4_precision.hpp \
/usr/include/glm/ext/vector_double4.hpp \
/usr/include/glm/ext/vector_double4_precision.hpp \
/usr/include/glm/ext/vector_int4.hpp \
/usr/include/glm/ext/vector_int4_sized.hpp \
/usr/include/glm/ext/vector_uint4.hpp \
/usr/include/glm/ext/vector_uint4_sized.hpp /usr/include/glm/mat2x2.hpp \
/usr/include/glm/ext/matrix_double2x2.hpp \
/usr/include/glm/detail/type_mat2x2.hpp \
/usr/include/glm/detail/type_mat2x2.inl /usr/include/glm/matrix.hpp \
/usr/include/glm/mat2x3.hpp /usr/include/glm/ext/matrix_double2x3.hpp \
/usr/include/glm/detail/type_mat2x3.hpp \
/usr/include/glm/detail/type_mat2x3.inl \
/usr/include/glm/ext/matrix_double2x3_precision.hpp \
/usr/include/glm/ext/matrix_float2x3.hpp \
/usr/include/glm/ext/matrix_float2x3_precision.hpp \
/usr/include/glm/mat2x4.hpp /usr/include/glm/ext/matrix_double2x4.hpp \
/usr/include/glm/detail/type_mat2x4.hpp \
/usr/include/glm/detail/type_mat2x4.inl \
/usr/include/glm/ext/matrix_double2x4_precision.hpp \
/usr/include/glm/ext/matrix_float2x4.hpp \
/usr/include/glm/ext/matrix_float2x4_precision.hpp \
/usr/include/glm/mat3x2.hpp /usr/include/glm/ext/matrix_double3x2.hpp \
/usr/include/glm/detail/type_mat3x2.hpp \
/usr/include/glm/detail/type_mat3x2.inl \
/usr/include/glm/ext/matrix_double3x2_precision.hpp \
/usr/include/glm/ext/matrix_float3x2.hpp \
/usr/include/glm/ext/matrix_float3x2_precision.hpp \
/usr/include/glm/mat3x3.hpp /usr/include/glm/ext/matrix_double3x3.hpp \
/usr/include/glm/detail/type_mat3x3.hpp \
/usr/include/glm/detail/type_mat3x3.inl /usr/include/glm/common.hpp \
/usr/include/glm/detail/func_common.inl \
/usr/include/glm/vector_relational.hpp \
/usr/include/glm/detail/func_vector_relational.inl \
/usr/include/glm/detail/compute_common.hpp \
/usr/include/glm/detail/type_vec1.hpp \
/usr/include/glm/detail/type_vec1.inl \
/usr/include/glm/ext/matrix_double3x3_precision.hpp \
/usr/include/glm/ext/matrix_float3x3.hpp \
/usr/include/glm/ext/matrix_float3x3_precision.hpp \
/usr/include/glm/mat3x4.hpp /usr/include/glm/ext/matrix_double3x4.hpp \
/usr/include/glm/detail/type_mat3x4.hpp \
/usr/include/glm/detail/type_mat3x4.inl \
/usr/include/glm/ext/matrix_double3x4_precision.hpp \
/usr/include/glm/ext/matrix_float3x4.hpp \
/usr/include/glm/ext/matrix_float3x4_precision.hpp \
/usr/include/glm/mat4x2.hpp /usr/include/glm/ext/matrix_double4x2.hpp \
/usr/include/glm/detail/type_mat4x2.hpp \
/usr/include/glm/detail/type_mat4x2.inl \
/usr/include/glm/ext/matrix_double4x2_precision.hpp \
/usr/include/glm/ext/matrix_float4x2.hpp \
/usr/include/glm/ext/matrix_float4x2_precision.hpp \
/usr/include/glm/mat4x3.hpp /usr/include/glm/ext/matrix_double4x3.hpp \
/usr/include/glm/detail/type_mat4x3.hpp \
/usr/include/glm/detail/type_mat4x3.inl \
/usr/include/glm/ext/matrix_double4x3_precision.hpp \
/usr/include/glm/ext/matrix_float4x3.hpp \
/usr/include/glm/ext/matrix_float4x3_precision.hpp \
/usr/include/glm/mat4x4.hpp /usr/include/glm/ext/matrix_double4x4.hpp \
/usr/include/glm/detail/type_mat4x4.hpp \
/usr/include/glm/detail/type_mat4x4.inl /usr/include/glm/geometric.hpp \
/usr/include/glm/detail/func_geometric.inl \
/usr/include/glm/exponential.hpp \
/usr/include/glm/detail/func_exponential.inl \
/usr/include/glm/ext/matrix_double4x4_precision.hpp \
/usr/include/glm/ext/matrix_float4x4.hpp \
/usr/include/glm/ext/matrix_float4x4_precision.hpp \
/usr/include/glm/detail/func_matrix.inl \
/usr/include/glm/ext/matrix_double2x2_precision.hpp \
/usr/include/glm/ext/matrix_float2x2.hpp \
/usr/include/glm/ext/matrix_float2x2_precision.hpp \
/usr/include/glm/trigonometric.hpp \
/usr/include/glm/detail/func_trigonometric.inl \
/usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \
/usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanFramebuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanPipeline.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanRenderPass.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \ /usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h \ /usr/include/wchar.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
/usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \ /usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \ /usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \
/usr/include/bits/types/__locale_t.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \ /usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \ /usr/include/bits/locale.h /usr/include/c++/15.2.1/cctype \
/usr/include/c++/15.2.1/cctype /usr/include/ctype.h \ /usr/include/ctype.h /usr/include/bits/endian.h \
/usr/include/bits/endianness.h /usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/bits/types/time_t.h \
/usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/string \
/usr/include/c++/15.2.1/bits/ostream_insert.h \ /usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \ /usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/basic_string.h \ /usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \ /usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \ /usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \ /usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/c++/15.2.1/cstdio \ /usr/include/c++/15.2.1/cstdlib /usr/include/stdlib.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/sys/types.h /usr/include/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/std_abs.h /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \ /usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \ /usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \ /usr/include/bits/types/struct_FILE.h \
@@ -311,40 +178,51 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o: \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \ /usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \ /usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \ /usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \ /usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/system_error \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/stdexcept /usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.h \
/usr/include/c++/15.2.1/bits/locale_facets.h \ /usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \ /usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \ /usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \ /usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \ /usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.tcc \
/usr/include/c++/15.2.1/bits/shared_ptr.h \
/usr/include/c++/15.2.1/bits/shared_ptr_base.h \
/usr/include/c++/15.2.1/bits/allocated_ptr.h \
/usr/include/c++/15.2.1/ext/concurrence.h \
/usr/include/c++/15.2.1/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.1/bits/atomic_base.h \
/usr/include/c++/15.2.1/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.1/bits/atomic_wait.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \
/usr/include/bits/getopt_core.h /usr/include/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/syscall.h \
/usr/include/sys/syscall.h /usr/include/asm/unistd.h \
/usr/include/asm/unistd_64.h /usr/include/bits/syscall.h \
/usr/include/c++/15.2.1/bits/std_mutex.h \
/usr/include/c++/15.2.1/backward/auto_ptr.h \
/usr/include/c++/15.2.1/bits/ranges_uninitialized.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/pstl/glue_memory_defs.h \
/usr/include/c++/15.2.1/pstl/execution_defs.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/array /usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/limits /usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \ /usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \ /usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
@@ -354,11 +232,9 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o: \
/usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \ /usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \
/usr/include/c++/15.2.1/bits/monostate.h \ /usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \ /usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \ /usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/stl_algo.h \ /usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \ /usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \ /usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \ /usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h /usr/include/c++/15.2.1/bits/unicode-data.h

View File

@@ -1,7 +1,7 @@
CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o: \ CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp \ /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp \
/usr/include/stdc-predef.h \ /usr/include/stdc-predef.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanInstanceManager.hpp \
/usr/include/c++/15.2.1/vector \ /usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/requires_hosted.h \ /usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \
@@ -89,213 +89,76 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o: \
/usr/include/vk_video/vulkan_video_codec_vp9std.h /usr/include/GL/gl.h \ /usr/include/vk_video/vulkan_video_codec_vp9std.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \ /usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDebugManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanContext.hpp \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanCommandBuffers.h \ /usr/include/c++/15.2.1/cstdint /usr/include/c++/15.2.1/memory \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \ /usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \ /usr/include/c++/15.2.1/bits/stl_raw_storage_iter.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \ /usr/include/c++/15.2.1/bits/align.h \
/usr/include/c++/15.2.1/cmath /usr/include/math.h \ /usr/include/c++/15.2.1/bits/unique_ptr.h \
/usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ /usr/include/c++/15.2.1/bits/ostream.h /usr/include/c++/15.2.1/ios \
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ /usr/include/c++/15.2.1/iosfwd /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/bits/flt-eval-method.h /usr/include/bits/fp-logb.h \
/usr/include/bits/fp-fast.h /usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/std_abs.h \
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/bits/types/locale_t.h \
/usr/include/bits/types/__locale_t.h /usr/include/sys/types.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/endianness.h /usr/include/bits/byteswap.h \
/usr/include/bits/uintn-identity.h /usr/include/sys/select.h \
/usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/specfun.h /usr/include/c++/15.2.1/limits \
/usr/include/c++/15.2.1/tr1/gamma.tcc \
/usr/include/c++/15.2.1/tr1/special_function_util.h \
/usr/include/c++/15.2.1/tr1/bessel_function.tcc \
/usr/include/c++/15.2.1/tr1/beta_function.tcc \
/usr/include/c++/15.2.1/tr1/ell_integral.tcc \
/usr/include/c++/15.2.1/tr1/exp_integral.tcc \
/usr/include/c++/15.2.1/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.1/tr1/legendre_function.tcc \
/usr/include/c++/15.2.1/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/glm/simd/platform.h \
/usr/include/c++/15.2.1/cstdint /usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \
/usr/include/glm/ext/vector_bool2_precision.hpp \
/usr/include/glm/ext/vector_float2.hpp \
/usr/include/glm/ext/vector_float2_precision.hpp \
/usr/include/glm/ext/vector_double2.hpp \
/usr/include/glm/ext/vector_double2_precision.hpp \
/usr/include/glm/ext/vector_int2.hpp \
/usr/include/glm/ext/vector_int2_sized.hpp \
/usr/include/glm/ext/scalar_int_sized.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/ext/vector_uint2.hpp \
/usr/include/glm/ext/vector_uint2_sized.hpp \
/usr/include/glm/ext/scalar_uint_sized.hpp /usr/include/glm/vec3.hpp \
/usr/include/glm/ext/vector_bool3.hpp \
/usr/include/glm/detail/type_vec3.hpp \
/usr/include/glm/detail/type_vec3.inl \
/usr/include/glm/detail/compute_vector_decl.hpp \
/usr/include/c++/15.2.1/functional \
/usr/include/c++/15.2.1/bits/std_function.h \
/usr/include/c++/15.2.1/typeinfo /usr/include/c++/15.2.1/unordered_map \
/usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/node_handle.h \
/usr/include/c++/15.2.1/bits/erase_if.h /usr/include/c++/15.2.1/array \
/usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \
/usr/include/glm/ext/vector_float3_precision.hpp \
/usr/include/glm/ext/vector_double3.hpp \
/usr/include/glm/ext/vector_double3_precision.hpp \
/usr/include/glm/ext/vector_int3.hpp \
/usr/include/glm/ext/vector_int3_sized.hpp \
/usr/include/glm/ext/vector_uint3.hpp \
/usr/include/glm/ext/vector_uint3_sized.hpp /usr/include/glm/vec4.hpp \
/usr/include/glm/ext/vector_bool4.hpp \
/usr/include/glm/detail/type_vec4.hpp \
/usr/include/glm/detail/type_vec4.inl \
/usr/include/glm/ext/vector_bool4_precision.hpp \
/usr/include/glm/ext/vector_float4.hpp \
/usr/include/glm/ext/vector_float4_precision.hpp \
/usr/include/glm/ext/vector_double4.hpp \
/usr/include/glm/ext/vector_double4_precision.hpp \
/usr/include/glm/ext/vector_int4.hpp \
/usr/include/glm/ext/vector_int4_sized.hpp \
/usr/include/glm/ext/vector_uint4.hpp \
/usr/include/glm/ext/vector_uint4_sized.hpp /usr/include/glm/mat2x2.hpp \
/usr/include/glm/ext/matrix_double2x2.hpp \
/usr/include/glm/detail/type_mat2x2.hpp \
/usr/include/glm/detail/type_mat2x2.inl /usr/include/glm/matrix.hpp \
/usr/include/glm/mat2x3.hpp /usr/include/glm/ext/matrix_double2x3.hpp \
/usr/include/glm/detail/type_mat2x3.hpp \
/usr/include/glm/detail/type_mat2x3.inl \
/usr/include/glm/ext/matrix_double2x3_precision.hpp \
/usr/include/glm/ext/matrix_float2x3.hpp \
/usr/include/glm/ext/matrix_float2x3_precision.hpp \
/usr/include/glm/mat2x4.hpp /usr/include/glm/ext/matrix_double2x4.hpp \
/usr/include/glm/detail/type_mat2x4.hpp \
/usr/include/glm/detail/type_mat2x4.inl \
/usr/include/glm/ext/matrix_double2x4_precision.hpp \
/usr/include/glm/ext/matrix_float2x4.hpp \
/usr/include/glm/ext/matrix_float2x4_precision.hpp \
/usr/include/glm/mat3x2.hpp /usr/include/glm/ext/matrix_double3x2.hpp \
/usr/include/glm/detail/type_mat3x2.hpp \
/usr/include/glm/detail/type_mat3x2.inl \
/usr/include/glm/ext/matrix_double3x2_precision.hpp \
/usr/include/glm/ext/matrix_float3x2.hpp \
/usr/include/glm/ext/matrix_float3x2_precision.hpp \
/usr/include/glm/mat3x3.hpp /usr/include/glm/ext/matrix_double3x3.hpp \
/usr/include/glm/detail/type_mat3x3.hpp \
/usr/include/glm/detail/type_mat3x3.inl /usr/include/glm/common.hpp \
/usr/include/glm/detail/func_common.inl \
/usr/include/glm/vector_relational.hpp \
/usr/include/glm/detail/func_vector_relational.inl \
/usr/include/glm/detail/compute_common.hpp \
/usr/include/glm/detail/type_vec1.hpp \
/usr/include/glm/detail/type_vec1.inl \
/usr/include/glm/ext/matrix_double3x3_precision.hpp \
/usr/include/glm/ext/matrix_float3x3.hpp \
/usr/include/glm/ext/matrix_float3x3_precision.hpp \
/usr/include/glm/mat3x4.hpp /usr/include/glm/ext/matrix_double3x4.hpp \
/usr/include/glm/detail/type_mat3x4.hpp \
/usr/include/glm/detail/type_mat3x4.inl \
/usr/include/glm/ext/matrix_double3x4_precision.hpp \
/usr/include/glm/ext/matrix_float3x4.hpp \
/usr/include/glm/ext/matrix_float3x4_precision.hpp \
/usr/include/glm/mat4x2.hpp /usr/include/glm/ext/matrix_double4x2.hpp \
/usr/include/glm/detail/type_mat4x2.hpp \
/usr/include/glm/detail/type_mat4x2.inl \
/usr/include/glm/ext/matrix_double4x2_precision.hpp \
/usr/include/glm/ext/matrix_float4x2.hpp \
/usr/include/glm/ext/matrix_float4x2_precision.hpp \
/usr/include/glm/mat4x3.hpp /usr/include/glm/ext/matrix_double4x3.hpp \
/usr/include/glm/detail/type_mat4x3.hpp \
/usr/include/glm/detail/type_mat4x3.inl \
/usr/include/glm/ext/matrix_double4x3_precision.hpp \
/usr/include/glm/ext/matrix_float4x3.hpp \
/usr/include/glm/ext/matrix_float4x3_precision.hpp \
/usr/include/glm/mat4x4.hpp /usr/include/glm/ext/matrix_double4x4.hpp \
/usr/include/glm/detail/type_mat4x4.hpp \
/usr/include/glm/detail/type_mat4x4.inl /usr/include/glm/geometric.hpp \
/usr/include/glm/detail/func_geometric.inl \
/usr/include/glm/exponential.hpp \
/usr/include/glm/detail/func_exponential.inl \
/usr/include/glm/ext/matrix_double4x4_precision.hpp \
/usr/include/glm/ext/matrix_float4x4.hpp \
/usr/include/glm/ext/matrix_float4x4_precision.hpp \
/usr/include/glm/detail/func_matrix.inl \
/usr/include/glm/ext/matrix_double2x2_precision.hpp \
/usr/include/glm/ext/matrix_float2x2.hpp \
/usr/include/glm/ext/matrix_float2x2_precision.hpp \
/usr/include/glm/trigonometric.hpp \
/usr/include/glm/detail/func_trigonometric.inl \
/usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \
/usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \
/usr/include/vulkan/vulkan_core.h /usr/include/c++/15.2.1/optional \
/usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanFramebuffers.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanDeviceManager.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanPipeline.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanRenderPass.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \ /usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h \ /usr/include/wchar.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
/usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \ /usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \ /usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \ /usr/include/bits/types/FILE.h /usr/include/bits/types/locale_t.h \
/usr/include/bits/types/__locale_t.h /usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/typeinfo \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \ /usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \ /usr/include/bits/locale.h /usr/include/c++/15.2.1/cctype \
/usr/include/c++/15.2.1/cctype /usr/include/ctype.h \ /usr/include/ctype.h /usr/include/bits/endian.h \
/usr/include/bits/endianness.h /usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h \
/usr/include/bits/types/time_t.h \
/usr/include/bits/types/struct_timespec.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/clockid_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/types/struct_itimerspec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/string \
/usr/include/c++/15.2.1/bits/ostream_insert.h \ /usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \ /usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/basic_string.h \ /usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \ /usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \ /usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \ /usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/c++/15.2.1/cstdio \ /usr/include/c++/15.2.1/cstdlib /usr/include/stdlib.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/sys/types.h /usr/include/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/std_abs.h /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \ /usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \ /usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \ /usr/include/bits/types/struct_FILE.h \
@@ -307,56 +170,69 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o: \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \ /usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \ /usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \ /usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \ /usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/system_error \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/stdexcept /usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.h \
/usr/include/c++/15.2.1/bits/locale_facets.h \ /usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \ /usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \ /usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \ /usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \ /usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/basic_ios.tcc \
/usr/include/c++/15.2.1/bits/shared_ptr.h \
/usr/include/c++/15.2.1/bits/shared_ptr_base.h \
/usr/include/c++/15.2.1/bits/allocated_ptr.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/concurrence.h \
/usr/include/c++/15.2.1/bits/shared_ptr_atomic.h \
/usr/include/c++/15.2.1/bits/atomic_base.h \
/usr/include/c++/15.2.1/bits/atomic_lockfree_defines.h \
/usr/include/c++/15.2.1/bits/atomic_wait.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \
/usr/include/bits/getopt_core.h /usr/include/bits/unistd_ext.h \
/usr/include/linux/close_range.h /usr/include/syscall.h \
/usr/include/sys/syscall.h /usr/include/asm/unistd.h \
/usr/include/asm/unistd_64.h /usr/include/bits/syscall.h \
/usr/include/c++/15.2.1/bits/std_mutex.h \
/usr/include/c++/15.2.1/backward/auto_ptr.h \
/usr/include/c++/15.2.1/bits/ranges_uninitialized.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/pstl/glue_memory_defs.h \
/usr/include/c++/15.2.1/pstl/execution_defs.h \
/usr/include/vulkan/vulkan_core.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/array /usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/limits /usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \ /usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \ /usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \ /usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \ /usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \ /usr/include/c++/15.2.1/bits/locale_conv.h \
/usr/include/c++/15.2.1/bits/monostate.h \ /usr/include/c++/15.2.1/optional \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/span /usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \ /usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \ /usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/stl_algo.h \ /usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \ /usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \ /usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \ /usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h \ /usr/include/c++/15.2.1/bits/unicode-data.h \
/usr/include/c++/15.2.1/cstring /usr/include/string.h \ /usr/include/c++/15.2.1/cstring /usr/include/string.h \
/usr/include/strings.h /usr/include/strings.h

View File

@@ -210,7 +210,10 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o: \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \ /usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \ /usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h \ /usr/include/c++/15.2.1/bits/unicode-data.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Primitives.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/glm/simd/platform.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \ /usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \
/usr/include/c++/15.2.1/cmath /usr/include/math.h \ /usr/include/c++/15.2.1/cmath /usr/include/math.h \
/usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \ /usr/include/bits/math-vector.h /usr/include/bits/libm-simd-decl-stubs.h \
@@ -231,9 +234,7 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o: \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \ /usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \ /usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \ /usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \ /usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/climits \
/usr/include/assert.h /usr/include/glm/simd/platform.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
@@ -241,9 +242,7 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o: \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \ /usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \ /usr/include/glm/vec2.hpp /usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \ /usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \ /usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \ /usr/include/glm/detail/compute_vector_relational.hpp \

View File

@@ -191,4 +191,5 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o: \
/usr/include/c++/15.2.1/bits/stl_heap.h \ /usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \ /usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \ /usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h /usr/include/c++/15.2.1/bits/unicode-data.h \
/usr/include/vulkan/vulkan_core.h

View File

@@ -2,7 +2,7 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp \ /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp \
/usr/include/stdc-predef.h \ /usr/include/stdc-predef.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \ /home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanSwapChain.h \
/usr/include/c++/15.2.1/optional /usr/include/c++/15.2.1/bits/version.h \ /usr/include/c++/15.2.1/cstdint \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \ /usr/include/features.h /usr/include/features-time64.h \
@@ -11,38 +11,35 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/c++/15.2.1/pstl/pstl_config.h \ /usr/include/c++/15.2.1/pstl/pstl_config.h \
/usr/include/c++/15.2.1/type_traits /usr/include/c++/15.2.1/exception \ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/c++/15.2.1/bits/exception.h \ /usr/include/stdint.h /usr/include/bits/libc-header-start.h \
/usr/include/c++/15.2.1/bits/exception_ptr.h \ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/time64.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
/usr/include/bits/stdint-least.h /usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \ /usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \ /usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ /usr/include/c++/15.2.1/bits/version.h \
/usr/include/c++/15.2.1/typeinfo \ /usr/include/c++/15.2.1/type_traits \
/usr/include/c++/15.2.1/bits/hash_bytes.h /usr/include/c++/15.2.1/new \ /usr/include/c++/15.2.1/ext/type_traits.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/move.h \ /usr/include/c++/15.2.1/bits/move.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \ /usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/initializer_list \ /usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \ /usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \ /usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/ptr_traits.h \ /usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \ /usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \ /usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \ /usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \ /usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \ /usr/include/c++/15.2.1/bits/stl_iterator.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/invoke.h /usr/include/c++/15.2.1/vector \ /usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/requires_hosted.h \ /usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/ext/type_traits.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h \
/usr/include/c++/15.2.1/debug/debug.h \ /usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \ /usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/bits/allocator.h \ /usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/bits/allocator.h \
@@ -53,27 +50,26 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/usr/include/c++/15.2.1/ext/alloc_traits.h \ /usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \ /usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \ /usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/ranges_base.h \ /usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/bits/max_size_type.h \ /usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \ /usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/stl_bvector.h \ /usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/refwrap.h \ /usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/stl_function.h \ /usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h \ /usr/include/c++/15.2.1/backward/binders.h \
/usr/include/c++/15.2.1/bits/range_access.h \ /usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/vector.tcc \ /usr/include/c++/15.2.1/bits/vector.tcc \
/usr/include/c++/15.2.1/bits/memory_resource.h \ /usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/cstddef \ /usr/include/c++/15.2.1/cstddef \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
/usr/include/c++/15.2.1/bits/uses_allocator.h \ /usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \ /usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/tuple /usr/include/c++/15.2.1/bits/ranges_util.h \ /usr/include/c++/15.2.1/tuple /usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \ /usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/libc-header-start.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/time64.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \
/usr/include/bits/stdint-least.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \ /usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codecs_common.h \ /usr/include/vk_video/vulkan_video_codecs_common.h \
/usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \
@@ -93,8 +89,7 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \ /usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \
/usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \ /usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \ /usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/usr/include/c++/15.2.1/cstdint /usr/include/c++/15.2.1/limits \ /usr/include/c++/15.2.1/limits /usr/include/c++/15.2.1/algorithm \
/usr/include/c++/15.2.1/algorithm \
/usr/include/c++/15.2.1/bits/stl_algo.h \ /usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \ /usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \ /usr/include/c++/15.2.1/bits/stl_heap.h \
@@ -183,6 +178,11 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \ /usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \ /usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/typeinfo \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/streambuf \ /usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \ /usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \ /usr/include/c++/15.2.1/bits/streambuf_iterator.h \
@@ -194,8 +194,10 @@ CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o: \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \ /usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \ /usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \ /usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h /usr/include/c++/15.2.1/span \ /usr/include/c++/15.2.1/bits/locale_conv.h \
/usr/include/c++/15.2.1/bits/monostate.h \ /usr/include/c++/15.2.1/optional \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/span /usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \ /usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/unicode.h \ /usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/unicode-data.h /usr/include/c++/15.2.1/bits/unicode-data.h

View File

@@ -1,355 +0,0 @@
CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o: \
/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp \
/usr/include/stdc-predef.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/VulkanVertexBuffer.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/public/Primitives.h \
/usr/include/glm/glm.hpp /usr/include/glm/detail/_fixes.hpp \
/usr/include/c++/15.2.1/cmath \
/usr/include/c++/15.2.1/bits/requires_hosted.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/include/features.h /usr/include/features-time64.h \
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/include/c++/15.2.1/pstl/pstl_config.h \
/usr/include/c++/15.2.1/bits/cpp_type_traits.h \
/usr/include/c++/15.2.1/bits/version.h \
/usr/include/c++/15.2.1/type_traits \
/usr/include/c++/15.2.1/ext/type_traits.h /usr/include/math.h \
/usr/include/bits/libc-header-start.h /usr/include/bits/math-vector.h \
/usr/include/bits/libm-simd-decl-stubs.h /usr/include/bits/floatn.h \
/usr/include/bits/floatn-common.h /usr/include/bits/flt-eval-method.h \
/usr/include/bits/fp-logb.h /usr/include/bits/fp-fast.h \
/usr/include/bits/mathcalls-macros.h \
/usr/include/bits/mathcalls-helper-functions.h \
/usr/include/bits/mathcalls.h /usr/include/bits/mathcalls-narrow.h \
/usr/include/bits/iscanonical.h /usr/include/c++/15.2.1/bits/std_abs.h \
/usr/include/stdlib.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
/usr/include/sys/types.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
/usr/include/bits/types/struct_timeval.h \
/usr/include/bits/types/struct_timespec.h \
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
/usr/include/bits/pthreadtypes-arch.h \
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
/usr/include/c++/15.2.1/bits/specfun.h \
/usr/include/c++/15.2.1/bits/stl_algobase.h \
/usr/include/c++/15.2.1/bits/functexcept.h \
/usr/include/c++/15.2.1/bits/exception_defines.h \
/usr/include/c++/15.2.1/ext/numeric_traits.h \
/usr/include/c++/15.2.1/bits/stl_pair.h \
/usr/include/c++/15.2.1/bits/move.h \
/usr/include/c++/15.2.1/bits/utility.h /usr/include/c++/15.2.1/compare \
/usr/include/c++/15.2.1/concepts \
/usr/include/c++/15.2.1/bits/stl_iterator_base_types.h \
/usr/include/c++/15.2.1/bits/iterator_concepts.h \
/usr/include/c++/15.2.1/bits/ptr_traits.h \
/usr/include/c++/15.2.1/bits/ranges_cmp.h \
/usr/include/c++/15.2.1/bits/stl_iterator_base_funcs.h \
/usr/include/c++/15.2.1/bits/concept_check.h \
/usr/include/c++/15.2.1/debug/assertions.h \
/usr/include/c++/15.2.1/bits/stl_iterator.h /usr/include/c++/15.2.1/new \
/usr/include/c++/15.2.1/bits/exception.h \
/usr/include/c++/15.2.1/bits/stl_construct.h \
/usr/include/c++/15.2.1/debug/debug.h \
/usr/include/c++/15.2.1/bits/predefined_ops.h \
/usr/include/c++/15.2.1/bit /usr/include/c++/15.2.1/limits \
/usr/include/c++/15.2.1/tr1/gamma.tcc \
/usr/include/c++/15.2.1/tr1/special_function_util.h \
/usr/include/c++/15.2.1/tr1/bessel_function.tcc \
/usr/include/c++/15.2.1/tr1/beta_function.tcc \
/usr/include/c++/15.2.1/tr1/ell_integral.tcc \
/usr/include/c++/15.2.1/tr1/exp_integral.tcc \
/usr/include/c++/15.2.1/tr1/hypergeometric.tcc \
/usr/include/c++/15.2.1/tr1/legendre_function.tcc \
/usr/include/c++/15.2.1/tr1/modified_bessel_func.tcc \
/usr/include/c++/15.2.1/tr1/poly_hermite.tcc \
/usr/include/c++/15.2.1/tr1/poly_laguerre.tcc \
/usr/include/c++/15.2.1/tr1/riemann_zeta.tcc \
/usr/include/glm/detail/setup.hpp /usr/include/c++/15.2.1/cassert \
/usr/include/assert.h /usr/include/c++/15.2.1/cstddef \
/usr/include/glm/simd/platform.h /usr/include/c++/15.2.1/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h \
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
/usr/include/c++/15.2.1/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/pthread_stack_min-dynamic.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/usr/include/bits/uio_lim.h /usr/include/c++/15.2.1/cfloat \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/float.h \
/usr/include/glm/fwd.hpp /usr/include/glm/detail/qualifier.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/vec2.hpp \
/usr/include/glm/ext/vector_bool2.hpp \
/usr/include/glm/detail/type_vec2.hpp \
/usr/include/glm/detail/type_vec2.inl \
/usr/include/glm/detail/compute_vector_relational.hpp \
/usr/include/glm/ext/vector_bool2_precision.hpp \
/usr/include/glm/ext/vector_float2.hpp \
/usr/include/glm/ext/vector_float2_precision.hpp \
/usr/include/glm/ext/vector_double2.hpp \
/usr/include/glm/ext/vector_double2_precision.hpp \
/usr/include/glm/ext/vector_int2.hpp \
/usr/include/glm/ext/vector_int2_sized.hpp \
/usr/include/glm/ext/scalar_int_sized.hpp \
/usr/include/glm/detail/setup.hpp /usr/include/glm/ext/vector_uint2.hpp \
/usr/include/glm/ext/vector_uint2_sized.hpp \
/usr/include/glm/ext/scalar_uint_sized.hpp /usr/include/glm/vec3.hpp \
/usr/include/glm/ext/vector_bool3.hpp \
/usr/include/glm/detail/type_vec3.hpp \
/usr/include/glm/detail/type_vec3.inl \
/usr/include/glm/detail/compute_vector_decl.hpp \
/usr/include/c++/15.2.1/functional \
/usr/include/c++/15.2.1/bits/stl_function.h \
/usr/include/c++/15.2.1/backward/binders.h /usr/include/c++/15.2.1/tuple \
/usr/include/c++/15.2.1/bits/uses_allocator.h \
/usr/include/c++/15.2.1/bits/invoke.h \
/usr/include/c++/15.2.1/bits/ranges_util.h \
/usr/include/c++/15.2.1/bits/ranges_base.h \
/usr/include/c++/15.2.1/initializer_list \
/usr/include/c++/15.2.1/bits/max_size_type.h \
/usr/include/c++/15.2.1/numbers \
/usr/include/c++/15.2.1/bits/functional_hash.h \
/usr/include/c++/15.2.1/bits/hash_bytes.h \
/usr/include/c++/15.2.1/bits/refwrap.h \
/usr/include/c++/15.2.1/bits/std_function.h \
/usr/include/c++/15.2.1/typeinfo /usr/include/c++/15.2.1/unordered_map \
/usr/include/c++/15.2.1/bits/unordered_map.h \
/usr/include/c++/15.2.1/bits/hashtable.h \
/usr/include/c++/15.2.1/bits/hashtable_policy.h \
/usr/include/c++/15.2.1/ext/aligned_buffer.h \
/usr/include/c++/15.2.1/ext/alloc_traits.h \
/usr/include/c++/15.2.1/bits/alloc_traits.h \
/usr/include/c++/15.2.1/bits/memoryfwd.h \
/usr/include/c++/15.2.1/bits/allocator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/include/c++/15.2.1/bits/new_allocator.h \
/usr/include/c++/15.2.1/bits/enable_special_members.h \
/usr/include/c++/15.2.1/bits/node_handle.h \
/usr/include/c++/15.2.1/bits/range_access.h \
/usr/include/c++/15.2.1/bits/erase_if.h \
/usr/include/c++/15.2.1/bits/memory_resource.h \
/usr/include/c++/15.2.1/bits/uses_allocator_args.h \
/usr/include/c++/15.2.1/vector \
/usr/include/c++/15.2.1/bits/stl_uninitialized.h \
/usr/include/c++/15.2.1/bits/stl_vector.h \
/usr/include/c++/15.2.1/bits/stl_bvector.h \
/usr/include/c++/15.2.1/bits/vector.tcc /usr/include/c++/15.2.1/array \
/usr/include/glm/detail/_vectorize.hpp \
/usr/include/glm/ext/vector_bool3_precision.hpp \
/usr/include/glm/ext/vector_float3.hpp \
/usr/include/glm/ext/vector_float3_precision.hpp \
/usr/include/glm/ext/vector_double3.hpp \
/usr/include/glm/ext/vector_double3_precision.hpp \
/usr/include/glm/ext/vector_int3.hpp \
/usr/include/glm/ext/vector_int3_sized.hpp \
/usr/include/glm/ext/vector_uint3.hpp \
/usr/include/glm/ext/vector_uint3_sized.hpp /usr/include/glm/vec4.hpp \
/usr/include/glm/ext/vector_bool4.hpp \
/usr/include/glm/detail/type_vec4.hpp \
/usr/include/glm/detail/type_vec4.inl \
/usr/include/glm/ext/vector_bool4_precision.hpp \
/usr/include/glm/ext/vector_float4.hpp \
/usr/include/glm/ext/vector_float4_precision.hpp \
/usr/include/glm/ext/vector_double4.hpp \
/usr/include/glm/ext/vector_double4_precision.hpp \
/usr/include/glm/ext/vector_int4.hpp \
/usr/include/glm/ext/vector_int4_sized.hpp \
/usr/include/glm/ext/vector_uint4.hpp \
/usr/include/glm/ext/vector_uint4_sized.hpp /usr/include/glm/mat2x2.hpp \
/usr/include/glm/ext/matrix_double2x2.hpp \
/usr/include/glm/detail/type_mat2x2.hpp \
/usr/include/glm/detail/type_mat2x2.inl /usr/include/glm/matrix.hpp \
/usr/include/glm/mat2x3.hpp /usr/include/glm/ext/matrix_double2x3.hpp \
/usr/include/glm/detail/type_mat2x3.hpp \
/usr/include/glm/detail/type_mat2x3.inl \
/usr/include/glm/ext/matrix_double2x3_precision.hpp \
/usr/include/glm/ext/matrix_float2x3.hpp \
/usr/include/glm/ext/matrix_float2x3_precision.hpp \
/usr/include/glm/mat2x4.hpp /usr/include/glm/ext/matrix_double2x4.hpp \
/usr/include/glm/detail/type_mat2x4.hpp \
/usr/include/glm/detail/type_mat2x4.inl \
/usr/include/glm/ext/matrix_double2x4_precision.hpp \
/usr/include/glm/ext/matrix_float2x4.hpp \
/usr/include/glm/ext/matrix_float2x4_precision.hpp \
/usr/include/glm/mat3x2.hpp /usr/include/glm/ext/matrix_double3x2.hpp \
/usr/include/glm/detail/type_mat3x2.hpp \
/usr/include/glm/detail/type_mat3x2.inl \
/usr/include/glm/ext/matrix_double3x2_precision.hpp \
/usr/include/glm/ext/matrix_float3x2.hpp \
/usr/include/glm/ext/matrix_float3x2_precision.hpp \
/usr/include/glm/mat3x3.hpp /usr/include/glm/ext/matrix_double3x3.hpp \
/usr/include/glm/detail/type_mat3x3.hpp \
/usr/include/glm/detail/type_mat3x3.inl /usr/include/glm/common.hpp \
/usr/include/glm/detail/func_common.inl \
/usr/include/glm/vector_relational.hpp \
/usr/include/glm/detail/func_vector_relational.inl \
/usr/include/glm/detail/compute_common.hpp \
/usr/include/glm/detail/type_vec1.hpp \
/usr/include/glm/detail/type_vec1.inl \
/usr/include/glm/ext/matrix_double3x3_precision.hpp \
/usr/include/glm/ext/matrix_float3x3.hpp \
/usr/include/glm/ext/matrix_float3x3_precision.hpp \
/usr/include/glm/mat3x4.hpp /usr/include/glm/ext/matrix_double3x4.hpp \
/usr/include/glm/detail/type_mat3x4.hpp \
/usr/include/glm/detail/type_mat3x4.inl \
/usr/include/glm/ext/matrix_double3x4_precision.hpp \
/usr/include/glm/ext/matrix_float3x4.hpp \
/usr/include/glm/ext/matrix_float3x4_precision.hpp \
/usr/include/glm/mat4x2.hpp /usr/include/glm/ext/matrix_double4x2.hpp \
/usr/include/glm/detail/type_mat4x2.hpp \
/usr/include/glm/detail/type_mat4x2.inl \
/usr/include/glm/ext/matrix_double4x2_precision.hpp \
/usr/include/glm/ext/matrix_float4x2.hpp \
/usr/include/glm/ext/matrix_float4x2_precision.hpp \
/usr/include/glm/mat4x3.hpp /usr/include/glm/ext/matrix_double4x3.hpp \
/usr/include/glm/detail/type_mat4x3.hpp \
/usr/include/glm/detail/type_mat4x3.inl \
/usr/include/glm/ext/matrix_double4x3_precision.hpp \
/usr/include/glm/ext/matrix_float4x3.hpp \
/usr/include/glm/ext/matrix_float4x3_precision.hpp \
/usr/include/glm/mat4x4.hpp /usr/include/glm/ext/matrix_double4x4.hpp \
/usr/include/glm/detail/type_mat4x4.hpp \
/usr/include/glm/detail/type_mat4x4.inl /usr/include/glm/geometric.hpp \
/usr/include/glm/detail/func_geometric.inl \
/usr/include/glm/exponential.hpp \
/usr/include/glm/detail/func_exponential.inl \
/usr/include/glm/ext/matrix_double4x4_precision.hpp \
/usr/include/glm/ext/matrix_float4x4.hpp \
/usr/include/glm/ext/matrix_float4x4_precision.hpp \
/usr/include/glm/detail/func_matrix.inl \
/usr/include/glm/ext/matrix_double2x2_precision.hpp \
/usr/include/glm/ext/matrix_float2x2.hpp \
/usr/include/glm/ext/matrix_float2x2_precision.hpp \
/usr/include/glm/trigonometric.hpp \
/usr/include/glm/detail/func_trigonometric.inl \
/usr/include/glm/packing.hpp /usr/include/glm/detail/func_packing.inl \
/usr/include/glm/detail/type_half.hpp \
/usr/include/glm/detail/type_half.inl /usr/include/glm/integer.hpp \
/usr/include/glm/detail/func_integer.inl \
/usr/include/vulkan/vulkan_core.h /usr/include/vulkan/vk_platform.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codecs_common.h \
/usr/include/vk_video/vulkan_video_codec_h264std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h264std.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h265std_encode.h \
/usr/include/vk_video/vulkan_video_codec_h265std.h \
/usr/include/vk_video/vulkan_video_codec_h264std_decode.h \
/usr/include/vk_video/vulkan_video_codec_h265std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_decode.h \
/usr/include/vk_video/vulkan_video_codec_av1std.h \
/usr/include/vk_video/vulkan_video_codec_av1std_encode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \
/usr/include/vk_video/vulkan_video_codec_vp9std.h \
/usr/include/GLFW/glfw3.h /usr/include/vulkan/vulkan.h \
/usr/include/vulkan/vulkan_core.h /usr/include/GL/gl.h \
/usr/include/GL/glext.h /usr/include/KHR/khrplatform.h \
/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.h \
/usr/include/c++/15.2.1/string /usr/include/c++/15.2.1/bits/stringfwd.h \
/usr/include/c++/15.2.1/bits/char_traits.h \
/usr/include/c++/15.2.1/bits/postypes.h /usr/include/c++/15.2.1/cwchar \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \
/usr/include/bits/types/wint_t.h /usr/include/bits/types/mbstate_t.h \
/usr/include/bits/types/__mbstate_t.h /usr/include/bits/types/__FILE.h \
/usr/include/bits/types/FILE.h /usr/include/c++/15.2.1/bits/localefwd.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/include/c++/15.2.1/clocale /usr/include/locale.h \
/usr/include/bits/locale.h /usr/include/c++/15.2.1/iosfwd \
/usr/include/c++/15.2.1/cctype /usr/include/ctype.h \
/usr/include/c++/15.2.1/bits/ostream_insert.h \
/usr/include/c++/15.2.1/bits/cxxabi_forced.h \
/usr/include/c++/15.2.1/bits/basic_string.h \
/usr/include/c++/15.2.1/string_view \
/usr/include/c++/15.2.1/bits/string_view.tcc \
/usr/include/c++/15.2.1/ext/string_conversions.h \
/usr/include/c++/15.2.1/cstdlib /usr/include/c++/15.2.1/cstdio \
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
/usr/include/bits/types/__fpos64_t.h \
/usr/include/bits/types/struct_FILE.h \
/usr/include/bits/types/cookie_io_functions_t.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
/usr/include/c++/15.2.1/cerrno /usr/include/errno.h \
/usr/include/bits/errno.h /usr/include/linux/errno.h \
/usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
/usr/include/asm-generic/errno-base.h /usr/include/bits/types/error_t.h \
/usr/include/c++/15.2.1/bits/charconv.h \
/usr/include/c++/15.2.1/bits/basic_string.tcc \
/usr/include/c++/15.2.1/source_location /usr/include/c++/15.2.1/format \
/usr/include/c++/15.2.1/charconv \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/include/c++/15.2.1/locale \
/usr/include/c++/15.2.1/bits/locale_classes.h \
/usr/include/c++/15.2.1/ext/atomicity.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
/usr/include/linux/sched/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
/usr/include/bits/types/struct_sched_param.h /usr/include/bits/cpu-set.h \
/usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \
/usr/include/bits/types/struct_tm.h \
/usr/include/bits/types/struct_itimerspec.h /usr/include/bits/setjmp.h \
/usr/include/bits/types/struct___jmp_buf_tag.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/include/sys/single_threaded.h \
/usr/include/c++/15.2.1/bits/locale_classes.tcc \
/usr/include/c++/15.2.1/bits/locale_facets.h \
/usr/include/c++/15.2.1/cwctype /usr/include/wctype.h \
/usr/include/bits/wctype-wchar.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/include/c++/15.2.1/bits/ios_base.h \
/usr/include/c++/15.2.1/system_error /usr/include/c++/15.2.1/stdexcept \
/usr/include/c++/15.2.1/exception \
/usr/include/c++/15.2.1/bits/exception_ptr.h \
/usr/include/c++/15.2.1/bits/cxxabi_init_exception.h \
/usr/include/c++/15.2.1/bits/nested_exception.h \
/usr/include/c++/15.2.1/streambuf \
/usr/include/c++/15.2.1/bits/streambuf.tcc \
/usr/include/c++/15.2.1/bits/streambuf_iterator.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/include/c++/15.2.1/bits/locale_facets.tcc \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.h \
/usr/include/c++/15.2.1/ctime \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/include/c++/15.2.1/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/include/libintl.h /usr/include/c++/15.2.1/bits/codecvt.h \
/usr/include/c++/15.2.1/bits/locale_facets_nonio.tcc \
/usr/include/c++/15.2.1/bits/locale_conv.h \
/usr/include/c++/15.2.1/optional /usr/include/c++/15.2.1/span \
/usr/include/c++/15.2.1/bits/monostate.h \
/usr/include/c++/15.2.1/bits/formatfwd.h \
/usr/include/c++/15.2.1/bits/ranges_algobase.h \
/usr/include/c++/15.2.1/bits/unicode.h \
/usr/include/c++/15.2.1/bits/stl_algo.h \
/usr/include/c++/15.2.1/bits/algorithmfwd.h \
/usr/include/c++/15.2.1/bits/stl_heap.h \
/usr/include/c++/15.2.1/bits/uniform_int_dist.h \
/usr/include/c++/15.2.1/bits/stl_tempbuf.h \
/usr/include/c++/15.2.1/bits/unicode-data.h \
/usr/include/c++/15.2.1/cstring /usr/include/string.h \
/usr/include/strings.h

Binary file not shown.

View File

@@ -345,29 +345,29 @@ src/private/GlfwWindowManager.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.s
.PHONY : src/private/GlfwWindowManager.cpp.s .PHONY : src/private/GlfwWindowManager.cpp.s
src/private/VulkanCommandBuffers.o: src/private/VulkanCommandBuffers.cpp.o src/private/VulkanBuffers.o: src/private/VulkanBuffers.cpp.o
.PHONY : src/private/VulkanCommandBuffers.o .PHONY : src/private/VulkanBuffers.o
# target to build an object file # target to build an object file
src/private/VulkanCommandBuffers.cpp.o: src/private/VulkanBuffers.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o
.PHONY : src/private/VulkanCommandBuffers.cpp.o .PHONY : src/private/VulkanBuffers.cpp.o
src/private/VulkanCommandBuffers.i: src/private/VulkanCommandBuffers.cpp.i src/private/VulkanBuffers.i: src/private/VulkanBuffers.cpp.i
.PHONY : src/private/VulkanCommandBuffers.i .PHONY : src/private/VulkanBuffers.i
# target to preprocess a source file # target to preprocess a source file
src/private/VulkanCommandBuffers.cpp.i: src/private/VulkanBuffers.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.i
.PHONY : src/private/VulkanCommandBuffers.cpp.i .PHONY : src/private/VulkanBuffers.cpp.i
src/private/VulkanCommandBuffers.s: src/private/VulkanCommandBuffers.cpp.s src/private/VulkanBuffers.s: src/private/VulkanBuffers.cpp.s
.PHONY : src/private/VulkanCommandBuffers.s .PHONY : src/private/VulkanBuffers.s
# target to generate assembly for a file # target to generate assembly for a file
src/private/VulkanCommandBuffers.cpp.s: src/private/VulkanBuffers.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.s
.PHONY : src/private/VulkanCommandBuffers.cpp.s .PHONY : src/private/VulkanBuffers.cpp.s
src/private/VulkanContext.o: src/private/VulkanContext.cpp.o src/private/VulkanContext.o: src/private/VulkanContext.cpp.o
.PHONY : src/private/VulkanContext.o .PHONY : src/private/VulkanContext.o
@@ -561,29 +561,29 @@ src/private/VulkanSwapChain.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.s
.PHONY : src/private/VulkanSwapChain.cpp.s .PHONY : src/private/VulkanSwapChain.cpp.s
src/private/VulkanVertexBuffer.o: src/private/VulkanVertexBuffer.cpp.o src/private/VulkanTexture.o: src/private/VulkanTexture.cpp.o
.PHONY : src/private/VulkanVertexBuffer.o .PHONY : src/private/VulkanTexture.o
# target to build an object file # target to build an object file
src/private/VulkanVertexBuffer.cpp.o: src/private/VulkanTexture.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o
.PHONY : src/private/VulkanVertexBuffer.cpp.o .PHONY : src/private/VulkanTexture.cpp.o
src/private/VulkanVertexBuffer.i: src/private/VulkanVertexBuffer.cpp.i src/private/VulkanTexture.i: src/private/VulkanTexture.cpp.i
.PHONY : src/private/VulkanVertexBuffer.i .PHONY : src/private/VulkanTexture.i
# target to preprocess a source file # target to preprocess a source file
src/private/VulkanVertexBuffer.cpp.i: src/private/VulkanTexture.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.i
.PHONY : src/private/VulkanVertexBuffer.cpp.i .PHONY : src/private/VulkanTexture.cpp.i
src/private/VulkanVertexBuffer.s: src/private/VulkanVertexBuffer.cpp.s src/private/VulkanTexture.s: src/private/VulkanTexture.cpp.s
.PHONY : src/private/VulkanVertexBuffer.s .PHONY : src/private/VulkanTexture.s
# target to generate assembly for a file # target to generate assembly for a file
src/private/VulkanVertexBuffer.cpp.s: src/private/VulkanTexture.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/LearningVulkan.dir/build.make CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.s
.PHONY : src/private/VulkanVertexBuffer.cpp.s .PHONY : src/private/VulkanTexture.cpp.s
src/utilities/Logger.o: src/utilities/Logger.cpp.o src/utilities/Logger.o: src/utilities/Logger.cpp.o
.PHONY : src/utilities/Logger.o .PHONY : src/utilities/Logger.o
@@ -669,9 +669,9 @@ help:
@echo "... src/private/GlfwWindowManager.o" @echo "... src/private/GlfwWindowManager.o"
@echo "... src/private/GlfwWindowManager.i" @echo "... src/private/GlfwWindowManager.i"
@echo "... src/private/GlfwWindowManager.s" @echo "... src/private/GlfwWindowManager.s"
@echo "... src/private/VulkanCommandBuffers.o" @echo "... src/private/VulkanBuffers.o"
@echo "... src/private/VulkanCommandBuffers.i" @echo "... src/private/VulkanBuffers.i"
@echo "... src/private/VulkanCommandBuffers.s" @echo "... src/private/VulkanBuffers.s"
@echo "... src/private/VulkanContext.o" @echo "... src/private/VulkanContext.o"
@echo "... src/private/VulkanContext.i" @echo "... src/private/VulkanContext.i"
@echo "... src/private/VulkanContext.s" @echo "... src/private/VulkanContext.s"
@@ -696,9 +696,9 @@ help:
@echo "... src/private/VulkanSwapChain.o" @echo "... src/private/VulkanSwapChain.o"
@echo "... src/private/VulkanSwapChain.i" @echo "... src/private/VulkanSwapChain.i"
@echo "... src/private/VulkanSwapChain.s" @echo "... src/private/VulkanSwapChain.s"
@echo "... src/private/VulkanVertexBuffer.o" @echo "... src/private/VulkanTexture.o"
@echo "... src/private/VulkanVertexBuffer.i" @echo "... src/private/VulkanTexture.i"
@echo "... src/private/VulkanVertexBuffer.s" @echo "... src/private/VulkanTexture.s"
@echo "... src/utilities/Logger.o" @echo "... src/utilities/Logger.o"
@echo "... src/utilities/Logger.i" @echo "... src/utilities/Logger.i"
@echo "... src/utilities/Logger.s" @echo "... src/utilities/Logger.s"

View File

@@ -1,127 +1,127 @@
[ [
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/main.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/main.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/main.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/main.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/main.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/GlfwWindowManager.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/GlfwWindowManager.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanCommandBuffers.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanBuffers.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanCommandBuffers.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanBuffers.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanContext.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanContext.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDebugManager.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanDebugManager.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanDeviceManager.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanDeviceManager.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanFramebuffers.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanFramebuffers.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanFramebuffers.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanFramebuffers.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanFramebuffers.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanInstanceManager.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanInstanceManager.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanPipeline.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanPipeline.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanRenderPass.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanRenderPass.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanSwapChain.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanSwapChain.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanVertexBuffer.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/private/VulkanTexture.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanVertexBuffer.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/private/VulkanTexture.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/Logger.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/utilities/Logger.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/src/utilities/stb_image_impl.cpp",
"output": "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/src/utilities/stb_image_impl.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_demo.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_demo.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_demo.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_demo.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_demo.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_draw.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_draw.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_draw.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_draw.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_draw.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_tables.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_tables.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_tables.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_tables.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_tables.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/imgui_widgets.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/imgui_widgets.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_glfw.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_glfw.cpp.o"
}, },
{ {
"directory": "/home/Jordan/Projects/CPP/LearningVulkan/build", "directory": "/home/Jordan/Projects/CPP/LearningVulkan/build",
"command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.cpp", "command": "/usr/bin/c++ -I/home/Jordan/Projects/CPP/LearningVulkan/lib -I/home/Jordan/Projects/CPP/LearningVulkan/lib/stb -I/home/Jordan/Projects/CPP/LearningVulkan/lib/tinyobjloader -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui -I/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends -I/home/Jordan/Projects/CPP/LearningVulkan/src -I/home/Jordan/Projects/CPP/LearningVulkan/src/utilities -I/home/Jordan/Projects/CPP/LearningVulkan/src/private -I/home/Jordan/Projects/CPP/LearningVulkan/src/public -std=c++20 -Wall -Wextra -O2 -o CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o -c /home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.cpp",
"file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.cpp", "file": "/home/Jordan/Projects/CPP/LearningVulkan/lib/imgui/backends/imgui_impl_vulkan.cpp",
"output": "CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o" "output": "CMakeFiles/LearningVulkan.dir/lib/imgui/backends/imgui_impl_vulkan.cpp.o"
} }

File diff suppressed because it is too large Load Diff

View File

@@ -2,13 +2,15 @@
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
#include <cstdint> #include <cstdint>
#include <vulkan/vulkan_core.h> #include <vulkan/vulkan_core.h>
#include "VulkanDeviceManager.h"
#include "imgui.h" #include "imgui.h"
#include "imgui_impl_glfw.h" #include "imgui_impl_glfw.h"
#include "imgui_impl_vulkan.h" #include "imgui_impl_vulkan.h"
#include "utilities/Logger.h" #include "utilities/Logger.h"
#include "GlfwWindowManager.h" #include "GlfwWindowManager.h"
#include "VulkanContext.h" #include "VulkanContext.hpp"
#include "Primitives.h"
struct AppConfig struct AppConfig
{ {
@@ -28,15 +30,18 @@ struct AppConfig
// }; // };
const std::vector<Vertex> SquareVertices = { const std::vector<Vertex> SquareVertices = {
{ { -0.5f, -0.5f }, { 1.0f, 0.0f, 0.0f } }, { { -0.5f, -0.5f, 0.0f }, { 1.0f, 0.0f, 0.0f }, { 1.0f, 0.0f } },
{ { 0.5f, -0.5f }, { 0.0f, 1.0f, 0.0f } }, { { 0.5f, -0.5f, 0.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f } },
{ { 0.5f, 0.5f }, { 0.0f, 0.0f, 1.0f } }, { { 0.5f, 0.5f, 0.0f }, { 0.0f, 0.0f, 1.0f }, { 0.0f, 1.0f } },
{ { -0.5f, 0.5f }, { 1.0f, 1.0f, 1.0f } } { { -0.5f, 0.5f, 0.0f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f } },
{ { -0.5f, -0.5f, -0.5f }, { 1.0f, 0.0f, 0.0f }, { 1.0f, 0.0f } },
{ { 0.5f, -0.5f, -0.5f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f } },
{ { 0.5f, 0.5f, -0.5f }, { 0.0f, 0.0f, 1.0f }, { 0.0f, 1.0f } },
{ { -0.5f, 0.5f, -0.5f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f } }
}; };
const std::vector<uint16_t> SquareIndices = { const std::vector<uint16_t> SquareIndices = { 0, 1, 2, 2, 3, 0, 4, 5, 6, 6, 7, 4 };
0, 1, 2, 2, 3, 0
};
class HelloTriangleApplication class HelloTriangleApplication
{ {
@@ -105,13 +110,11 @@ private:
void InitGlfw() void InitGlfw()
{ {
FWindowConfig Config = { FWindowConfig Config = { Settings.Title,
Settings.Title,
Settings.Width, Settings.Width,
Settings.Height, Settings.Height,
Settings.bResizable, Settings.bResizable,
Settings.bFullscreen Settings.bFullscreen };
};
WindowManager.Initialize(Config); WindowManager.Initialize(Config);
glfwSetWindowUserPointer(WindowManager.GetWindow(), this); glfwSetWindowUserPointer(WindowManager.GetWindow(), this);
@@ -129,7 +132,7 @@ private:
void MainLoop() void MainLoop()
{ {
VkPhysicalDeviceProperties Properties{}; VkPhysicalDeviceProperties Properties{};
vkGetPhysicalDeviceProperties(VkContext.DeviceManager.GetPhysicalDevice(), &Properties); vkGetPhysicalDeviceProperties(VkContext.DeviceManager->GetPhysicalDevice(), &Properties);
while (!WindowManager.ShouldClose()) while (!WindowManager.ShouldClose())
{ {

View File

@@ -0,0 +1,479 @@
#include "VulkanBuffers.h"
#include "imgui.h"
#include "imgui_impl_vulkan.h"
#include "utilities/Logger.h"
#include <cstddef>
#include <vulkan/vulkan_core.h>
void VulkanBuffers::Initialize(FBufferConfig InConfig)
// VkDevice InDevice,
// VkRenderPass InRenderPass)
{
Config = InConfig;
}
void VulkanBuffers::Cleanup(size_t MAX_FRAMES_IN_FLIGHT)
{
vkDestroyCommandPool(Config.Device, CommandPool, nullptr);
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{
vkDestroyBuffer(Config.Device, UniformBuffers[i], nullptr);
vkFreeMemory(Config.Device, UniformBuffersMemory[i], nullptr);
}
vkDestroyBuffer(Config.Device, IndexBuffer, nullptr);
vkFreeMemory(Config.Device, IndexBufferMemory, nullptr);
vkDestroyBuffer(Config.Device, VertexBuffer, nullptr);
vkFreeMemory(Config.Device, VertexBufferMemory, nullptr);
}
void VulkanBuffers::CreateCommandPool(std::optional<uint32_t> GraphicsFamily)
{
VkCommandPoolCreateInfo PoolInfo{};
PoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
PoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
PoolInfo.queueFamilyIndex = GraphicsFamily.value();
if (vkCreateCommandPool(Config.Device, &PoolInfo, nullptr, &CommandPool) != VK_SUCCESS)
{
Log::Error("Failed to create command pool!");
}
else
{
Log::Info("Successfully created command pool");
}
}
void VulkanBuffers::CreateCommandBuffers(int FramesInFlight)
{
CommandBuffers.resize(FramesInFlight);
VkCommandBufferAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
AllocateInfo.commandPool = CommandPool;
AllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
AllocateInfo.commandBufferCount = (uint32_t)CommandBuffers.size();
if (vkAllocateCommandBuffers(Config.Device, &AllocateInfo, CommandBuffers.data()) != VK_SUCCESS)
{
Log::Error("Failed to allocate command buffers!");
}
else
{
Log::Info("Successfully allocated command buffers.");
}
}
void VulkanBuffers::RecordCommandBuffer(FRecordBuffersParams& Params)
{
VkCommandBufferBeginInfo BeginInfo{};
BeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
BeginInfo.flags = 0;
BeginInfo.pInheritanceInfo = nullptr;
if (vkBeginCommandBuffer(Params.InCommandBuffer, &BeginInfo) != VK_SUCCESS)
{
Log::Error("Failed to begin recording command buffer!");
}
else
{
// Log::Info("Successfully began recording command buffers.");
}
VkRenderPassBeginInfo RenderPassInfo{};
RenderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
RenderPassInfo.renderPass = Config.RenderPass;
RenderPassInfo.framebuffer = Params.SwapChainFramebuffers[Params.ImageIndex];
RenderPassInfo.renderArea.offset = { 0, 0 };
RenderPassInfo.renderArea.extent = { Params.SwapChainExtent };
std::array<VkClearValue, 2> ClearValues{};
ClearValues[0].color = { { 0.0f, 0.0f, 0.0f, 1.0f } };
ClearValues[1].depthStencil = { 1.0f, 0 };
RenderPassInfo.clearValueCount = static_cast<uint32_t>(ClearValues.size());
RenderPassInfo.pClearValues = ClearValues.data();
vkCmdBeginRenderPass(Params.InCommandBuffer, &RenderPassInfo, VK_SUBPASS_CONTENTS_INLINE);
vkCmdBindPipeline(
Params.InCommandBuffer,
VK_PIPELINE_BIND_POINT_GRAPHICS,
Params.GraphicsPipeline
);
VkViewport Viewport{};
Viewport.x = 0.0f;
Viewport.y = 0.0f;
Viewport.width = static_cast<float>(Params.SwapChainExtent.width);
Viewport.height = static_cast<float>(Params.SwapChainExtent.height);
Viewport.minDepth = 0.0f;
Viewport.maxDepth = 1.0f;
vkCmdSetViewport(Params.InCommandBuffer, 0, 1, &Viewport);
VkRect2D Scissor{};
Scissor.offset = { 0, 0 };
Scissor.extent = Params.SwapChainExtent;
vkCmdSetScissor(Params.InCommandBuffer, 0, 1, &Scissor);
VkBuffer VertexBuffers[] = { Params.InVertexBuffer };
VkDeviceSize Offsets[] = { 0 };
vkCmdBindVertexBuffers(Params.InCommandBuffer, 0, 1, VertexBuffers, Offsets);
vkCmdBindIndexBuffer(Params.InCommandBuffer, Params.InIndexBuffer, 0, VK_INDEX_TYPE_UINT16);
vkCmdBindDescriptorSets(
Params.InCommandBuffer,
VK_PIPELINE_BIND_POINT_GRAPHICS,
Params.PipelineLayout,
0,
1,
&Params.DescriptorSet,
0,
nullptr
);
// vkCmdDraw(Params.InCommandBuffer, static_cast<uint32_t>(Params.InVerticesSize), 1, 0, 0);
vkCmdDrawIndexed(Params.InCommandBuffer, static_cast<uint32_t>(Params.InIndexSize), 1, 0, 0, 0);
if (Params.bDrawImGui)
{
ImGui::Render();
ImGui_ImplVulkan_RenderDrawData(ImGui::GetDrawData(), Params.InCommandBuffer);
}
vkCmdEndRenderPass(Params.InCommandBuffer);
if (vkEndCommandBuffer(Params.InCommandBuffer) != VK_SUCCESS)
{
Log::Error("Failed to record command buffer!");
}
else
{
// Log::Info("Successfully recorded command buffer.");
}
}
VkCommandBuffer VulkanBuffers::BeginSingleTimeCommands()
{
VkCommandBufferAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
AllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
AllocateInfo.commandPool = CommandPool;
AllocateInfo.commandBufferCount = 1;
VkCommandBuffer CommandBuffer;
vkAllocateCommandBuffers(Config.Device, &AllocateInfo, &CommandBuffer);
VkCommandBufferBeginInfo BeginInfo{};
BeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
BeginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
vkBeginCommandBuffer(CommandBuffer, &BeginInfo);
return CommandBuffer;
}
void VulkanBuffers::EndSingleTimeCommands(VkCommandBuffer InCommandBuffer, VkQueue GraphicsQueue)
{
vkEndCommandBuffer(InCommandBuffer);
VkSubmitInfo SubmitInfo{};
SubmitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
SubmitInfo.commandBufferCount = 1;
SubmitInfo.pCommandBuffers = &InCommandBuffer;
vkQueueSubmit(GraphicsQueue, 1, &SubmitInfo, VK_NULL_HANDLE);
vkQueueWaitIdle(GraphicsQueue);
vkFreeCommandBuffers(Config.Device, CommandPool, 1, &InCommandBuffer);
}
void VulkanBuffers::TransitionImageLayout(
VkImage Image,
VkFormat Format,
VkImageLayout OldLayout,
VkImageLayout NewLayout,
bool bHasStencilComponent
)
{
VkCommandBuffer CommandBuffer = BeginSingleTimeCommands();
VkImageMemoryBarrier Barrier{};
Barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
Barrier.oldLayout = OldLayout;
Barrier.newLayout = NewLayout;
Barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
Barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
Barrier.image = Image;
Barrier.subresourceRange.baseMipLevel = 0;
Barrier.subresourceRange.levelCount = 1;
Barrier.subresourceRange.baseArrayLayer = 0;
Barrier.subresourceRange.layerCount = 1;
Barrier.srcAccessMask = 0;
Barrier.dstAccessMask = 0;
VkPipelineStageFlags SourceStage;
VkPipelineStageFlags DestinationStage;
if (NewLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL)
{
Barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT;
if (bHasStencilComponent)
{
Barrier.subresourceRange.aspectMask |= VK_IMAGE_ASPECT_STENCIL_BIT;
}
}
else
{
Barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
}
if (OldLayout == VK_IMAGE_LAYOUT_UNDEFINED && NewLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL)
{
Barrier.srcAccessMask = 0;
Barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
SourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
DestinationStage = VK_PIPELINE_STAGE_TRANSFER_BIT;
}
else if (OldLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
&& NewLayout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
{
Barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT;
Barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT;
SourceStage = VK_PIPELINE_STAGE_TRANSFER_BIT;
DestinationStage = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
}
else if (OldLayout == VK_IMAGE_LAYOUT_UNDEFINED
&& NewLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL)
{
Barrier.srcAccessMask = 0;
Barrier.dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
SourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
DestinationStage = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
}
else
{
Log::Error("Unsupported layout transition!");
}
vkCmdPipelineBarrier(
CommandBuffer,
SourceStage,
DestinationStage,
0,
0,
nullptr,
0,
nullptr,
1,
&Barrier
);
EndSingleTimeCommands(CommandBuffer, Config.GraphicsQueue);
}
void VulkanBuffers::CopyBufferToImage(
VkBuffer Buffer,
VkImage Image,
uint32_t Width,
uint32_t Height
)
{
VkCommandBuffer CommandBuffer = BeginSingleTimeCommands();
VkBufferImageCopy Region{};
Region.bufferOffset = 0;
Region.bufferRowLength = 0;
Region.bufferImageHeight = 0;
Region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
Region.imageSubresource.mipLevel = 0;
Region.imageSubresource.baseArrayLayer = 0;
Region.imageSubresource.layerCount = 1;
Region.imageOffset = { 0, 0, 0 };
Region.imageExtent = { Width, Height, 1 };
vkCmdCopyBufferToImage(
CommandBuffer,
Buffer,
Image,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
1,
&Region
);
EndSingleTimeCommands(CommandBuffer, Config.GraphicsQueue);
}
void VulkanBuffers::CopyBuffer(
VkQueue GraphicsQueue,
VkBuffer SrcBuffer,
VkBuffer DstBuffer,
VkDeviceSize Size
)
{
VkCommandBuffer CommandBuffer = BeginSingleTimeCommands();
VkBufferCopy CopyRegion{};
CopyRegion.size = Size;
vkCmdCopyBuffer(CommandBuffer, SrcBuffer, DstBuffer, 1, &CopyRegion);
EndSingleTimeCommands(CommandBuffer, GraphicsQueue);
}
void VulkanBuffers::CreateBuffer(
VkDeviceSize Size,
VkBufferUsageFlags Usage,
VkMemoryPropertyFlags Properties,
VkBuffer& Buffer,
VkDeviceMemory& BufferMemory
)
{
VkBufferCreateInfo BufferInfo{};
BufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
BufferInfo.size = Size;
BufferInfo.usage = Usage;
BufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
if (vkCreateBuffer(Config.Device, &BufferInfo, nullptr, &Buffer) != VK_SUCCESS)
{
throw std::runtime_error("failed to create buffer!");
}
VkMemoryRequirements MemRequirements;
vkGetBufferMemoryRequirements(Config.Device, Buffer, &MemRequirements);
VkMemoryAllocateInfo allocInfo{};
allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
allocInfo.allocationSize = MemRequirements.size;
allocInfo.memoryTypeIndex = FindMemoryType(MemRequirements.memoryTypeBits, Properties);
if (vkAllocateMemory(Config.Device, &allocInfo, nullptr, &BufferMemory) != VK_SUCCESS)
{
throw std::runtime_error("failed to allocate buffer memory!");
}
vkBindBufferMemory(Config.Device, Buffer, BufferMemory, 0);
}
void VulkanBuffers::CreateVertexBuffer(const std::vector<Vertex>& InVertices)
{
VkDeviceSize BufferSize = sizeof(InVertices[0]) * InVertices.size();
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
CreateBuffer(
BufferSize,
VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
StagingBuffer,
StagingBufferMemory
);
Log::Info("Starting buffer copy...");
void* Data;
vkMapMemory(Config.Device, StagingBufferMemory, 0, BufferSize, 0, &Data);
memcpy(Data, InVertices.data(), (size_t)BufferSize);
vkUnmapMemory(Config.Device, StagingBufferMemory);
Log::Info("Finished buffer copy...");
CreateBuffer(
BufferSize,
VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
VertexBuffer,
VertexBufferMemory
);
CopyBuffer(Config.GraphicsQueue, StagingBuffer, VertexBuffer, BufferSize);
vkDestroyBuffer(Config.Device, StagingBuffer, nullptr);
vkFreeMemory(Config.Device, StagingBufferMemory, nullptr);
}
void VulkanBuffers::CreateIndexBuffer(const std::vector<uint16_t>& InIndices)
{
VkDeviceSize BufferSize = sizeof(InIndices[0]) * InIndices.size();
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
CreateBuffer(
BufferSize,
VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
StagingBuffer,
StagingBufferMemory
);
Log::Info("Starting buffer copy...");
void* Data;
vkMapMemory(Config.Device, StagingBufferMemory, 0, BufferSize, 0, &Data);
memcpy(Data, InIndices.data(), (size_t)BufferSize);
vkUnmapMemory(Config.Device, StagingBufferMemory);
Log::Info("Finished buffer copy...");
CreateBuffer(
BufferSize,
VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
IndexBuffer,
IndexBufferMemory
);
CopyBuffer(Config.GraphicsQueue, StagingBuffer, IndexBuffer, BufferSize);
vkDestroyBuffer(Config.Device, StagingBuffer, nullptr);
vkFreeMemory(Config.Device, StagingBufferMemory, nullptr);
}
void VulkanBuffers::CreateUniformBuffers(const uint32_t MAX_FRAMES_IN_FLIGHT)
{
VkDeviceSize BufferSize = sizeof(UniformBufferObject);
UniformBuffers.resize(MAX_FRAMES_IN_FLIGHT);
UniformBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT);
UniformBuffersMapped.resize(MAX_FRAMES_IN_FLIGHT);
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{
CreateBuffer(
BufferSize,
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
UniformBuffers[i],
UniformBuffersMemory[i]
);
vkMapMemory(
Config.Device,
UniformBuffersMemory[i],
0,
BufferSize,
0,
&UniformBuffersMapped[i]
);
}
}
uint32_t VulkanBuffers::FindMemoryType(uint32_t TypeFilter, VkMemoryPropertyFlags Properties)
{
VkPhysicalDeviceMemoryProperties MemoryProperties;
vkGetPhysicalDeviceMemoryProperties(Config.PhysicalDevice, &MemoryProperties);
for (uint32_t i = 0; i < MemoryProperties.memoryTypeCount; i++)
{
if ((TypeFilter & (1 << i))
&& (MemoryProperties.memoryTypes[i].propertyFlags & Properties) == Properties)
{
return i;
}
}
Log::Error("Failed to find suitable memory type!");
return 0;
}

View File

@@ -1,129 +0,0 @@
#include "VulkanCommandBuffers.h"
#include "imgui.h"
#include "imgui_impl_vulkan.h"
#include "utilities/Logger.h"
#include <cstdint>
#include <vulkan/vulkan_core.h>
void VulkanCommandBuffers::Initialize(
VkDevice InDevice,
VkRenderPass InRenderPass)
{
Device = InDevice;
RenderPass = InRenderPass;
}
void VulkanCommandBuffers::Cleanup()
{
vkDestroyCommandPool(Device, CommandPool, nullptr);
}
void VulkanCommandBuffers::CreateCommandPool(std::optional<uint32_t> GraphicsFamily)
{
VkCommandPoolCreateInfo PoolInfo{};
PoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
PoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
PoolInfo.queueFamilyIndex = GraphicsFamily.value();
if (vkCreateCommandPool(Device, &PoolInfo, nullptr, &CommandPool) != VK_SUCCESS)
{
Log::Error("Failed to create command pool!");
}
else
{
Log::Info("Successfully created command pool");
}
}
void VulkanCommandBuffers::CreateCommandBuffers(int FramesInFlight)
{
CommandBuffers.resize(FramesInFlight);
VkCommandBufferAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
AllocateInfo.commandPool = CommandPool;
AllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
AllocateInfo.commandBufferCount = (uint32_t)CommandBuffers.size();
if (vkAllocateCommandBuffers(Device, &AllocateInfo, CommandBuffers.data()) != VK_SUCCESS)
{
Log::Error("Failed to allocate command buffers!");
}
else
{
Log::Info("Successfully allocated command buffers.");
}
}
void VulkanCommandBuffers::RecordCommandBuffer(FRecordCommandBuffersParams& Params)
{
VkCommandBufferBeginInfo BeginInfo{};
BeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
BeginInfo.flags = 0;
BeginInfo.pInheritanceInfo = nullptr;
if (vkBeginCommandBuffer(Params.InCommandBuffer, &BeginInfo) != VK_SUCCESS)
{
Log::Error("Failed to begin recording command buffer!");
}
else
{
// Log::Info("Successfully began recording command buffers.");
}
VkRenderPassBeginInfo RenderPassInfo{};
RenderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
RenderPassInfo.renderPass = RenderPass;
RenderPassInfo.framebuffer = Params.SwapChainFramebuffers[Params.ImageIndex];
RenderPassInfo.renderArea.offset = { 0, 0 };
RenderPassInfo.renderArea.extent = { Params.SwapChainExtent };
VkClearValue ClearColor = { { { 0.0f, 0.0f, 0.0f, 1.0f } } };
RenderPassInfo.clearValueCount = 1;
RenderPassInfo.pClearValues = &ClearColor;
vkCmdBeginRenderPass(Params.InCommandBuffer, &RenderPassInfo, VK_SUBPASS_CONTENTS_INLINE);
vkCmdBindPipeline(Params.InCommandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, Params.GraphicsPipeline);
VkViewport Viewport{};
Viewport.x = 0.0f;
Viewport.y = 0.0f;
Viewport.width = static_cast<float>(Params.SwapChainExtent.width);
Viewport.height = static_cast<float>(Params.SwapChainExtent.height);
Viewport.minDepth = 0.0f;
Viewport.maxDepth = 1.0f;
vkCmdSetViewport(Params.InCommandBuffer, 0, 1, &Viewport);
VkRect2D Scissor{};
Scissor.offset = { 0, 0 };
Scissor.extent = Params.SwapChainExtent;
vkCmdSetScissor(Params.InCommandBuffer, 0, 1, &Scissor);
VkBuffer VertexBuffers[] = { Params.InVertexBuffer };
VkDeviceSize Offsets[] = { 0 };
vkCmdBindVertexBuffers(Params.InCommandBuffer, 0, 1, VertexBuffers, Offsets);
vkCmdBindIndexBuffer(Params.InCommandBuffer, Params.InIndexBuffer, 0, VK_INDEX_TYPE_UINT16);
vkCmdBindDescriptorSets(Params.InCommandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, Params.PipelineLayout, 0, 1, &Params.DescriptorSet, 0, nullptr);
// vkCmdDraw(Params.InCommandBuffer, static_cast<uint32_t>(Params.InVerticesSize), 1, 0, 0);
vkCmdDrawIndexed(Params.InCommandBuffer, static_cast<uint32_t>(Params.InIndexSize), 1, 0, 0, 0);
if (Params.bDrawImGui)
{
ImGui::Render();
ImGui_ImplVulkan_RenderDrawData(ImGui::GetDrawData(), Params.InCommandBuffer);
}
vkCmdEndRenderPass(Params.InCommandBuffer);
if (vkEndCommandBuffer(Params.InCommandBuffer) != VK_SUCCESS)
{
Log::Error("Failed to record command buffer!");
}
else
{
// Log::Info("Successfully recorded command buffer.");
}
}

View File

@@ -1,15 +1,24 @@
#include "VulkanContext.h" #include "VulkanContext.hpp"
#include "VulkanCommandBuffers.h"
#include "VulkanTexture.hpp"
#include "VulkanBuffers.h"
#include "VulkanDebugManager.h"
// #include "VulkanDepthPass.hpp"
#include "VulkanDeviceManager.h" #include "VulkanDeviceManager.h"
#include "VulkanFramebuffers.h" #include "VulkanFramebuffers.h"
#include "VulkanInstanceManager.hpp"
#include "VulkanPipeline.h"
#include "VulkanRenderPass.h"
#include "VulkanSwapChain.h" #include "VulkanSwapChain.h"
#include "VulkanVertexBuffer.h"
#include "utilities/Logger.h" #include <chrono>
#include "stb_image.h" #include <cstdint>
#include <memory>
#include <vector>
#include "imgui_impl_glfw.h" #include "imgui_impl_glfw.h"
#include "imgui_impl_vulkan.h" #include "imgui_impl_vulkan.h"
#include "stb_image.h"
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
#include <glm/ext/matrix_clip_space.hpp> #include <glm/ext/matrix_clip_space.hpp>
@@ -20,98 +29,128 @@
#define GLM_FORCE_RADIANS #define GLM_FORCE_RADIANS
#define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES #define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/matrix_transform.hpp>
#include <chrono> #include "utilities/Logger.h"
#include <cstdint>
#include <vector>
VulkanContext::VulkanContext() VulkanContext::VulkanContext() {}
{
}
VulkanContext::~VulkanContext() VulkanContext::~VulkanContext() {}
{
}
void VulkanContext::Initialize(FVulkanConfig& InConfig, const std::vector<Vertex>& InVertices, const std::vector<uint16_t>& InIndices) void VulkanContext::Initialize(
FVulkanConfig& InConfig,
const std::vector<Vertex>& InVertices,
const std::vector<uint16_t>& InIndices
)
{ {
Config = InConfig; Config = InConfig;
InstanceManager = std::make_unique<VulkanInstanceManager>();
DebugManager = std::make_unique<VulkanDebugManager>();
if (Config.bValidationEnabled) if (Config.bValidationEnabled)
{ {
InstanceManager.CreateInstance(&DebugManager); InstanceManager->CreateInstance(DebugManager.get());
DebugManager.Initialize(InstanceManager.GetInstance()); DebugManager->Initialize(InstanceManager->GetInstance());
} }
else else
{ {
InstanceManager.CreateInstance(); InstanceManager->CreateInstance();
} }
CreateSurface(InConfig.Window); CreateSurface(InConfig.Window);
DeviceManager.Initialize(FDeviceConfig( DeviceManager = std::make_unique<VulkanDeviceManager>(
InstanceManager.GetInstance(), InstanceManager->GetInstance(),
Config.bValidationEnabled,
Surface, Surface,
InConfig.Window)); InConfig.Window,
DeviceManager.PickPhysicalDevice(); Config.bValidationEnabled
DeviceManager.CreateLogicalDevice(); );
DeviceManager->PickPhysicalDevice();
DeviceManager->CreateLogicalDevice();
auto SwapChainSupport = DeviceManager.QuerySwapChainSupport(DeviceManager.GetPhysicalDevice()); VkDevice Device = DeviceManager->GetDevice();
VkPhysicalDevice PhysicalDevice = DeviceManager->GetPhysicalDevice();
VkQueue GraphicsQueue = DeviceManager->GetGraphicsQueue();
SwapChain.Initialize(FSwapConfig( RenderPass = std::make_unique<VulkanRenderPass>();
DeviceManager.GetDevice(), RenderPass->Initialize(Device);
GraphicsPipeline = std::make_unique<VulkanPipeline>();
GraphicsPipeline->Initialize(Device);
auto SwapChainSupport = DeviceManager->QuerySwapChainSupport(PhysicalDevice);
SwapChain = std::make_unique<VulkanSwapChain>(
Device,
Surface, Surface,
Config.Window, Config.Window,
DeviceManager.GetPhysicalQueueFamilies().GraphicsFamily, DeviceManager->GetPhysicalQueueFamilies().GraphicsFamily.value(),
DeviceManager.GetPhysicalQueueFamilies().PresentFamily, DeviceManager->GetPhysicalQueueFamilies().PresentFamily.value(),
SwapChainSupport.Capabilities, SwapChainSupport.Capabilities,
SwapChainSupport.Formats, SwapChainSupport.Formats,
SwapChainSupport.PresentModes)); SwapChainSupport.PresentModes
);
SwapChain->CreateSwapChain();
SwapChain->CreateImageViews();
SwapChain.CreateSwapChain(); Buffers = std::make_unique<VulkanBuffers>();
SwapChain.CreateImageViews();
RenderPass.Initialize(DeviceManager.GetDevice()); Textures = std::make_unique<VulkanTexture>(
RenderPass.CreateRenderPass(SwapChain.GetSwapChainImageFormat()); Device,
PhysicalDevice,
GraphicsQueue,
*Buffers,
*SwapChain
);
uint32_t imageCount = SwapChain->GetSwapChainImagesCount();
MAX_FRAMES_IN_FLIGHT = imageCount;
RenderPass->CreateRenderPass(SwapChain->GetSwapChainImageFormat(), Textures->FindDepthFormat());
CreateDescriptorSetLayout(); CreateDescriptorSetLayout();
GraphicsPipeline.Initialize(DeviceManager.GetDevice()); GraphicsPipeline->CreateGraphicsPipeline(
GraphicsPipeline.CreateGraphicsPipeline(SwapChain.GetSwapChainExtent(), RenderPass.GetRenderPass(), DescriptorSetLayout); SwapChain->GetSwapChainExtent(),
RenderPass->GetRenderPass(),
DescriptorSetLayout
);
Framebuffers.Initialize(FFramebufferConfig( Buffers->Initialize(
DeviceManager.GetDevice(), FBufferConfig(Device, RenderPass->GetRenderPass(), PhysicalDevice, GraphicsQueue)
RenderPass.GetRenderPass(), );
SwapChain.GetSwapChainImageViews(), Buffers->CreateCommandPool(DeviceManager->GetPhysicalQueueFamilies().GraphicsFamily);
SwapChain.GetSwapChainExtent()));
Framebuffers.CreateFramebuffers();
CommandBuffers.Initialize(DeviceManager.GetDevice(), RenderPass.GetRenderPass()); Textures->CreateDepthResources();
CommandBuffers.CreateCommandPool(DeviceManager.GetPhysicalQueueFamilies().GraphicsFamily);
CreateTextureImage("textures/texture.jpg"); Framebuffers = std::make_unique<VulkanFramebuffers>();
Framebuffers->Initialize(FFramebufferConfig(
Device,
RenderPass->GetRenderPass(),
SwapChain->GetSwapChainImageViews(),
SwapChain->GetSwapChainExtent()
));
Framebuffers->CreateFramebuffers(Textures->GetDepthImageView());
VertexBuffer.Initialize(FVertexBufferConfig( Log::Info("textures");
DeviceManager.GetDevice(), Textures->LoadFromFile("textures/texture.jpg");
DeviceManager.GetPhysicalDevice(), Textures->CreateImageView();
CommandBuffers.GetCommandPool(), Textures->CreateSampler();
DeviceManager.GetGraphicsQueue()));
VertexBuffer.CreateVertexBuffer(InVertices); Buffers->CreateVertexBuffer(InVertices);
VertexBuffer.CreateIndexBuffer(InIndices); Buffers->CreateIndexBuffer(InIndices);
VertexBuffer.CreateUniformBuffers(MAX_FRAMES_IN_FLIGHT); Buffers->CreateUniformBuffers(MAX_FRAMES_IN_FLIGHT);
CreateDescriptorPool(); CreateDescriptorPool();
CreateDescriptorSets(); CreateDescriptorSets();
CommandBuffers.CreateCommandBuffers(MAX_FRAMES_IN_FLIGHT); Buffers->CreateCommandBuffers(MAX_FRAMES_IN_FLIGHT);
CreateSyncObjects(); CreateSyncObjects();
VkDescriptorPoolSize PoolSizes[] = { VkDescriptorPoolSize PoolSizes[] = { { VK_DESCRIPTOR_TYPE_SAMPLER, 1000 },
{ VK_DESCRIPTOR_TYPE_SAMPLER, 1000 },
{ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1000 }, { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1000 },
{ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, 1000 }, { VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, 1000 },
{ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1000 }, { VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1000 },
@@ -121,19 +160,21 @@ void VulkanContext::Initialize(FVulkanConfig& InConfig, const std::vector<Vertex
{ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1000 }, { VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1000 },
{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1000 }, { VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1000 },
{ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, 1000 }, { VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, 1000 },
{ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 1000 } { VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 1000 } };
};
VkDescriptorPoolCreateInfo PoolInfo = {}; VkDescriptorPoolCreateInfo PoolInfo = {};
PoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; PoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
PoolInfo.flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT; PoolInfo.flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
PoolInfo.maxSets = 1000; PoolInfo.maxSets = 1000;
PoolInfo.poolSizeCount = (uint32_t)std::size(PoolSizes); PoolInfo.poolSizeCount = (uint32_t)std::size(PoolSizes);
PoolInfo.pPoolSizes = PoolSizes; PoolInfo.pPoolSizes = PoolSizes;
vkCreateDescriptorPool(DeviceManager.GetDevice(), &PoolInfo, nullptr, &ImGuiPool); vkCreateDescriptorPool(DeviceManager->GetDevice(), &PoolInfo, nullptr, &ImGuiPool);
} }
void VulkanContext::Cleanup() void VulkanContext::Cleanup()
{ {
vkDeviceWaitIdle(DeviceManager->GetDevice());
if (bImGuiVulkanInitialized) if (bImGuiVulkanInitialized)
{ {
ImGui_ImplVulkan_Shutdown(); ImGui_ImplVulkan_Shutdown();
@@ -144,34 +185,41 @@ void VulkanContext::Cleanup()
ImGui_ImplGlfw_Shutdown(); ImGui_ImplGlfw_Shutdown();
} }
CleanupSwapChain(); Textures->Cleanup();
Framebuffers->Cleanup();
SwapChain->Cleanup();
vkDestroyDescriptorPool(DeviceManager.GetDevice(), DescriptorPool, nullptr); // vkDestroySampler(DeviceManager->GetDevice(), TextureSampler, nullptr);
vkDestroyDescriptorSetLayout(DeviceManager.GetDevice(), DescriptorSetLayout, nullptr); // vkDestroyImageView(DeviceManager->GetDevice(), TextureImageView, nullptr);
VertexBuffer.Cleanup(MAX_FRAMES_IN_FLIGHT); vkDestroyDescriptorPool(DeviceManager->GetDevice(), ImGuiPool, nullptr);
// vkDestroyImage(DeviceManager->GetDevice(), TextureImage, nullptr);
// vkFreeMemory(DeviceManager->GetDevice(), TextureImageMemory, nullptr);
GraphicsPipeline.Cleanup(); vkDestroyDescriptorPool(DeviceManager->GetDevice(), DescriptorPool, nullptr);
RenderPass.Cleanup(); vkDestroyDescriptorSetLayout(DeviceManager->GetDevice(), DescriptorSetLayout, nullptr);
Buffers->Cleanup(MAX_FRAMES_IN_FLIGHT);
GraphicsPipeline->Cleanup();
RenderPass->Cleanup();
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{ {
vkDestroySemaphore(DeviceManager.GetDevice(), ImageAvailableSemaphores[i], nullptr); vkDestroySemaphore(DeviceManager->GetDevice(), ImageAvailableSemaphores[i], nullptr);
vkDestroySemaphore(DeviceManager.GetDevice(), RenderFinishedSemaphores[i], nullptr); vkDestroySemaphore(DeviceManager->GetDevice(), RenderFinishedSemaphores[i], nullptr);
vkDestroyFence(DeviceManager.GetDevice(), InFlightFences[i], nullptr); vkDestroyFence(DeviceManager->GetDevice(), InFlightFences[i], nullptr);
} }
CommandBuffers.Cleanup(); DeviceManager->Cleanup();
DeviceManager.Cleanup();
if (Config.bValidationEnabled) if (Config.bValidationEnabled)
{ {
DebugManager.Cleanup(); DebugManager->Cleanup();
} }
vkDestroySurfaceKHR(InstanceManager.GetInstance(), Surface, nullptr); vkDestroySurfaceKHR(InstanceManager->GetInstance(), Surface, nullptr);
InstanceManager.Cleanup(); InstanceManager->Cleanup();
} }
void VulkanContext::CreateSurface(GLFWwindow* Window) void VulkanContext::CreateSurface(GLFWwindow* Window)
@@ -181,12 +229,13 @@ void VulkanContext::CreateSurface(GLFWwindow* Window)
Log::Error("Window not initialized."); Log::Error("Window not initialized.");
} }
if (!InstanceManager.GetInstance()) if (!InstanceManager->GetInstance())
{ {
Log::Error("Instance is null."); Log::Error("Instance is null.");
} }
VkResult result = glfwCreateWindowSurface(InstanceManager.GetInstance(), Window, nullptr, &Surface); VkResult result =
glfwCreateWindowSurface(InstanceManager->GetInstance(), Window, nullptr, &Surface);
if (result != VK_SUCCESS) if (result != VK_SUCCESS)
{ {
std::string errorMsg; std::string errorMsg;
@@ -223,12 +272,28 @@ void VulkanContext::CreateDescriptorSetLayout()
UboLayoutBinding.stageFlags = VK_SHADER_STAGE_VERTEX_BIT; UboLayoutBinding.stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
UboLayoutBinding.pImmutableSamplers = nullptr; UboLayoutBinding.pImmutableSamplers = nullptr;
VkDescriptorSetLayoutBinding SamplerLayoutBinding{};
SamplerLayoutBinding.binding = 1;
SamplerLayoutBinding.descriptorCount = 1;
SamplerLayoutBinding.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
SamplerLayoutBinding.pImmutableSamplers = nullptr;
SamplerLayoutBinding.stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT;
std::array<VkDescriptorSetLayoutBinding, 2> Bindings = { UboLayoutBinding,
SamplerLayoutBinding };
VkDescriptorSetLayoutCreateInfo LayoutInfo{}; VkDescriptorSetLayoutCreateInfo LayoutInfo{};
LayoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; LayoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
LayoutInfo.bindingCount = 1; LayoutInfo.bindingCount = static_cast<uint32_t>(Bindings.size());
LayoutInfo.pBindings = &UboLayoutBinding; LayoutInfo.pBindings = Bindings.data();
if (vkCreateDescriptorSetLayout(DeviceManager.GetDevice(), &LayoutInfo, nullptr, &DescriptorSetLayout) != VK_SUCCESS) if (vkCreateDescriptorSetLayout(
DeviceManager->GetDevice(),
&LayoutInfo,
nullptr,
&DescriptorSetLayout
)
!= VK_SUCCESS)
{ {
Log::Error("Failed to create descriptor set layout!"); Log::Error("Failed to create descriptor set layout!");
} }
@@ -240,17 +305,20 @@ void VulkanContext::CreateDescriptorSetLayout()
void VulkanContext::CreateDescriptorPool() void VulkanContext::CreateDescriptorPool()
{ {
VkDescriptorPoolSize PoolSize{}; std::array<VkDescriptorPoolSize, 2> PoolSizes{};
PoolSize.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; PoolSizes[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
PoolSize.descriptorCount = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT); PoolSizes[0].descriptorCount = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT);
PoolSizes[1].type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
PoolSizes[1].descriptorCount = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT);
VkDescriptorPoolCreateInfo PoolInfo{}; VkDescriptorPoolCreateInfo PoolInfo{};
PoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; PoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
PoolInfo.poolSizeCount = 1; PoolInfo.poolSizeCount = static_cast<uint32_t>(PoolSizes.size());
PoolInfo.pPoolSizes = &PoolSize; PoolInfo.pPoolSizes = PoolSizes.data();
PoolInfo.maxSets = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT); PoolInfo.maxSets = static_cast<uint32_t>(MAX_FRAMES_IN_FLIGHT);
if (vkCreateDescriptorPool(DeviceManager.GetDevice(), &PoolInfo, nullptr, &DescriptorPool) != VK_SUCCESS) if (vkCreateDescriptorPool(DeviceManager->GetDevice(), &PoolInfo, nullptr, &DescriptorPool)
!= VK_SUCCESS)
{ {
Log::Error("Failed to create descriptor pool!"); Log::Error("Failed to create descriptor pool!");
} }
@@ -271,7 +339,8 @@ void VulkanContext::CreateDescriptorSets()
AllocateInfo.pSetLayouts = Layouts.data(); AllocateInfo.pSetLayouts = Layouts.data();
DescriptorSets.resize(MAX_FRAMES_IN_FLIGHT); DescriptorSets.resize(MAX_FRAMES_IN_FLIGHT);
if (vkAllocateDescriptorSets(DeviceManager.GetDevice(), &AllocateInfo, DescriptorSets.data()) != VK_SUCCESS) if (vkAllocateDescriptorSets(DeviceManager->GetDevice(), &AllocateInfo, DescriptorSets.data())
!= VK_SUCCESS)
{ {
Log::Error("Failed to allocate descriptor sets!"); Log::Error("Failed to allocate descriptor sets!");
} }
@@ -283,117 +352,247 @@ void VulkanContext::CreateDescriptorSets()
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{ {
VkDescriptorBufferInfo BufferInfo{}; VkDescriptorBufferInfo BufferInfo{};
BufferInfo.buffer = VertexBuffer.GetUniformBuffers()[i]; BufferInfo.buffer = Buffers->GetUniformBuffers()[i];
BufferInfo.offset = 0; BufferInfo.offset = 0;
BufferInfo.range = sizeof(UniformBufferObject); BufferInfo.range = sizeof(UniformBufferObject);
VkWriteDescriptorSet DescriptorWrite{}; VkDescriptorImageInfo ImageInfo{};
DescriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; ImageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
DescriptorWrite.dstSet = DescriptorSets[i]; ImageInfo.imageView = Textures->GetImageView();
DescriptorWrite.dstBinding = 0; ImageInfo.sampler = Textures->GetSampler();
DescriptorWrite.dstArrayElement = 0;
DescriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
DescriptorWrite.descriptorCount = 1;
DescriptorWrite.pBufferInfo = &BufferInfo;
DescriptorWrite.pImageInfo = nullptr;
DescriptorWrite.pTexelBufferView = nullptr;
vkUpdateDescriptorSets(DeviceManager.GetDevice(), 1, &DescriptorWrite, 0, nullptr); std::array<VkWriteDescriptorSet, 2> DescriptorWrites{};
DescriptorWrites[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
DescriptorWrites[0].dstSet = DescriptorSets[i];
DescriptorWrites[0].dstBinding = 0;
DescriptorWrites[0].dstArrayElement = 0;
DescriptorWrites[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
DescriptorWrites[0].descriptorCount = 1;
DescriptorWrites[0].pBufferInfo = &BufferInfo;
DescriptorWrites[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
DescriptorWrites[1].dstSet = DescriptorSets[i];
DescriptorWrites[1].dstBinding = 1;
DescriptorWrites[1].dstArrayElement = 0;
DescriptorWrites[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
DescriptorWrites[1].descriptorCount = 1;
DescriptorWrites[1].pImageInfo = &ImageInfo;
vkUpdateDescriptorSets(
DeviceManager->GetDevice(),
static_cast<uint32_t>(DescriptorWrites.size()),
DescriptorWrites.data(),
0,
nullptr
);
} }
} }
void VulkanContext::CreateImage( // void VulkanContext::CreateImage(
uint32_t Width, // uint32_t Width,
uint32_t Height, // uint32_t Height,
VkFormat Format, // VkFormat Format,
VkImageTiling Tiling, // VkImageTiling Tiling,
VkImageUsageFlags Usage, // VkImageUsageFlags Usage,
VkMemoryPropertyFlags Properties, // VkMemoryPropertyFlags Properties,
VkImage& Image, // VkImage& Image,
VkDeviceMemory& ImageMemory) // VkDeviceMemory& ImageMemory
{ // )
// {
//
// VkImageCreateInfo ImageInfo{};
// ImageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
// ImageInfo.imageType = VK_IMAGE_TYPE_2D;
// ImageInfo.extent.width = Width;
// ImageInfo.extent.height = Height;
// ImageInfo.extent.depth = 1;
// ImageInfo.mipLevels = 1;
// ImageInfo.arrayLayers = 1;
// ImageInfo.format = Format;
// ImageInfo.tiling = Tiling;
// ImageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
// ImageInfo.usage = Usage;
// ImageInfo.samples = VK_SAMPLE_COUNT_1_BIT;
// ImageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
//
// if (vkCreateImage(DeviceManager->GetDevice(), &ImageInfo, nullptr, &Image) != VK_SUCCESS)
// {
// Log::Error("Failed to create image!");
// }
// else
// {
// Log::Info("Successfully created image.");
// }
//
// VkMemoryRequirements MemoryRequirements;
// vkGetImageMemoryRequirements(DeviceManager->GetDevice(), Image, &MemoryRequirements);
//
// VkMemoryAllocateInfo AllocateInfo{};
// AllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
// AllocateInfo.allocationSize = MemoryRequirements.size;
// AllocateInfo.memoryTypeIndex =
// Buffers->FindMemoryType(MemoryRequirements.memoryTypeBits, Properties);
//
// if (vkAllocateMemory(DeviceManager->GetDevice(), &AllocateInfo, nullptr, &ImageMemory)
// != VK_SUCCESS)
// {
// Log::Error("Failed to allocate image memory!");
// }
// else
// {
// Log::Info("Successfully allocated imaged memory.");
// }
//
// vkBindImageMemory(DeviceManager->GetDevice(), Image, ImageMemory, 0);
// }
//
// void VulkanContext::CreateDepthResources()
// {
// if (!DepthPass)
// {
// DepthPass = std::make_unique<VulkanDepthPass>();
// }
// VkFormat DepthFormat = DepthPass->FindDepthFormat();
// VkExtent2D Extents = SwapChain->GetSwapChainExtent();
//
// CreateImage(
// Extents.width,
// Extents.height,
// DepthFormat,
// VK_IMAGE_TILING_OPTIMAL,
// VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
// VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
// DepthPass->GetDepthImage(),
// DepthPass->GetDepthImageMemory()
// );
//
// DepthPass->SetDepthImageView(SwapChain->CreateImageView(
// DepthPass->GetDepthImage(),
// DepthFormat,
// VK_IMAGE_ASPECT_DEPTH_BIT
// ));
//
// Buffers->TransitionImageLayout(
// DepthPass->GetDepthImage(),
// DepthFormat,
// VK_IMAGE_LAYOUT_UNDEFINED,
// VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
// );
// }
//
// void VulkanContext::CreateTextureImage(const char* FileName)
// {
// int TextureWidth, TextureHeight, TextureChannels;
// stbi_uc* Pixels =
// stbi_load(FileName, &TextureWidth, &TextureHeight, &TextureChannels, STBI_rgb_alpha);
// VkDeviceSize ImageSize = TextureWidth * TextureHeight * 4;
//
// if (!Pixels)
// {
// Log::Error("Failed to load texture image!");
// }
// else
// {
// Log::Info("Successfully loaded texture image.");
// }
//
// VkBuffer StagingBuffer;
// VkDeviceMemory StagingBufferMemory;
//
// Buffers->CreateBuffer(
// ImageSize,
// VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
// VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
// StagingBuffer,
// StagingBufferMemory
// );
//
// void* Data;
// vkMapMemory(DeviceManager->GetDevice(), StagingBufferMemory, 0, ImageSize, 0, &Data);
// memcpy(Data, Pixels, static_cast<size_t>(ImageSize));
// vkUnmapMemory(DeviceManager->GetDevice(), StagingBufferMemory);
//
// stbi_image_free(Pixels);
//
// CreateImage(
// TextureWidth,
// TextureHeight,
// VK_FORMAT_R8G8B8A8_SRGB,
// VK_IMAGE_TILING_OPTIMAL,
// VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT,
// VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
// TextureImage,
// TextureImageMemory
// );
//
// Buffers->TransitionImageLayout(
// TextureImage,
// VK_FORMAT_R8G8B8A8_SRGB,
// VK_IMAGE_LAYOUT_UNDEFINED,
// VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
// );
//
// Buffers->CopyBufferToImage(
// StagingBuffer,
// TextureImage,
// static_cast<uint32_t>(TextureWidth),
// static_cast<uint32_t>(TextureHeight)
// );
//
// Buffers->TransitionImageLayout(
// TextureImage,
// VK_FORMAT_R8G8B8A8_SRGB,
// VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
// VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
// );
//
// vkDestroyBuffer(DeviceManager->GetDevice(), StagingBuffer, nullptr);
// vkFreeMemory(DeviceManager->GetDevice(), StagingBufferMemory, nullptr);
// }
//
// void VulkanContext::CreateTextureImageView()
// {
// TextureImageView = SwapChain->CreateImageView(
// TextureImage,
// VK_FORMAT_R8G8B8A8_SRGB,
// VK_IMAGE_ASPECT_COLOR_BIT
// );
// }
VkImageCreateInfo ImageInfo{}; // void VulkanContext::CreateTextureSampler()
ImageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; // {
ImageInfo.imageType = VK_IMAGE_TYPE_2D; // VkSamplerCreateInfo SamplerInfo{};
ImageInfo.extent.width = Width; // SamplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
ImageInfo.extent.height = Height; // SamplerInfo.magFilter = VK_FILTER_LINEAR;
ImageInfo.extent.depth = 1; // SamplerInfo.minFilter = VK_FILTER_LINEAR;
ImageInfo.mipLevels = 1; // SamplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT;
ImageInfo.arrayLayers = 1; // SamplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT;
ImageInfo.format = Format; // SamplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT;
ImageInfo.tiling = Tiling; // SamplerInfo.anisotropyEnable = VK_TRUE;
ImageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; //
ImageInfo.usage = Usage; // VkPhysicalDeviceProperties Properties{};
ImageInfo.samples = VK_SAMPLE_COUNT_1_BIT; // vkGetPhysicalDeviceProperties(DeviceManager->GetPhysicalDevice(), &Properties);
ImageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; //
// SamplerInfo.maxAnisotropy = Properties.limits.maxSamplerAnisotropy;
if (vkCreateImage(DeviceManager.GetDevice(), &ImageInfo, nullptr, &Image) != VK_SUCCESS) // SamplerInfo.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK;
{ // SamplerInfo.unnormalizedCoordinates = VK_FALSE;
Log::Error("Failed to create image!"); // SamplerInfo.compareEnable = VK_FALSE;
} // SamplerInfo.compareOp = VK_COMPARE_OP_ALWAYS;
else // SamplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR;
{ // SamplerInfo.mipLodBias = 0.0f;
Log::Info("Successfully created image."); // SamplerInfo.minLod = 0.0f;
} // SamplerInfo.maxLod = 0.0f;
//
VkMemoryRequirements MemoryRequirements; // if (vkCreateSampler(DeviceManager->GetDevice(), &SamplerInfo, nullptr, &TextureSampler)
vkGetImageMemoryRequirements(DeviceManager.GetDevice(), Image, &MemoryRequirements); // != VK_SUCCESS)
// {
VkMemoryAllocateInfo AllocateInfo{}; // Log::Error("Failed to create texture sampler!");
AllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; // }
AllocateInfo.allocationSize = MemoryRequirements.size; // else
AllocateInfo.memoryTypeIndex = VertexBuffer.FindMemoryType(MemoryRequirements.memoryTypeBits, Properties); // {
// Log::Info("Successfully created texture sampler.");
if (vkAllocateMemory(DeviceManager.GetDevice(), &AllocateInfo, nullptr, &ImageMemory) != VK_SUCCESS) // }
{ // }
Log::Error("Failed to allocate image memory!");
}
else
{
Log::Info("Successfully allocated imaged memory.");
}
vkBindImageMemory(DeviceManager.GetDevice(), Image, ImageMemory, 0);
}
void VulkanContext::CreateTextureImage(const char* FileName)
{
int TextureWidth, TextureHeight, TextureChannels;
stbi_uc* Pixels = stbi_load(FileName, &TextureWidth, &TextureHeight, &TextureChannels, STBI_rgb_alpha);
VkDeviceSize ImageSize = TextureWidth * TextureHeight * 4;
if (!Pixels)
{
Log::Error("Failed to load texture image!");
}
else
{
Log::Info("Successfully loaded texture image.");
}
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
VertexBuffer.CreateBuffer(ImageSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, StagingBuffer, StagingBufferMemory);
void* Data;
vkMapMemory(DeviceManager.GetDevice(), StagingBufferMemory, 0, ImageSize, 0, &Data);
memcpy(Data, Pixels, static_cast<size_t>(ImageSize));
vkUnmapMemory(DeviceManager.GetDevice(), StagingBufferMemory);
stbi_image_free(Pixels);
CreateImage(
TextureWidth,
TextureHeight,
VK_FORMAT_R8G8B8A8_SRGB,
VK_IMAGE_TILING_OPTIMAL,
VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
TextureImage,
TextureImageMemory);
}
void VulkanContext::CreateSyncObjects() void VulkanContext::CreateSyncObjects()
{ {
@@ -410,9 +609,20 @@ void VulkanContext::CreateSyncObjects()
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{ {
if (vkCreateSemaphore(DeviceManager.GetDevice(), &SemaphoreInfo, nullptr, &ImageAvailableSemaphores[i]) != VK_SUCCESS if (vkCreateSemaphore(
|| vkCreateSemaphore(DeviceManager.GetDevice(), &SemaphoreInfo, nullptr, &RenderFinishedSemaphores[i]) != VK_SUCCESS DeviceManager->GetDevice(),
|| vkCreateFence(DeviceManager.GetDevice(), &FenceInfo, nullptr, &InFlightFences[i]) != VK_SUCCESS) &SemaphoreInfo,
nullptr,
&ImageAvailableSemaphores[i]
) != VK_SUCCESS
|| vkCreateSemaphore(
DeviceManager->GetDevice(),
&SemaphoreInfo,
nullptr,
&RenderFinishedSemaphores[i]
) != VK_SUCCESS
|| vkCreateFence(DeviceManager->GetDevice(), &FenceInfo, nullptr, &InFlightFences[i])
!= VK_SUCCESS)
{ {
Log::Error("Failed to create semaphores!"); Log::Error("Failed to create semaphores!");
} }
@@ -425,16 +635,23 @@ void VulkanContext::CreateSyncObjects()
void VulkanContext::DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t InIndexSize) void VulkanContext::DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t InIndexSize)
{ {
vkWaitForFences(DeviceManager.GetDevice(), 1, &InFlightFences[CurrentFrame], VK_TRUE, UINT64_MAX); vkWaitForFences(
DeviceManager->GetDevice(),
1,
&InFlightFences[CurrentFrame],
VK_TRUE,
UINT64_MAX
);
uint32_t ImageIndex; uint32_t ImageIndex;
VkResult result = vkAcquireNextImageKHR( VkResult result = vkAcquireNextImageKHR(
DeviceManager.GetDevice(), DeviceManager->GetDevice(),
SwapChain.GetSwapChain(), SwapChain->GetSwapChain(),
UINT64_MAX, UINT64_MAX,
ImageAvailableSemaphores[CurrentFrame], ImageAvailableSemaphores[CurrentFrame],
VK_NULL_HANDLE, VK_NULL_HANDLE,
&ImageIndex); &ImageIndex
);
if (result == VK_ERROR_OUT_OF_DATE_KHR) if (result == VK_ERROR_OUT_OF_DATE_KHR)
{ {
@@ -446,28 +663,28 @@ void VulkanContext::DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t
Log::Error("Failed to acquire swap chain images!"); Log::Error("Failed to acquire swap chain images!");
} }
vkResetFences(DeviceManager.GetDevice(), 1, &InFlightFences[CurrentFrame]); vkResetFences(DeviceManager->GetDevice(), 1, &InFlightFences[CurrentFrame]);
vkResetCommandBuffer(CommandBuffers.GetCommandBuffer(CurrentFrame), 0); vkResetCommandBuffer(Buffers->GetCommandBuffer(CurrentFrame), 0);
FRecordCommandBuffersParams Params{ FRecordBuffersParams Params{
CommandBuffers.GetCommandBuffer(CurrentFrame), Buffers->GetCommandBuffer(CurrentFrame),
ImageIndex, ImageIndex,
VertexBuffer.GetVertexBuffer(), Buffers->GetVertexBuffer(),
InVerticesSize, InVerticesSize,
VertexBuffer.GetIndexBuffer(), Buffers->GetIndexBuffer(),
InIndexSize, InIndexSize,
RenderPass.GetRenderPass(), RenderPass->GetRenderPass(),
SwapChain.GetSwapChainExtent(), SwapChain->GetSwapChainExtent(),
GraphicsPipeline.GetGraphicsPipeline(), GraphicsPipeline->GetGraphicsPipeline(),
Framebuffers.GetSwapChainFrameBuffers(), Framebuffers->GetSwapChainFrameBuffers(),
DescriptorSets[CurrentFrame], DescriptorSets[CurrentFrame],
GraphicsPipeline.GetPipelineLayout(), GraphicsPipeline->GetPipelineLayout(),
bDrawImGui bDrawImGui
// DrawData // DrawData
}; };
CommandBuffers.RecordCommandBuffer(Params); Buffers->RecordCommandBuffer(Params);
UpdateUniformBuffer(CurrentFrame); UpdateUniformBuffer(CurrentFrame);
@@ -481,14 +698,20 @@ void VulkanContext::DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t
SubmitInfo.pWaitDstStageMask = WaitStages; SubmitInfo.pWaitDstStageMask = WaitStages;
SubmitInfo.commandBufferCount = 1; SubmitInfo.commandBufferCount = 1;
VkCommandBuffer CommandBuffer = CommandBuffers.GetCommandBuffer(CurrentFrame); VkCommandBuffer CommandBuffer = Buffers->GetCommandBuffer(CurrentFrame);
SubmitInfo.pCommandBuffers = &CommandBuffer; SubmitInfo.pCommandBuffers = &CommandBuffer;
VkSemaphore SignalSemaphores[] = { RenderFinishedSemaphores[CurrentFrame] }; VkSemaphore SignalSemaphores[] = { RenderFinishedSemaphores[CurrentFrame] };
SubmitInfo.signalSemaphoreCount = 1; SubmitInfo.signalSemaphoreCount = 1;
SubmitInfo.pSignalSemaphores = SignalSemaphores; SubmitInfo.pSignalSemaphores = SignalSemaphores;
if (vkQueueSubmit(DeviceManager.GetGraphicsQueue(), 1, &SubmitInfo, InFlightFences[CurrentFrame]) != VK_SUCCESS) if (vkQueueSubmit(
DeviceManager->GetGraphicsQueue(),
1,
&SubmitInfo,
InFlightFences[CurrentFrame]
)
!= VK_SUCCESS)
{ {
Log::Error("Failed to submit draw command buffer!"); Log::Error("Failed to submit draw command buffer!");
} }
@@ -498,14 +721,14 @@ void VulkanContext::DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t
PresentInfo.waitSemaphoreCount = 1; PresentInfo.waitSemaphoreCount = 1;
PresentInfo.pWaitSemaphores = SignalSemaphores; PresentInfo.pWaitSemaphores = SignalSemaphores;
VkSwapchainKHR SwapChains[] = { SwapChain.GetSwapChain() }; VkSwapchainKHR SwapChains[] = { SwapChain->GetSwapChain() };
PresentInfo.swapchainCount = 1; PresentInfo.swapchainCount = 1;
PresentInfo.pSwapchains = SwapChains; PresentInfo.pSwapchains = SwapChains;
PresentInfo.pImageIndices = &ImageIndex; PresentInfo.pImageIndices = &ImageIndex;
PresentInfo.pResults = nullptr; PresentInfo.pResults = nullptr;
result = vkQueuePresentKHR(DeviceManager.GetPresentQueue(), &PresentInfo); result = vkQueuePresentKHR(DeviceManager->GetPresentQueue(), &PresentInfo);
if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || bFramebufferResized) if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || bFramebufferResized)
{ {
@@ -526,15 +749,26 @@ void VulkanContext::UpdateUniformBuffer(uint32_t CurrentImage)
auto CurrentTime = std::chrono::high_resolution_clock::now(); auto CurrentTime = std::chrono::high_resolution_clock::now();
float Time = std::chrono::duration<float, std::chrono::seconds::period>(CurrentTime - StartTime).count(); float Time =
std::chrono::duration<float, std::chrono::seconds::period>(CurrentTime - StartTime).count();
UniformBufferObject Ubo{}; UniformBufferObject Ubo{};
Ubo.Model = glm::rotate(glm::mat4(1.0f), Time * glm::radians(90.0f), glm::vec3(0.0f, 0.0f, 1.0f)); Ubo.Model =
Ubo.View = glm::lookAt(glm::vec3(2.0f, 2.0f, 2.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 1.0f)); glm::rotate(glm::mat4(1.0f), Time * glm::radians(90.0f), glm::vec3(0.0f, 0.0f, 1.0f));
Ubo.Projection = glm::perspective(glm::radians(45.0f), SwapChain.GetSwapChainExtent().width / (float)SwapChain.GetSwapChainExtent().height, 0.1f, 10.0f); Ubo.View = glm::lookAt(
glm::vec3(2.0f, 2.0f, 2.0f),
glm::vec3(0.0f, 0.0f, 0.0f),
glm::vec3(0.0f, 0.0f, 1.0f)
);
Ubo.Projection = glm::perspective(
glm::radians(45.0f),
SwapChain->GetSwapChainExtent().width / (float)SwapChain->GetSwapChainExtent().height,
0.1f,
10.0f
);
Ubo.Projection[1][1] *= -1; Ubo.Projection[1][1] *= -1;
memcpy(VertexBuffer.GetUniformBuffersMapped()[CurrentImage], &Ubo, sizeof(Ubo)); memcpy(Buffers->GetUniformBuffersMapped()[CurrentImage], &Ubo, sizeof(Ubo));
} }
void VulkanContext::RecreateSwapChain() void VulkanContext::RecreateSwapChain()
@@ -548,30 +782,24 @@ void VulkanContext::RecreateSwapChain()
} }
Log::Info("Recreating SwapChain..."); Log::Info("Recreating SwapChain...");
vkDeviceWaitIdle(DeviceManager.GetDevice()); vkDeviceWaitIdle(DeviceManager->GetDevice());
CleanupSwapChain(); CleanupSwapChain();
auto SwapChainSupport = DeviceManager.QuerySwapChainSupport(DeviceManager.GetPhysicalDevice()); auto SwapChainSupport =
DeviceManager->QuerySwapChainSupport(DeviceManager->GetPhysicalDevice());
SwapChain.Initialize(FSwapConfig( SwapChain->CreateSwapChain();
DeviceManager.GetDevice(), SwapChain->CreateImageViews();
Surface, Textures->CreateDepthResources();
Config.Window,
DeviceManager.GetPhysicalQueueFamilies().GraphicsFamily,
DeviceManager.GetPhysicalQueueFamilies().PresentFamily,
SwapChainSupport.Capabilities,
SwapChainSupport.Formats,
SwapChainSupport.PresentModes));
SwapChain.CreateSwapChain();
SwapChain.CreateImageViews();
Framebuffers.Initialize(FFramebufferConfig( Framebuffers->Initialize(FFramebufferConfig(
DeviceManager.GetDevice(), DeviceManager->GetDevice(),
RenderPass.GetRenderPass(), RenderPass->GetRenderPass(),
SwapChain.GetSwapChainImageViews(), SwapChain->GetSwapChainImageViews(),
SwapChain.GetSwapChainExtent())); SwapChain->GetSwapChainExtent()
Framebuffers.CreateFramebuffers(); ));
Framebuffers->CreateFramebuffers(Textures->GetDepthImageView());
InitImGui(); InitImGui();
} }
@@ -595,17 +823,18 @@ void VulkanContext::InitImGui()
} }
ImGui_ImplVulkan_InitInfo ImGuiInitInfo = {}; ImGui_ImplVulkan_InitInfo ImGuiInitInfo = {};
ImGuiInitInfo.Instance = InstanceManager.GetInstance(); ImGuiInitInfo.Instance = InstanceManager->GetInstance();
ImGuiInitInfo.PhysicalDevice = DeviceManager.GetPhysicalDevice(); ImGuiInitInfo.PhysicalDevice = DeviceManager->GetPhysicalDevice();
ImGuiInitInfo.Device = DeviceManager.GetDevice(); ImGuiInitInfo.Device = DeviceManager->GetDevice();
ImGuiInitInfo.QueueFamily = DeviceManager.GetPhysicalQueueFamilies().GraphicsFamily.value_or(0); ImGuiInitInfo.QueueFamily =
ImGuiInitInfo.Queue = DeviceManager.GetGraphicsQueue(); DeviceManager->GetPhysicalQueueFamilies().GraphicsFamily.value_or(0);
ImGuiInitInfo.Queue = DeviceManager->GetGraphicsQueue();
ImGuiInitInfo.PipelineCache = VK_NULL_HANDLE; ImGuiInitInfo.PipelineCache = VK_NULL_HANDLE;
ImGuiInitInfo.DescriptorPool = ImGuiPool; ImGuiInitInfo.DescriptorPool = ImGuiPool;
ImGuiInitInfo.MinImageCount = MAX_FRAMES_IN_FLIGHT; ImGuiInitInfo.MinImageCount = MAX_FRAMES_IN_FLIGHT;
ImGuiInitInfo.ImageCount = SwapChain.GetSwapChainImageViews().size(); ImGuiInitInfo.ImageCount = SwapChain->GetSwapChainImageViews().size();
ImGuiInitInfo.Allocator = nullptr; ImGuiInitInfo.Allocator = nullptr;
ImGuiInitInfo.PipelineInfoMain.RenderPass = RenderPass.GetRenderPass(); ImGuiInitInfo.PipelineInfoMain.RenderPass = RenderPass->GetRenderPass();
ImGuiInitInfo.PipelineInfoMain.Subpass = 0; ImGuiInitInfo.PipelineInfoMain.Subpass = 0;
ImGuiInitInfo.PipelineInfoMain.MSAASamples = VK_SAMPLE_COUNT_1_BIT; ImGuiInitInfo.PipelineInfoMain.MSAASamples = VK_SAMPLE_COUNT_1_BIT;
ImGuiInitInfo.CheckVkResultFn = nullptr; ImGuiInitInfo.CheckVkResultFn = nullptr;
@@ -621,6 +850,7 @@ void VulkanContext::InitImGui()
void VulkanContext::CleanupSwapChain() void VulkanContext::CleanupSwapChain()
{ {
Framebuffers.Cleanup(); Textures->CleanupDepth();
SwapChain.Cleanup(); Framebuffers->Cleanup();
SwapChain->Cleanup();
} }

View File

@@ -1,4 +1,5 @@
#include "VulkanDebugManager.h" #include "VulkanDebugManager.h"
#include "utilities/Logger.h" #include "utilities/Logger.h"
VulkanDebugManager::VulkanDebugManager() VulkanDebugManager::VulkanDebugManager()

View File

@@ -6,10 +6,19 @@
#include <set> #include <set>
#include <vulkan/vulkan_core.h> #include <vulkan/vulkan_core.h>
#include "VulkanContext.h" #include "VulkanContext.hpp"
#include "utilities/Logger.h" #include "utilities/Logger.h"
VulkanDeviceManager::VulkanDeviceManager() const std::vector<const char*> DeviceExtensions = {
VK_KHR_SWAPCHAIN_EXTENSION_NAME
};
VulkanDeviceManager::VulkanDeviceManager(
VkInstance Instance,
VkSurfaceKHR Surface,
GLFWwindow* Window,
bool bEnableValidationLayers)
: Instance(Instance), Surface(Surface), Window(Window), bEnableValidationLayers(bEnableValidationLayers)
{ {
} }
@@ -18,19 +27,6 @@ VulkanDeviceManager::~VulkanDeviceManager()
// Cleanup(); // Cleanup();
} }
void VulkanDeviceManager::Initialize(FDeviceConfig InConfig)
// VkInstance Instance,
// bool bEnableValidationLayers,
// VkSurfaceKHR Surface,
// GLFWwindow* Window)
{
DeviceConfig = InConfig;
// this->Instance = Instance;
// this->Surface = Surface;
// this->bEnableValidationLayers = bEnableValidationLayers;
// this->Window = Window;
}
void VulkanDeviceManager::Cleanup() void VulkanDeviceManager::Cleanup()
{ {
vkDestroyDevice(Device, nullptr); vkDestroyDevice(Device, nullptr);
@@ -39,7 +35,7 @@ void VulkanDeviceManager::Cleanup()
void VulkanDeviceManager::PickPhysicalDevice() void VulkanDeviceManager::PickPhysicalDevice()
{ {
uint32_t DeviceCount = 0; uint32_t DeviceCount = 0;
vkEnumeratePhysicalDevices(DeviceConfig.Instance, &DeviceCount, nullptr); vkEnumeratePhysicalDevices(Instance, &DeviceCount, nullptr);
if (DeviceCount == 0) if (DeviceCount == 0)
{ {
@@ -47,7 +43,7 @@ void VulkanDeviceManager::PickPhysicalDevice()
} }
std::vector<VkPhysicalDevice> Devices(DeviceCount); std::vector<VkPhysicalDevice> Devices(DeviceCount);
vkEnumeratePhysicalDevices(DeviceConfig.Instance, &DeviceCount, Devices.data()); vkEnumeratePhysicalDevices(Instance, &DeviceCount, Devices.data());
std::multimap<int, VkPhysicalDevice> Candidates; std::multimap<int, VkPhysicalDevice> Candidates;
@@ -84,7 +80,10 @@ bool VulkanDeviceManager::IsDeviceSuitable(VkPhysicalDevice Device)
bSwapChainAdequate = !SwapChainSupport.Formats.empty() && !SwapChainSupport.PresentModes.empty(); bSwapChainAdequate = !SwapChainSupport.Formats.empty() && !SwapChainSupport.PresentModes.empty();
} }
return Indices.IsComplete() && bExtensionsSupported && bSwapChainAdequate; VkPhysicalDeviceFeatures SupportedFeatures;
vkGetPhysicalDeviceFeatures(Device, &SupportedFeatures);
return Indices.IsComplete() && bExtensionsSupported && bSwapChainAdequate && SupportedFeatures.samplerAnisotropy;
} }
int VulkanDeviceManager::RateDeviceSuitability(VkPhysicalDevice Device) int VulkanDeviceManager::RateDeviceSuitability(VkPhysicalDevice Device)
@@ -149,7 +148,7 @@ QueueFamilyIndices VulkanDeviceManager::FindQueueFamilies(VkPhysicalDevice Devic
} }
VkBool32 PresentSupport = false; VkBool32 PresentSupport = false;
vkGetPhysicalDeviceSurfaceSupportKHR(Device, i, DeviceConfig.Surface, &PresentSupport); vkGetPhysicalDeviceSurfaceSupportKHR(Device, i, Surface, &PresentSupport);
if (PresentSupport) if (PresentSupport)
{ {
@@ -185,6 +184,7 @@ void VulkanDeviceManager::CreateLogicalDevice()
} }
VkPhysicalDeviceFeatures DeviceFeatures{}; VkPhysicalDeviceFeatures DeviceFeatures{};
DeviceFeatures.samplerAnisotropy = VK_TRUE;
VkDeviceCreateInfo CreateInfo{}; VkDeviceCreateInfo CreateInfo{};
CreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; CreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
@@ -195,7 +195,7 @@ void VulkanDeviceManager::CreateLogicalDevice()
CreateInfo.enabledExtensionCount = static_cast<uint32_t>(DeviceExtensions.size()); CreateInfo.enabledExtensionCount = static_cast<uint32_t>(DeviceExtensions.size());
CreateInfo.ppEnabledExtensionNames = DeviceExtensions.data(); CreateInfo.ppEnabledExtensionNames = DeviceExtensions.data();
if (DeviceConfig.bEnableValidationLayers) if (bEnableValidationLayers)
{ {
CreateInfo.enabledLayerCount = static_cast<uint32_t>(ValidationLayers.size()); CreateInfo.enabledLayerCount = static_cast<uint32_t>(ValidationLayers.size());
CreateInfo.ppEnabledLayerNames = ValidationLayers.data(); CreateInfo.ppEnabledLayerNames = ValidationLayers.data();
@@ -222,24 +222,24 @@ SwapChainSupportDetails VulkanDeviceManager::QuerySwapChainSupport(VkPhysicalDev
{ {
SwapChainSupportDetails Details; SwapChainSupportDetails Details;
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device, DeviceConfig.Surface, &Details.Capabilities); vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device, Surface, &Details.Capabilities);
uint32_t FormatCount; uint32_t FormatCount;
vkGetPhysicalDeviceSurfaceFormatsKHR(Device, DeviceConfig.Surface, &FormatCount, nullptr); vkGetPhysicalDeviceSurfaceFormatsKHR(Device, Surface, &FormatCount, nullptr);
if (FormatCount != 0) if (FormatCount != 0)
{ {
Details.Formats.resize(FormatCount); Details.Formats.resize(FormatCount);
vkGetPhysicalDeviceSurfaceFormatsKHR(Device, DeviceConfig.Surface, &FormatCount, Details.Formats.data()); vkGetPhysicalDeviceSurfaceFormatsKHR(Device, Surface, &FormatCount, Details.Formats.data());
} }
uint32_t PresentModeCount; uint32_t PresentModeCount;
vkGetPhysicalDeviceSurfacePresentModesKHR(Device, DeviceConfig.Surface, &PresentModeCount, nullptr); vkGetPhysicalDeviceSurfacePresentModesKHR(Device, Surface, &PresentModeCount, nullptr);
if (PresentModeCount != 0) if (PresentModeCount != 0)
{ {
Details.PresentModes.resize(PresentModeCount); Details.PresentModes.resize(PresentModeCount);
vkGetPhysicalDeviceSurfacePresentModesKHR(Device, DeviceConfig.Surface, &PresentModeCount, Details.PresentModes.data()); vkGetPhysicalDeviceSurfacePresentModesKHR(Device, Surface, &PresentModeCount, Details.PresentModes.data());
} }
return Details; return Details;

View File

@@ -16,33 +16,39 @@ void VulkanFramebuffers::Cleanup()
} }
} }
// void VulkanFramebuffers::CreateFramebuffers(VkRenderPass RenderPass, std::vector<VkImageView> SwapChainImageViews, VkExtent2D SwapChainExtent) // void VulkanFramebuffers::CreateFramebuffers(VkRenderPass RenderPass, std::vector<VkImageView>
void VulkanFramebuffers::CreateFramebuffers() // SwapChainImageViews, VkExtent2D SwapChainExtent)
void VulkanFramebuffers::CreateFramebuffers(VkImageView DepthImageView)
{ {
SwapChainFramebuffers.resize(FramebufferConfig.SwapChainImageViews.size()); SwapChainFramebuffers.resize(FramebufferConfig.SwapChainImageViews.size());
for (size_t i = 0; i < FramebufferConfig.SwapChainImageViews.size(); i++) for (size_t i = 0; i < FramebufferConfig.SwapChainImageViews.size(); i++)
{ {
VkImageView Attachments[] = { std::array<VkImageView, 2> Attachments = { FramebufferConfig.SwapChainImageViews[i],
FramebufferConfig.SwapChainImageViews[i] DepthImageView };
};
VkFramebufferCreateInfo FramebufferInfo{}; VkFramebufferCreateInfo FramebufferInfo{};
FramebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; FramebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
FramebufferInfo.renderPass = FramebufferConfig.RenderPass; FramebufferInfo.renderPass = FramebufferConfig.RenderPass;
FramebufferInfo.attachmentCount = 1; FramebufferInfo.attachmentCount = static_cast<uint32_t>(Attachments.size());
FramebufferInfo.pAttachments = Attachments; FramebufferInfo.pAttachments = Attachments.data();
FramebufferInfo.width = FramebufferConfig.SwapChainExtent.width; FramebufferInfo.width = FramebufferConfig.SwapChainExtent.width;
FramebufferInfo.height = FramebufferConfig.SwapChainExtent.height; FramebufferInfo.height = FramebufferConfig.SwapChainExtent.height;
FramebufferInfo.layers = 1; FramebufferInfo.layers = 1;
if (vkCreateFramebuffer(FramebufferConfig.Device, &FramebufferInfo, nullptr, &SwapChainFramebuffers[i]) != VK_SUCCESS) if (vkCreateFramebuffer(
FramebufferConfig.Device,
&FramebufferInfo,
nullptr,
&SwapChainFramebuffers[i]
)
!= VK_SUCCESS)
{ {
Log::Error("Failed to create frame buffer!"); Log::Error("Failed to create frame buffer!");
} }
else else
{ {
// Log::Info("Successfully created framebuffers."); Log::Info("Successfully created framebuffers.");
} }
} }
} }

View File

@@ -1,6 +1,6 @@
#include "VulkanInstanceManager.h" #include "VulkanInstanceManager.hpp"
#include "VulkanContext.h" #include "VulkanContext.hpp"
#include "utilities/Logger.h" #include "utilities/Logger.h"
#include <cstring> #include <cstring>

View File

@@ -22,7 +22,11 @@ void VulkanPipeline::Cleanup()
vkDestroyPipelineLayout(Device, PipelineLayout, nullptr); vkDestroyPipelineLayout(Device, PipelineLayout, nullptr);
} }
void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRenderPass RenderPass, VkDescriptorSetLayout& DescriptorSetLayout) void VulkanPipeline::CreateGraphicsPipeline(
VkExtent2D SwapChainExtent,
VkRenderPass RenderPass,
VkDescriptorSetLayout& DescriptorSetLayout
)
{ {
auto VertShaderCode = ReadFile("Shaders/vert.spv"); auto VertShaderCode = ReadFile("Shaders/vert.spv");
auto FragShaderCode = ReadFile("Shaders/frag.spv"); auto FragShaderCode = ReadFile("Shaders/frag.spv");
@@ -55,7 +59,8 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
VertexInputInfo.vertexBindingDescriptionCount = 1; VertexInputInfo.vertexBindingDescriptionCount = 1;
VertexInputInfo.pVertexBindingDescriptions = &BindingDescription; VertexInputInfo.pVertexBindingDescriptions = &BindingDescription;
VertexInputInfo.vertexAttributeDescriptionCount = static_cast<uint32_t>(AttributeDescriptions.size()); VertexInputInfo.vertexAttributeDescriptionCount =
static_cast<uint32_t>(AttributeDescriptions.size());
VertexInputInfo.pVertexAttributeDescriptions = AttributeDescriptions.data(); VertexInputInfo.pVertexAttributeDescriptions = AttributeDescriptions.data();
VkPipelineInputAssemblyStateCreateInfo InputAssembly{}; VkPipelineInputAssemblyStateCreateInfo InputAssembly{};
@@ -75,10 +80,8 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
Scissor.offset = { 0, 0 }; Scissor.offset = { 0, 0 };
Scissor.extent = SwapChainExtent; Scissor.extent = SwapChainExtent;
std::vector<VkDynamicState> DynamicStates = { std::vector<VkDynamicState> DynamicStates = { VK_DYNAMIC_STATE_VIEWPORT,
VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR };
VK_DYNAMIC_STATE_SCISSOR
};
VkPipelineDynamicStateCreateInfo DynamicState{}; VkPipelineDynamicStateCreateInfo DynamicState{};
DynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; DynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
@@ -113,7 +116,8 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
Multisampling.alphaToOneEnable = VK_FALSE; Multisampling.alphaToOneEnable = VK_FALSE;
VkPipelineColorBlendAttachmentState ColorBlendAttachement{}; VkPipelineColorBlendAttachmentState ColorBlendAttachement{};
ColorBlendAttachement.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; ColorBlendAttachement.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT
| VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT;
ColorBlendAttachement.blendEnable = VK_FALSE; ColorBlendAttachement.blendEnable = VK_FALSE;
ColorBlendAttachement.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; ColorBlendAttachement.srcColorBlendFactor = VK_BLEND_FACTOR_ONE;
ColorBlendAttachement.dstColorBlendFactor = VK_BLEND_FACTOR_ZERO; ColorBlendAttachement.dstColorBlendFactor = VK_BLEND_FACTOR_ZERO;
@@ -149,6 +153,18 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
Log::Info("Successfully created pipeline layout"); Log::Info("Successfully created pipeline layout");
} }
VkPipelineDepthStencilStateCreateInfo DepthStencil{};
DepthStencil.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
DepthStencil.depthTestEnable = VK_TRUE;
DepthStencil.depthWriteEnable = VK_TRUE;
DepthStencil.depthCompareOp = VK_COMPARE_OP_LESS;
DepthStencil.depthBoundsTestEnable = VK_FALSE;
DepthStencil.minDepthBounds = 0.0f;
DepthStencil.maxDepthBounds = 1.0f;
DepthStencil.stencilTestEnable = VK_FALSE;
DepthStencil.front = {};
DepthStencil.back = {};
VkGraphicsPipelineCreateInfo PipelineInfo{}; VkGraphicsPipelineCreateInfo PipelineInfo{};
PipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; PipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
PipelineInfo.stageCount = 2; PipelineInfo.stageCount = 2;
@@ -158,7 +174,7 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
PipelineInfo.pViewportState = &ViewportState; PipelineInfo.pViewportState = &ViewportState;
PipelineInfo.pRasterizationState = &Rasterizer; PipelineInfo.pRasterizationState = &Rasterizer;
PipelineInfo.pMultisampleState = &Multisampling; PipelineInfo.pMultisampleState = &Multisampling;
PipelineInfo.pDepthStencilState = nullptr; PipelineInfo.pDepthStencilState = &DepthStencil;
PipelineInfo.pColorBlendState = &ColorBlending; PipelineInfo.pColorBlendState = &ColorBlending;
PipelineInfo.pDynamicState = &DynamicState; PipelineInfo.pDynamicState = &DynamicState;
PipelineInfo.layout = PipelineLayout; PipelineInfo.layout = PipelineLayout;
@@ -167,7 +183,15 @@ void VulkanPipeline::CreateGraphicsPipeline(VkExtent2D SwapChainExtent, VkRender
PipelineInfo.basePipelineHandle = VK_NULL_HANDLE; PipelineInfo.basePipelineHandle = VK_NULL_HANDLE;
PipelineInfo.basePipelineIndex = -1; PipelineInfo.basePipelineIndex = -1;
if (vkCreateGraphicsPipelines(Device, VK_NULL_HANDLE, 1, &PipelineInfo, nullptr, &GraphicsPipeline) != VK_SUCCESS) if (vkCreateGraphicsPipelines(
Device,
VK_NULL_HANDLE,
1,
&PipelineInfo,
nullptr,
&GraphicsPipeline
)
!= VK_SUCCESS)
{ {
Log::Error("Failed to create graphics pipeline!"); Log::Error("Failed to create graphics pipeline!");
} }
@@ -248,7 +272,8 @@ VkShaderModule VulkanPipeline::CreateShaderModule(const std::vector<char>& Code)
// } // }
// } // }
// void VulkanPipeline::CreateFramebuffers(std::vector<VkImageView> SwapChainImageViews, VkExtent2D SwapChainExtent) // void VulkanPipeline::CreateFramebuffers(std::vector<VkImageView> SwapChainImageViews, VkExtent2D
// SwapChainExtent)
// { // {
// SwapChainFrameBuffers.resize(SwapChainImageViews.size()); // SwapChainFrameBuffers.resize(SwapChainImageViews.size());
// //
@@ -267,7 +292,8 @@ VkShaderModule VulkanPipeline::CreateShaderModule(const std::vector<char>& Code)
// FramebufferInfo.height = SwapChainExtent.height; // FramebufferInfo.height = SwapChainExtent.height;
// FramebufferInfo.layers = 1; // FramebufferInfo.layers = 1;
// //
// if (vkCreateFramebuffer(Device, &FramebufferInfo, nullptr, &SwapChainFrameBuffers[i]) != VK_SUCCESS) // if (vkCreateFramebuffer(Device, &FramebufferInfo, nullptr, &SwapChainFrameBuffers[i]) !=
// VK_SUCCESS)
// { // {
// Log::Error("Failed to create frame buffer!"); // Log::Error("Failed to create frame buffer!");
// } // }

View File

@@ -1,5 +1,6 @@
#include "VulkanRenderPass.h" #include "VulkanRenderPass.h"
#include "utilities/Logger.h" #include "utilities/Logger.h"
#include <vulkan/vulkan_core.h>
void VulkanRenderPass::Initialize(VkDevice InDevice) void VulkanRenderPass::Initialize(VkDevice InDevice)
{ {
@@ -11,7 +12,7 @@ void VulkanRenderPass::Cleanup()
vkDestroyRenderPass(Device, RenderPass, nullptr); vkDestroyRenderPass(Device, RenderPass, nullptr);
} }
void VulkanRenderPass::CreateRenderPass(VkFormat SwapChainImageFormat) void VulkanRenderPass::CreateRenderPass(VkFormat SwapChainImageFormat, VkFormat DepthFormat)
{ {
VkAttachmentDescription ColorAttachment{}; VkAttachmentDescription ColorAttachment{};
ColorAttachment.format = SwapChainImageFormat; ColorAttachment.format = SwapChainImageFormat;
@@ -27,25 +28,45 @@ void VulkanRenderPass::CreateRenderPass(VkFormat SwapChainImageFormat)
ColorAttachmentRef.attachment = 0; ColorAttachmentRef.attachment = 0;
ColorAttachmentRef.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; ColorAttachmentRef.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
VkAttachmentDescription DepthAttachment{};
DepthAttachment.format = DepthFormat;
DepthAttachment.samples = VK_SAMPLE_COUNT_1_BIT;
DepthAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
DepthAttachment.storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
DepthAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
DepthAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
DepthAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
DepthAttachment.finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
VkAttachmentReference DepthAttachmentRef{};
DepthAttachmentRef.attachment = 1;
DepthAttachmentRef.layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
VkSubpassDescription Subpass{}; VkSubpassDescription Subpass{};
Subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; Subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
Subpass.colorAttachmentCount = 1; Subpass.colorAttachmentCount = 1;
Subpass.pColorAttachments = &ColorAttachmentRef; Subpass.pColorAttachments = &ColorAttachmentRef;
Subpass.pDepthStencilAttachment = &DepthAttachmentRef;
VkRenderPassCreateInfo RenderPassInfo{};
RenderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
RenderPassInfo.attachmentCount = 1;
RenderPassInfo.pAttachments = &ColorAttachment;
RenderPassInfo.subpassCount = 1;
RenderPassInfo.pSubpasses = &Subpass;
VkSubpassDependency Dependency{}; VkSubpassDependency Dependency{};
Dependency.srcSubpass = VK_SUBPASS_EXTERNAL; Dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
Dependency.dstSubpass = 0; Dependency.dstSubpass = 0;
Dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; Dependency.srcStageMask =
Dependency.srcAccessMask = 0; VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
Dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; Dependency.srcAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
Dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; Dependency.dstStageMask =
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
Dependency.dstAccessMask =
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
std::array<VkAttachmentDescription, 2> Attachments = { ColorAttachment, DepthAttachment };
VkRenderPassCreateInfo RenderPassInfo{};
RenderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
RenderPassInfo.attachmentCount = static_cast<uint32_t>(Attachments.size());
RenderPassInfo.pAttachments = Attachments.data();
RenderPassInfo.subpassCount = 1;
RenderPassInfo.pSubpasses = &Subpass;
RenderPassInfo.dependencyCount = 1; RenderPassInfo.dependencyCount = 1;
RenderPassInfo.pDependencies = &Dependency; RenderPassInfo.pDependencies = &Dependency;

View File

@@ -8,7 +8,24 @@
#include "utilities/Logger.h" #include "utilities/Logger.h"
VulkanSwapChain::VulkanSwapChain() VulkanSwapChain::VulkanSwapChain(
VkDevice Device,
VkSurfaceKHR Surface,
GLFWwindow* Window,
uint32_t GraphicsFamily,
uint32_t PresentFamily,
const VkSurfaceCapabilitiesKHR& Capabilities,
const std::vector<VkSurfaceFormatKHR>& Formats,
const std::vector<VkPresentModeKHR>& PresentModes
)
: Device(Device)
, Surface(Surface)
, Window(Window)
, GraphicsFamily(GraphicsFamily)
, PresentFamily(PresentFamily)
, Capabilities(Capabilities)
, Formats(Formats)
, PresentModes(PresentModes)
{ {
} }
@@ -17,25 +34,27 @@ VulkanSwapChain::~VulkanSwapChain()
// Cleanup(); // Cleanup();
} }
void VulkanSwapChain::Initialize(FSwapConfig InSwapConfig) // void VulkanSwapChain::Initialize(FIn
{ // {
SwapConfig = InSwapConfig; // = In
} // }
void VulkanSwapChain::Cleanup() void VulkanSwapChain::Cleanup()
{ {
for (auto ImageView : SwapChainImageViews) for (auto ImageView : SwapChainImageViews)
{ {
vkDestroyImageView(SwapConfig.Device, ImageView, nullptr); vkDestroyImageView(Device, ImageView, nullptr);
} }
vkDestroySwapchainKHR(SwapConfig.Device, SwapChain, nullptr); vkDestroySwapchainKHR(Device, SwapChain, nullptr);
} }
VkSurfaceFormatKHR VulkanSwapChain::ChooseSwapSurfaceFormat(const std::vector<VkSurfaceFormatKHR>& AvailableFormats) VkSurfaceFormatKHR
VulkanSwapChain::ChooseSwapSurfaceFormat(const std::vector<VkSurfaceFormatKHR>& AvailableFormats)
{ {
for (const auto& AvailableFormat : AvailableFormats) for (const auto& AvailableFormat : AvailableFormats)
{ {
if (AvailableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && AvailableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) if (AvailableFormat.format == VK_FORMAT_B8G8R8A8_SRGB
&& AvailableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)
{ {
return AvailableFormat; return AvailableFormat;
} }
@@ -43,7 +62,8 @@ VkSurfaceFormatKHR VulkanSwapChain::ChooseSwapSurfaceFormat(const std::vector<Vk
return AvailableFormats[0]; return AvailableFormats[0];
} }
VkPresentModeKHR VulkanSwapChain::ChooseSwapPresentMode(const std::vector<VkPresentModeKHR>& AvailablePresentModes) VkPresentModeKHR
VulkanSwapChain::ChooseSwapPresentMode(const std::vector<VkPresentModeKHR>& AvailablePresentModes)
{ {
for (const auto& AvailablePresentMode : AvailablePresentModes) for (const auto& AvailablePresentMode : AvailablePresentModes)
{ {
@@ -63,20 +83,25 @@ VkExtent2D VulkanSwapChain::ChooseSwapExtent(const VkSurfaceCapabilitiesKHR& Cap
} }
else else
{ {
if (SwapConfig.Window == nullptr) if (Window == nullptr)
{ {
Log::Error("GLFW window is null in CreateSwapChain!"); Log::Error("GLFW window is null in CreateSwapChain!");
} }
int Width, Height; int Width, Height;
glfwGetFramebufferSize(SwapConfig.Window, &Width, &Height); glfwGetFramebufferSize(Window, &Width, &Height);
VkExtent2D ActualExtent = { VkExtent2D ActualExtent = { static_cast<uint32_t>(Width), static_cast<uint32_t>(Height) };
static_cast<uint32_t>(Width),
static_cast<uint32_t>(Height)
};
ActualExtent.width = std::clamp(ActualExtent.width, Capabilities.minImageExtent.width, Capabilities.maxImageExtent.width); ActualExtent.width = std::clamp(
ActualExtent.height = std::clamp(ActualExtent.height, Capabilities.minImageExtent.height, Capabilities.maxImageExtent.height); ActualExtent.width,
Capabilities.minImageExtent.width,
Capabilities.maxImageExtent.width
);
ActualExtent.height = std::clamp(
ActualExtent.height,
Capabilities.minImageExtent.height,
Capabilities.maxImageExtent.height
);
return ActualExtent; return ActualExtent;
} }
@@ -84,32 +109,34 @@ VkExtent2D VulkanSwapChain::ChooseSwapExtent(const VkSurfaceCapabilitiesKHR& Cap
void VulkanSwapChain::CreateSwapChain() void VulkanSwapChain::CreateSwapChain()
{ {
VkSurfaceFormatKHR SurfaceFormat = ChooseSwapSurfaceFormat(SwapConfig.Formats); VkSurfaceFormatKHR SurfaceFormat = ChooseSwapSurfaceFormat(Formats);
VkPresentModeKHR PresentMode = ChooseSwapPresentMode(SwapConfig.PresentModes); VkPresentModeKHR PresentMode = ChooseSwapPresentMode(PresentModes);
VkExtent2D Extent = ChooseSwapExtent(SwapConfig.Capabilities); VkExtent2D Extent = ChooseSwapExtent(Capabilities);
uint32_t ImageCount = SwapConfig.Capabilities.minImageCount + 1; uint32_t ImageCount = Capabilities.minImageCount + 1;
if (SwapConfig.Capabilities.maxImageCount > 0 && ImageCount > SwapConfig.Capabilities.maxImageCount) if (Capabilities.maxImageCount > 0 && ImageCount > Capabilities.maxImageCount)
{ {
ImageCount = SwapConfig.Capabilities.maxImageCount; ImageCount = Capabilities.maxImageCount;
} }
VkSwapchainCreateInfoKHR CreateInfo{}; VkSwapchainCreateInfoKHR CreateInfo{};
CreateInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; CreateInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
CreateInfo.surface = SwapConfig.Surface; CreateInfo.surface = Surface;
CreateInfo.minImageCount = ImageCount; CreateInfo.minImageCount = ImageCount;
CreateInfo.imageFormat = SurfaceFormat.format; CreateInfo.imageFormat = SurfaceFormat.format;
CreateInfo.imageColorSpace = SurfaceFormat.colorSpace; CreateInfo.imageColorSpace = SurfaceFormat.colorSpace;
CreateInfo.imageExtent = Extent; CreateInfo.imageExtent = Extent;
CreateInfo.imageArrayLayers = 1; CreateInfo.imageArrayLayers = 1;
CreateInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; // may need VK_IMAGE_USAGE_TRANSFER_DST_BIT for post processing https://vulkan-tutorial.com/Drawing_a_triangle/Presentation/Swap_chain#:~:text=VK%5FIMAGE%5FUSAGE%5FTRANSFER%5FDST%5FBIT CreateInfo.imageUsage =
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; // may need VK_IMAGE_USAGE_TRANSFER_DST_BIT for post
// processing
// https://vulkan-tutorial.com/Drawing_a_triangle/Presentation/Swap_chain#:~:text=VK%5FIMAGE%5FUSAGE%5FTRANSFER%5FDST%5FBIT
uint32_t QueueFamilyIndices[] = { SwapConfig.GraphicsFamily.value(), uint32_t QueueFamilyIndices[] = { GraphicsFamily, PresentFamily };
SwapConfig.PresentFamily.value() };
if (SwapConfig.GraphicsFamily != SwapConfig.PresentFamily) if (GraphicsFamily != PresentFamily)
{ {
CreateInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; CreateInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT;
CreateInfo.queueFamilyIndexCount = 2; CreateInfo.queueFamilyIndexCount = 2;
@@ -122,13 +149,13 @@ void VulkanSwapChain::CreateSwapChain()
CreateInfo.pQueueFamilyIndices = nullptr; CreateInfo.pQueueFamilyIndices = nullptr;
} }
CreateInfo.preTransform = SwapConfig.Capabilities.currentTransform; CreateInfo.preTransform = Capabilities.currentTransform;
CreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; CreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
CreateInfo.presentMode = PresentMode; CreateInfo.presentMode = PresentMode;
CreateInfo.clipped = VK_TRUE; CreateInfo.clipped = VK_TRUE;
CreateInfo.oldSwapchain = VK_NULL_HANDLE; CreateInfo.oldSwapchain = VK_NULL_HANDLE;
if (vkCreateSwapchainKHR(SwapConfig.Device, &CreateInfo, nullptr, &SwapChain) != VK_SUCCESS) if (vkCreateSwapchainKHR(Device, &CreateInfo, nullptr, &SwapChain) != VK_SUCCESS)
{ {
Log::Error("Failed to create swap chain."); Log::Error("Failed to create swap chain.");
} }
@@ -137,47 +164,49 @@ void VulkanSwapChain::CreateSwapChain()
Log::Info("Successfully created swap chain."); Log::Info("Successfully created swap chain.");
} }
vkGetSwapchainImagesKHR(SwapConfig.Device, SwapChain, &ImageCount, nullptr); vkGetSwapchainImagesKHR(Device, SwapChain, &ImageCount, nullptr);
SwapChainImages.resize(ImageCount); SwapChainImages.resize(ImageCount);
vkGetSwapchainImagesKHR(SwapConfig.Device, SwapChain, &ImageCount, SwapChainImages.data()); vkGetSwapchainImagesKHR(Device, SwapChain, &ImageCount, SwapChainImages.data());
SwapChainImageFormat = SurfaceFormat.format; SwapChainImageFormat = SurfaceFormat.format;
SwapChainExtent = Extent; SwapChainExtent = Extent;
} }
VkImageView
VulkanSwapChain::CreateImageView(VkImage Image, VkFormat Format, VkImageAspectFlags AspectFlags)
{
VkImageViewCreateInfo ViewInfo{};
ViewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
ViewInfo.image = Image;
ViewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D;
ViewInfo.format = Format;
ViewInfo.subresourceRange.aspectMask = AspectFlags;
ViewInfo.subresourceRange.baseMipLevel = 0;
ViewInfo.subresourceRange.levelCount = 1;
ViewInfo.subresourceRange.baseArrayLayer = 0;
ViewInfo.subresourceRange.layerCount = 1;
VkImageView ImageView;
if (vkCreateImageView(Device, &ViewInfo, nullptr, &ImageView) != VK_SUCCESS)
{
Log::Error("Failed to create image view!");
}
else
{
Log::Info("Successfully created image view.");
}
return ImageView;
}
void VulkanSwapChain::CreateImageViews() void VulkanSwapChain::CreateImageViews()
{ {
SwapChainImageViews.resize(SwapChainImages.size()); SwapChainImageViews.resize(SwapChainImages.size());
int CreatedViews = 0;
for (size_t i = 0; i < SwapChainImages.size(); i++) for (size_t i = 0; i < SwapChainImages.size(); i++)
{ {
VkImageViewCreateInfo CreateInfo{}; SwapChainImageViews[i] =
CreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; CreateImageView(SwapChainImages[i], SwapChainImageFormat, VK_IMAGE_ASPECT_COLOR_BIT);
CreateInfo.image = SwapChainImages[i];
CreateInfo.viewType = VK_IMAGE_VIEW_TYPE_2D;
CreateInfo.format = SwapChainImageFormat;
CreateInfo.components.r = VK_COMPONENT_SWIZZLE_IDENTITY;
CreateInfo.components.g = VK_COMPONENT_SWIZZLE_IDENTITY;
CreateInfo.components.b = VK_COMPONENT_SWIZZLE_IDENTITY;
CreateInfo.components.a = VK_COMPONENT_SWIZZLE_IDENTITY;
CreateInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
CreateInfo.subresourceRange.baseMipLevel = 0;
CreateInfo.subresourceRange.levelCount = 1;
CreateInfo.subresourceRange.baseArrayLayer = 0;
CreateInfo.subresourceRange.layerCount = 1;
if (vkCreateImageView(SwapConfig.Device, &CreateInfo, nullptr, &SwapChainImageViews[i]) != VK_SUCCESS)
{
Log::Error("Failed to create image views.");
}
else
{
CreatedViews++;
} }
} }
Log::Info("Successfully created " + std::to_string(CreatedViews) + " image views.");
}

View File

@@ -0,0 +1,281 @@
#include "VulkanTexture.hpp"
#include "Logger.h"
#include "VulkanBuffers.h"
#include "VulkanSwapChain.h"
#include <stb_image.h>
VulkanTexture::VulkanTexture(
VkDevice Device,
VkPhysicalDevice PhysicalDevice,
VkQueue GraphicsQueue,
VulkanBuffers& Buffers,
VulkanSwapChain& SwapChain
)
: Device(Device)
, PhysicalDevice(PhysicalDevice)
, GraphicsQueue(GraphicsQueue)
, Buffers(Buffers)
, SwapChain(SwapChain)
{
}
VulkanTexture::~VulkanTexture() {}
void VulkanTexture::Cleanup()
{
CleanupTextures();
CleanupDepth();
}
void VulkanTexture::CleanupTextures()
{
vkDestroySampler(Device, Sampler, nullptr);
vkDestroyImageView(Device, ImageView, nullptr);
vkDestroyImage(Device, Image, nullptr);
vkFreeMemory(Device, ImageMemory, nullptr);
}
void VulkanTexture::CleanupDepth()
{
vkDestroyImageView(Device, DepthImageView, nullptr);
vkDestroyImage(Device, DepthImage, nullptr);
vkFreeMemory(Device, DepthImageMemory, nullptr);
}
void VulkanTexture::LoadFromFile(const char* Filename)
{
int TextureWidth, TextureHeight, TextureChannels;
stbi_uc* Pixels =
stbi_load(Filename, &TextureWidth, &TextureHeight, &TextureChannels, STBI_rgb_alpha);
VkDeviceSize ImageSize = TextureWidth * TextureHeight * 4;
if (!Pixels)
{
Log::Error("Failed to load texture image!");
}
else
{
Log::Info("Successfully loaded texture image.");
}
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
Buffers.CreateBuffer(
ImageSize,
VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
StagingBuffer,
StagingBufferMemory
);
void* Data;
vkMapMemory(Device, StagingBufferMemory, 0, ImageSize, 0, &Data);
memcpy(Data, Pixels, static_cast<size_t>(ImageSize));
vkUnmapMemory(Device, StagingBufferMemory);
stbi_image_free(Pixels);
CreateImage(
TextureWidth,
TextureHeight,
VK_FORMAT_R8G8B8A8_SRGB,
VK_IMAGE_TILING_OPTIMAL,
VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
Image,
ImageMemory
);
Buffers.TransitionImageLayout(
Image,
VK_FORMAT_R8G8B8A8_SRGB,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
HasStencilComponent(VK_FORMAT_R8G8B8A8_SRGB)
);
Buffers.CopyBufferToImage(
StagingBuffer,
Image,
static_cast<uint32_t>(TextureWidth),
static_cast<uint32_t>(TextureHeight)
);
Buffers.TransitionImageLayout(
Image,
VK_FORMAT_R8G8B8A8_SRGB,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
HasStencilComponent(VK_FORMAT_R8G8B8A8_SRGB)
);
vkDestroyBuffer(Device, StagingBuffer, nullptr);
vkFreeMemory(Device, StagingBufferMemory, nullptr);
}
void VulkanTexture::CreateImageView()
{
ImageView =
SwapChain.CreateImageView(Image, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_ASPECT_COLOR_BIT);
}
void VulkanTexture::CreateSampler()
{
VkSamplerCreateInfo SamplerInfo{};
SamplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
SamplerInfo.magFilter = VK_FILTER_LINEAR;
SamplerInfo.minFilter = VK_FILTER_LINEAR;
SamplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT;
SamplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT;
SamplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT;
SamplerInfo.anisotropyEnable = VK_TRUE;
VkPhysicalDeviceProperties Properties{};
vkGetPhysicalDeviceProperties(PhysicalDevice, &Properties);
SamplerInfo.maxAnisotropy = Properties.limits.maxSamplerAnisotropy;
SamplerInfo.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK;
SamplerInfo.unnormalizedCoordinates = VK_FALSE;
SamplerInfo.compareEnable = VK_FALSE;
SamplerInfo.compareOp = VK_COMPARE_OP_ALWAYS;
SamplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR;
SamplerInfo.mipLodBias = 0.0f;
SamplerInfo.minLod = 0.0f;
SamplerInfo.maxLod = 0.0f;
if (vkCreateSampler(Device, &SamplerInfo, nullptr, &Sampler) != VK_SUCCESS)
{
Log::Error("Failed to create texture sampler!");
}
else
{
Log::Info("Successfully created texture sampler.");
}
}
void VulkanTexture::CreateDepthResources()
{
VkFormat DepthFormat = FindDepthFormat();
VkExtent2D Extents = SwapChain.GetSwapChainExtent();
CreateImage(
Extents.width,
Extents.height,
DepthFormat,
VK_IMAGE_TILING_OPTIMAL,
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
DepthImage,
DepthImageMemory
);
DepthImageView = SwapChain.CreateImageView(DepthImage, DepthFormat, VK_IMAGE_ASPECT_DEPTH_BIT);
Buffers.TransitionImageLayout(
DepthImage,
DepthFormat,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
HasStencilComponent(DepthFormat)
);
}
VkFormat VulkanTexture::FindSupportedFormat(
const std::vector<VkFormat>& Candidates,
VkImageTiling Tiling,
VkFormatFeatureFlags Features
)
{
for (VkFormat Format : Candidates)
{
VkFormatProperties Properties;
vkGetPhysicalDeviceFormatProperties(PhysicalDevice, Format, &Properties);
if (Tiling == VK_IMAGE_TILING_LINEAR
&& (Properties.linearTilingFeatures & Features) == Features)
{
return Format;
}
else if (Tiling == VK_IMAGE_TILING_OPTIMAL
&& (Properties.optimalTilingFeatures & Features) == Features)
{
return Format;
}
}
Log::Error("Failed to find supported format!");
}
VkFormat VulkanTexture::FindDepthFormat()
{
return FindSupportedFormat(
{ VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT },
VK_IMAGE_TILING_OPTIMAL,
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
);
}
bool VulkanTexture::HasStencilComponent(VkFormat Format)
{
return Format == VK_FORMAT_D32_SFLOAT_S8_UINT || Format == VK_FORMAT_D24_UNORM_S8_UINT;
}
void VulkanTexture::CreateImage(
uint32_t Width,
uint32_t Height,
VkFormat Format,
VkImageTiling Tiling,
VkImageUsageFlags Usage,
VkMemoryPropertyFlags Properties,
VkImage& Image,
VkDeviceMemory& ImageMemory
)
{
VkImageCreateInfo ImageInfo{};
ImageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
ImageInfo.imageType = VK_IMAGE_TYPE_2D;
ImageInfo.extent.width = Width;
ImageInfo.extent.height = Height;
ImageInfo.extent.depth = 1;
ImageInfo.mipLevels = 1;
ImageInfo.arrayLayers = 1;
ImageInfo.format = Format;
ImageInfo.tiling = Tiling;
ImageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
ImageInfo.usage = Usage;
ImageInfo.samples = VK_SAMPLE_COUNT_1_BIT;
ImageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
if (vkCreateImage(Device, &ImageInfo, nullptr, &Image) != VK_SUCCESS)
{
Log::Error("Failed to create image!");
}
else
{
Log::Info("Successfully created image.");
}
VkMemoryRequirements MemoryRequirements;
vkGetImageMemoryRequirements(Device, Image, &MemoryRequirements);
VkMemoryAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
AllocateInfo.allocationSize = MemoryRequirements.size;
AllocateInfo.memoryTypeIndex =
Buffers.FindMemoryType(MemoryRequirements.memoryTypeBits, Properties);
if (vkAllocateMemory(Device, &AllocateInfo, nullptr, &ImageMemory) != VK_SUCCESS)
{
Log::Error("Failed to allocate image memory!");
}
else
{
Log::Info("Successfully allocated imaged memory.");
}
vkBindImageMemory(Device, Image, ImageMemory, 0);
}

View File

@@ -1,176 +0,0 @@
#include "VulkanVertexBuffer.h"
#include "utilities/Logger.h"
#include <cstdint>
#include <vulkan/vulkan_core.h>
#include <cstring>
void VulkanVertexBuffer::Initialize(FVertexBufferConfig InConfig)
{
Config = InConfig;
}
void VulkanVertexBuffer::Cleanup(const uint32_t MAX_FRAMES_IN_FLIGHT)
{
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{
vkDestroyBuffer(Config.Device, UniformBuffers[i], nullptr);
vkFreeMemory(Config.Device, UniformBuffersMemory[i], nullptr);
}
vkDestroyBuffer(Config.Device, IndexBuffer, nullptr);
vkFreeMemory(Config.Device, IndexBufferMemory, nullptr);
vkDestroyBuffer(Config.Device, VertexBuffer, nullptr);
vkFreeMemory(Config.Device, VertexBufferMemory, nullptr);
}
void VulkanVertexBuffer::CreateBuffer(VkDeviceSize Size, VkBufferUsageFlags Usage, VkMemoryPropertyFlags Properties, VkBuffer& Buffer, VkDeviceMemory& BufferMemory)
{
VkBufferCreateInfo BufferInfo{};
BufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
BufferInfo.size = Size;
BufferInfo.usage = Usage;
BufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
if (vkCreateBuffer(Config.Device, &BufferInfo, nullptr, &Buffer) != VK_SUCCESS)
{
Log::Error("Failed to create buffer!");
}
else
{
Log::Info("Successfully created buffer.");
}
VkMemoryRequirements MemoryRequirements;
vkGetBufferMemoryRequirements(Config.Device, Buffer, &MemoryRequirements);
VkMemoryAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
AllocateInfo.allocationSize = MemoryRequirements.size;
AllocateInfo.memoryTypeIndex = FindMemoryType(MemoryRequirements.memoryTypeBits, Properties);
if (vkAllocateMemory(Config.Device, &AllocateInfo, nullptr, &BufferMemory) != VK_SUCCESS)
{
Log::Error("Failed to allocate vertex buffer memory!");
}
else
{
Log::Info("Successfully allocated vertex buffer memory.");
}
vkBindBufferMemory(Config.Device, Buffer, BufferMemory, 0);
}
void VulkanVertexBuffer::CopyBuffer(VkBuffer SrcBuffer, VkBuffer DstBuffer, VkDeviceSize Size)
{
VkCommandBufferAllocateInfo AllocateInfo{};
AllocateInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
AllocateInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
AllocateInfo.commandPool = Config.CommandPool;
AllocateInfo.commandBufferCount = 1;
VkCommandBuffer CommandBuffer;
vkAllocateCommandBuffers(Config.Device, &AllocateInfo, &CommandBuffer);
VkCommandBufferBeginInfo BeginInfo{};
BeginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
BeginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
vkBeginCommandBuffer(CommandBuffer, &BeginInfo);
VkBufferCopy CopyRegion{};
CopyRegion.srcOffset = 0;
CopyRegion.dstOffset = 0;
CopyRegion.size = Size;
vkCmdCopyBuffer(CommandBuffer, SrcBuffer, DstBuffer, 1, &CopyRegion);
vkEndCommandBuffer(CommandBuffer);
VkSubmitInfo SubmitInfo{};
SubmitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
SubmitInfo.commandBufferCount = 1;
SubmitInfo.pCommandBuffers = &CommandBuffer;
vkQueueSubmit(Config.GraphicsQueue, 1, &SubmitInfo, VK_NULL_HANDLE);
vkQueueWaitIdle(Config.GraphicsQueue);
vkFreeCommandBuffers(Config.Device, Config.CommandPool, 1, &CommandBuffer);
}
void VulkanVertexBuffer::CreateVertexBuffer(const std::vector<Vertex>& InVertices)
{
VkDeviceSize BufferSize = sizeof(InVertices[0]) * InVertices.size();
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
CreateBuffer(BufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, StagingBuffer, StagingBufferMemory);
Log::Info("Starting buffer copy...");
void* Data;
vkMapMemory(Config.Device, StagingBufferMemory, 0, BufferSize, 0, &Data);
memcpy(Data, InVertices.data(), (size_t)BufferSize);
vkUnmapMemory(Config.Device, StagingBufferMemory);
Log::Info("Finished buffer copy...");
CreateBuffer(BufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, VertexBuffer, VertexBufferMemory);
CopyBuffer(StagingBuffer, VertexBuffer, BufferSize);
vkDestroyBuffer(Config.Device, StagingBuffer, nullptr);
vkFreeMemory(Config.Device, StagingBufferMemory, nullptr);
}
void VulkanVertexBuffer::CreateIndexBuffer(const std::vector<uint16_t>& InIndices)
{
VkDeviceSize BufferSize = sizeof(InIndices[0]) * InIndices.size();
VkBuffer StagingBuffer;
VkDeviceMemory StagingBufferMemory;
CreateBuffer(BufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, StagingBuffer, StagingBufferMemory);
Log::Info("Starting buffer copy...");
void* Data;
vkMapMemory(Config.Device, StagingBufferMemory, 0, BufferSize, 0, &Data);
memcpy(Data, InIndices.data(), (size_t)BufferSize);
vkUnmapMemory(Config.Device, StagingBufferMemory);
Log::Info("Finished buffer copy...");
CreateBuffer(BufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, IndexBuffer, IndexBufferMemory);
CopyBuffer(StagingBuffer, IndexBuffer, BufferSize);
vkDestroyBuffer(Config.Device, StagingBuffer, nullptr);
vkFreeMemory(Config.Device, StagingBufferMemory, nullptr);
}
void VulkanVertexBuffer::CreateUniformBuffers(const uint32_t MAX_FRAMES_IN_FLIGHT)
{
VkDeviceSize BufferSize = sizeof(UniformBufferObject);
UniformBuffers.resize(MAX_FRAMES_IN_FLIGHT);
UniformBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT);
UniformBuffersMapped.resize(MAX_FRAMES_IN_FLIGHT);
for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++)
{
CreateBuffer(BufferSize, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, UniformBuffers[i], UniformBuffersMemory[i]);
vkMapMemory(Config.Device, UniformBuffersMemory[i], 0, BufferSize, 0, &UniformBuffersMapped[i]);
}
}
uint32_t VulkanVertexBuffer::FindMemoryType(uint32_t TypeFilter, VkMemoryPropertyFlags Properties)
{
VkPhysicalDeviceMemoryProperties MemoryProperties;
vkGetPhysicalDeviceMemoryProperties(Config.PhysicalDevice, &MemoryProperties);
for (uint32_t i = 0; i < MemoryProperties.memoryTypeCount; i++)
{
if ((TypeFilter & (1 << i)) && (MemoryProperties.memoryTypes[i].propertyFlags & Properties) == Properties)
{
return i;
}
}
Log::Error("Failed to find suitable memory type!");
return 0;
}

109
src/public/VulkanBuffers.h Normal file
View File

@@ -0,0 +1,109 @@
#pragma once
#include <vulkan/vulkan_core.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#include <cstdint>
#include <vector>
#include <optional>
#include "Primitives.h"
struct FBufferConfig
{
VkDevice Device;
VkRenderPass RenderPass;
VkPhysicalDevice PhysicalDevice;
VkQueue GraphicsQueue;
};
struct FRecordBuffersParams
{
VkCommandBuffer InCommandBuffer;
uint32_t ImageIndex;
VkBuffer InVertexBuffer;
uint32_t InVerticesSize;
VkBuffer InIndexBuffer;
uint32_t InIndexSize;
VkRenderPass RenderPass;
VkExtent2D SwapChainExtent;
VkPipeline GraphicsPipeline;
std::vector<VkFramebuffer> SwapChainFramebuffers;
VkDescriptorSet DescriptorSet;
VkPipelineLayout PipelineLayout;
bool bDrawImGui = false;
// std::vector<Vertex> InVertices;
// ImDrawData* DrawData = nullptr;
};
class VulkanBuffers
{
public:
void Initialize(FBufferConfig InConfig);
// VkDevice InDevice,
// VkRenderPass InRenderPass);
void Cleanup(size_t MAX_FRAMES_IN_FLIGHT);
void CreateCommandPool(std::optional<uint32_t> GraphicsFamily);
void CreateCommandBuffers(int FramesInFlight);
void RecordCommandBuffer(FRecordBuffersParams& Params);
VkCommandBuffer BeginSingleTimeCommands();
void EndSingleTimeCommands(VkCommandBuffer InCommandBuffer, VkQueue GraphicsQueue);
void TransitionImageLayout(
VkImage Image,
VkFormat Format,
VkImageLayout OldLayout,
VkImageLayout NewLayout,
bool bHasStencilComponent
);
void CopyBufferToImage(VkBuffer Buffer, VkImage Image, uint32_t Width, uint32_t Height);
void
CopyBuffer(VkQueue GraphicsQueue, VkBuffer SrcBuffer, VkBuffer DstBuffer, VkDeviceSize Size);
void CreateBuffer(
VkDeviceSize Size,
VkBufferUsageFlags Usage,
VkMemoryPropertyFlags Properties,
VkBuffer& Buffer,
VkDeviceMemory& BufferMemory
);
void CreateVertexBuffer(const std::vector<Vertex>& InVertices);
void CreateIndexBuffer(const std::vector<uint16_t>& InIndices);
void CreateUniformBuffers(const uint32_t MAX_FRAMES_IN_FLIGHT);
uint32_t FindMemoryType(uint32_t TypeFilter, VkMemoryPropertyFlags Properties);
std::vector<VkCommandBuffer> GetCommandBuffers() { return CommandBuffers; }
VkCommandBuffer GetCommandBuffer(int i) { return CommandBuffers[i]; }
VkCommandPool GetCommandPool() { return CommandPool; }
VkBuffer GetVertexBuffer() { return VertexBuffer; }
VkBuffer GetIndexBuffer() { return IndexBuffer; }
std::vector<VkBuffer> GetUniformBuffers() { return UniformBuffers; }
std::vector<void*> GetUniformBuffersMapped() { return UniformBuffersMapped; }
private:
// VkDevice Device;
// VkRenderPass RenderPass;
// VkQueue GraphicsQueue;
FBufferConfig Config;
std::vector<VkCommandBuffer> CommandBuffers;
VkCommandPool CommandPool;
VkBuffer VertexBuffer;
VkDeviceMemory VertexBufferMemory;
VkBuffer IndexBuffer;
VkDeviceMemory IndexBufferMemory;
std::vector<VkBuffer> UniformBuffers;
std::vector<VkDeviceMemory> UniformBuffersMemory;
std::vector<void*> UniformBuffersMapped;
};

View File

@@ -1,58 +0,0 @@
#pragma once
#include "VulkanVertexBuffer.h"
#include <cstdint>
#include <vulkan/vulkan_core.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#include <vector>
#include <optional>
struct FRecordCommandBuffersParams
{
VkCommandBuffer InCommandBuffer;
uint32_t ImageIndex;
VkBuffer InVertexBuffer;
uint32_t InVerticesSize;
VkBuffer InIndexBuffer;
uint32_t InIndexSize;
VkRenderPass RenderPass;
VkExtent2D SwapChainExtent;
VkPipeline GraphicsPipeline;
std::vector<VkFramebuffer> SwapChainFramebuffers;
VkDescriptorSet DescriptorSet;
VkPipelineLayout PipelineLayout;
bool bDrawImGui = false;
// std::vector<Vertex> InVertices;
// ImDrawData* DrawData = nullptr;
};
class VulkanCommandBuffers
{
public:
void Initialize(
VkDevice InDevice,
VkRenderPass InRenderPass);
void Cleanup();
void CreateCommandPool(std::optional<uint32_t> GraphicsFamily);
void CreateCommandBuffers(int FramesInFlight);
void RecordCommandBuffer(FRecordCommandBuffersParams& Params);
std::vector<VkCommandBuffer> GetCommandBuffers() { return CommandBuffers; }
VkCommandBuffer GetCommandBuffer(int i) { return CommandBuffers[i]; }
VkCommandPool GetCommandPool() { return CommandPool; }
private:
VkDevice Device;
VkRenderPass RenderPass;
// VkQueue GraphicsQueue;
std::vector<VkCommandBuffer> CommandBuffers;
VkCommandPool CommandPool;
};

View File

@@ -1,26 +1,26 @@
#pragma once #pragma once
#include "VulkanCommandBuffers.h" class VulkanInstanceManager;
#include "VulkanFramebuffers.h" class VulkanDebugManager;
#include "VulkanInstanceManager.h" class VulkanDeviceManager;
#include "VulkanDeviceManager.h" class VulkanSwapChain;
#include "VulkanDebugManager.h" class VulkanPipeline;
#include "VulkanPipeline.h" class VulkanRenderPass;
#include "VulkanRenderPass.h" class VulkanBuffers;
#include "VulkanSwapChain.h" class VulkanFramebuffers;
#include "VulkanVertexBuffer.h" class VulkanTexture;
class Vertex;
#include <cstdint> #include <cstdint>
#include <string> #include <memory>
#include <vector> #include <vector>
#include <vulkan/vulkan_core.h> #include <vulkan/vulkan_core.h>
#define GLFW_INCLUDE_VULKAN #define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
static const std::vector<const char*> ValidationLayers = { static const std::vector<const char*> ValidationLayers = { "VK_LAYER_KHRONOS_validation" };
"VK_LAYER_KHRONOS_validation" static size_t MAX_FRAMES_IN_FLIGHT = 2;
};
struct FVulkanConfig struct FVulkanConfig
{ {
@@ -36,17 +36,22 @@ public:
VulkanContext(); VulkanContext();
~VulkanContext(); ~VulkanContext();
VulkanInstanceManager InstanceManager; std::unique_ptr<VulkanInstanceManager> InstanceManager;
VulkanDebugManager DebugManager; std::unique_ptr<VulkanDebugManager> DebugManager;
VulkanDeviceManager DeviceManager; std::unique_ptr<VulkanDeviceManager> DeviceManager;
VulkanSwapChain SwapChain; std::unique_ptr<VulkanSwapChain> SwapChain;
VulkanPipeline GraphicsPipeline; std::unique_ptr<VulkanPipeline> GraphicsPipeline;
VulkanRenderPass RenderPass; std::unique_ptr<VulkanRenderPass> RenderPass;
VulkanFramebuffers Framebuffers; std::unique_ptr<VulkanFramebuffers> Framebuffers;
VulkanVertexBuffer VertexBuffer; std::unique_ptr<VulkanBuffers> Buffers;
VulkanCommandBuffers CommandBuffers; std::unique_ptr<VulkanTexture> Textures;
// std::unique_ptr<VulkanDepthPass> DepthPass;
void Initialize(FVulkanConfig& InConfig, const std::vector<Vertex>& InVertices, const std::vector<uint16_t>& InIndices); void Initialize(
FVulkanConfig& InConfig,
const std::vector<Vertex>& InVertices,
const std::vector<uint16_t>& InIndices
);
void Cleanup(); void Cleanup();
void CreateSurface(GLFWwindow* Window); void CreateSurface(GLFWwindow* Window);
@@ -55,20 +60,10 @@ public:
void CreateDescriptorPool(); void CreateDescriptorPool();
void CreateDescriptorSets(); void CreateDescriptorSets();
void CreateImage(
uint32_t Width,
uint32_t Height,
VkFormat Format,
VkImageTiling Tiling,
VkImageUsageFlags Usage,
VkMemoryPropertyFlags Properties,
VkImage& Image,
VkDeviceMemory& ImageMemory);
void CreateTextureImage(const char* FileName);
void CreateSyncObjects(); void CreateSyncObjects();
void DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t InIndexSize); void DrawFrame(bool bDrawImGui, uint32_t InVerticesSize, uint32_t InIndexSize);
void UpdateUniformBuffer(uint32_t CurrentImage); void UpdateUniformBuffer(uint32_t CurrentImage);
void RecreateSwapChain(); void RecreateSwapChain();
@@ -95,13 +90,18 @@ private:
VkDescriptorPool DescriptorPool; VkDescriptorPool DescriptorPool;
std::vector<VkDescriptorSet> DescriptorSets; std::vector<VkDescriptorSet> DescriptorSets;
VkImage TextureImage; // VkImage TextureImage;
VkDeviceMemory TextureImageMemory; // VkDeviceMemory TextureImageMemory;
// VkImageView TextureImageView;
// VkSampler TextureSampler;
//
// VkImage DepthImage;
// VkDeviceMemory DepthImageMemory;
// VkImageView DepthImageView;
bool bFramebufferResized = false; bool bFramebufferResized = false;
bool bImGuiGlfwInitialized = false; bool bImGuiGlfwInitialized = false;
bool bImGuiVulkanInitialized = false; bool bImGuiVulkanInitialized = false;
const size_t MAX_FRAMES_IN_FLIGHT = 2;
uint32_t CurrentFrame = 0; uint32_t CurrentFrame = 0;
}; };

View File

@@ -0,0 +1,73 @@
#pragma once
#include "Logger.h"
#include "VulkanContext.hpp"
#include <vector>
#include <vulkan/vulkan_core.h>
struct FDepthConfig
{
VkPhysicalDevice PhysicalDevice;
};
class VulkanDepthPass
{
public:
void Initialize(FDepthConfig& InConfig) { Config = InConfig; }
void CreateDepthResources() { VkFormat DepthFormat = FindDepthFormat(); }
VkFormat FindSupportedFormat(
const std::vector<VkFormat>& Candidates,
VkImageTiling Tiling,
VkFormatFeatureFlags Features
)
{
for (VkFormat Format : Candidates)
{
VkFormatProperties Properties;
vkGetPhysicalDeviceFormatProperties(Config.PhysicalDevice, Format, &Properties);
if (Tiling == VK_IMAGE_TILING_LINEAR
&& (Properties.linearTilingFeatures & Features) == Features)
{
return Format;
}
else if (Tiling == VK_IMAGE_TILING_OPTIMAL
&& (Properties.optimalTilingFeatures & Features) == Features)
{
return Format;
}
}
Log::Error("Failed to find supported format!");
}
VkFormat FindDepthFormat()
{
return FindSupportedFormat(
{ VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT },
VK_IMAGE_TILING_OPTIMAL,
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
);
}
bool HasStencilComponent(VkFormat Format)
{
return Format == VK_FORMAT_D32_SFLOAT_S8_UINT || Format == VK_FORMAT_D24_UNORM_S8_UINT;
}
VkImage& GetDepthImage() { return DepthImage; }
VkDeviceMemory& GetDepthImageMemory() { return DepthImageMemory; }
VkImageView& GetDepthImageView() { return DepthImageView; }
void SetDepthImageView(VkImageView ImageView) { DepthImageView = ImageView; }
private:
FDepthConfig Config;
VkImage DepthImage;
VkDeviceMemory DepthImageMemory;
VkImageView DepthImageView;
};

View File

@@ -7,14 +7,6 @@
#define GLFW_INCLUDE_VULKAN #define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
struct FDeviceConfig
{
VkInstance Instance;
bool bEnableValidationLayers;
VkSurfaceKHR Surface;
GLFWwindow* Window;
};
struct QueueFamilyIndices struct QueueFamilyIndices
{ {
std::optional<uint32_t> GraphicsFamily; std::optional<uint32_t> GraphicsFamily;
@@ -36,14 +28,13 @@ struct SwapChainSupportDetails
class VulkanDeviceManager class VulkanDeviceManager
{ {
public: public:
VulkanDeviceManager(); VulkanDeviceManager(
~VulkanDeviceManager(); VkInstance Instance,
VkSurfaceKHR Surface,
GLFWwindow* Window,
bool bEnableValidationLayers);
void Initialize(FDeviceConfig InConfig); ~VulkanDeviceManager();
// VkInstance Instance,
// bool EnableValidationLayers,
// VkSurfaceKHR Surface,
// GLFWwindow* Window);
void Cleanup(); void Cleanup();
@@ -58,7 +49,10 @@ public:
VkQueue GetPresentQueue() { return PresentQueue; } VkQueue GetPresentQueue() { return PresentQueue; }
private: private:
FDeviceConfig DeviceConfig; VkInstance Instance;
VkSurfaceKHR Surface;
GLFWwindow* Window;
bool bEnableValidationLayers;
VkDevice Device = VK_NULL_HANDLE; VkDevice Device = VK_NULL_HANDLE;
VkPhysicalDevice PhysicalDevice = VK_NULL_HANDLE; VkPhysicalDevice PhysicalDevice = VK_NULL_HANDLE;

View File

@@ -21,17 +21,10 @@ public:
void Cleanup(); void Cleanup();
void CreateFramebuffers(); void CreateFramebuffers(VkImageView DepthImageView);
// void CreateFramebuffers(VkRenderPass RenderPass, std::vector<VkImageView> SwapChainImageViews, VkExtent2D SwapChainExtent);
std::vector<VkFramebuffer> GetSwapChainFrameBuffers() { return SwapChainFramebuffers; } std::vector<VkFramebuffer> GetSwapChainFrameBuffers() { return SwapChainFramebuffers; }
// void CreateCommandPool(std::optional<uint32_t> GraphicsFamily);
//
// void CreateCommandBuffer();
//
// void RecordCommandBuffer(VkCommandBuffer CommandBuffer, uint32_t imageIndex, VkRenderPass RenderPass, VkExtent2D SwapChainExtent, VkPipeline GraphicsPipeline);
private: private:
FFramebufferConfig FramebufferConfig; FFramebufferConfig FramebufferConfig;

View File

@@ -16,7 +16,7 @@ public:
void Cleanup(); void Cleanup();
void CreateInstance(VulkanDebugManager* DebugManager = nullptr); void CreateInstance(VulkanDebugManager* DebugManager = nullptr);
const VkInstance GetInstance() const { return Instance; } VkInstance GetInstance() const { return Instance; }
private: private:
VkInstance Instance = VK_NULL_HANDLE; VkInstance Instance = VK_NULL_HANDLE;

View File

@@ -10,7 +10,7 @@ public:
void Cleanup(); void Cleanup();
void CreateRenderPass(VkFormat SwapChainImageFormat); void CreateRenderPass(VkFormat SwapChainImageFormat, VkFormat DepthFormat);
VkRenderPass GetRenderPass() { return RenderPass; } VkRenderPass GetRenderPass() { return RenderPass; }

View File

@@ -1,93 +1,64 @@
#pragma once #pragma once
#include <optional> #include <cstdint>
#include <vector> #include <vector>
#include <vulkan/vulkan_core.h>
#include <vulkan/vulkan_core.h>
#define GLFW_INCLUDE_VULKAN #define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
const std::vector<const char*> DeviceExtensions = { const std::vector<const char*> DeviceExtensions = { VK_KHR_SWAPCHAIN_EXTENSION_NAME };
VK_KHR_SWAPCHAIN_EXTENSION_NAME
};
//
// struct SwapChainSupportDetails
// {
// VkSurfaceCapabilitiesKHR Capabilities;
// std::vector<VkSurfaceFormatKHR> Formats;
// std::vector<VkPresentModeKHR> PresentModes;
// };
struct FSwapConfig
{
VkDevice Device;
VkSurfaceKHR Surface;
GLFWwindow* Window;
std::optional<uint32_t> GraphicsFamily;
std::optional<uint32_t> PresentFamily;
VkSurfaceCapabilitiesKHR Capabilities;
std::vector<VkSurfaceFormatKHR> Formats;
std::vector<VkPresentModeKHR> PresentModes;
};
class VulkanSwapChain class VulkanSwapChain
{ {
public: public:
VulkanSwapChain(); VulkanSwapChain(
VkDevice Device,
VkSurfaceKHR Surface,
GLFWwindow* Window,
uint32_t GraphicsFamily,
uint32_t PresentFamily,
const VkSurfaceCapabilitiesKHR& Capabilities,
const std::vector<VkSurfaceFormatKHR>& Formats,
const std::vector<VkPresentModeKHR>& PresentModes
);
~VulkanSwapChain(); ~VulkanSwapChain();
void Initialize(FSwapConfig InConfig); VulkanSwapChain(const VulkanSwapChain&) = delete;
VulkanSwapChain& operator=(const VulkanSwapChain&) = delete;
// void Initialize( void CreateSwapChain();
// VkDevice InDevice, void CreateImageViews();
// VkSurfaceKHR InSurface,
// GLFWwindow* InWindow);
void Cleanup(); void Cleanup();
void CreateSwapChain(); VkImageView CreateImageView(VkImage Image, VkFormat Format, VkImageAspectFlags AspectFlags);
// void CreateSwapChain(
// std::optional<uint32_t> GraphicsFamily,
// std::optional<uint32_t> PresentFamily,
// VkSurfaceCapabilitiesKHR Capabilities,
// std::vector<VkSurfaceFormatKHR> Formats,
// std::vector<VkPresentModeKHR> PresentModes);
void CreateImageViews();
// void RecreateSwapChain();
VkSwapchainKHR GetSwapChain() { return SwapChain; } VkSwapchainKHR GetSwapChain() { return SwapChain; }
VkFormat GetSwapChainImageFormat() { return SwapChainImageFormat; } VkFormat GetSwapChainImageFormat() { return SwapChainImageFormat; }
VkExtent2D GetSwapChainExtent() { return SwapChainExtent; } VkExtent2D GetSwapChainExtent() { return SwapChainExtent; }
std::vector<VkImageView> GetSwapChainImageViews() { return SwapChainImageViews; } std::vector<VkImageView>& GetSwapChainImageViews() { return SwapChainImageViews; }
size_t GetSwapChainImagesCount() { return SwapChainImages.size(); }
private: private:
FSwapConfig SwapConfig; VkDevice Device;
// VkPhysicalDevice PhysicalDevice; VkSurfaceKHR Surface;
// VkDevice Device; GLFWwindow* Window;
// VkSurfaceKHR Surface; uint32_t GraphicsFamily;
// uint32_t PresentFamily;
// GLFWwindow* Window = nullptr; VkSurfaceCapabilitiesKHR Capabilities;
std::vector<VkSurfaceFormatKHR> Formats;
std::vector<VkPresentModeKHR> PresentModes;
std::vector<VkImage> SwapChainImages; std::vector<VkImage> SwapChainImages;
VkSwapchainKHR SwapChain = VK_NULL_HANDLE; VkSwapchainKHR SwapChain = VK_NULL_HANDLE;
VkFormat SwapChainImageFormat; VkFormat SwapChainImageFormat;
VkExtent2D SwapChainExtent; VkExtent2D SwapChainExtent;
std::vector<VkImageView> SwapChainImageViews; std::vector<VkImageView> SwapChainImageViews;
// bool IsDeviceSuitable(VkPhysicalDevice Device); VkSurfaceFormatKHR
// ChooseSwapSurfaceFormat(const std::vector<VkSurfaceFormatKHR>& AvailableFormats);
// int RateDeviceSuitability(VkPhysicalDevice Device); VkPresentModeKHR
// ChooseSwapPresentMode(const std::vector<VkPresentModeKHR>& AvailablePresentModes);
// bool CheckDeviceExtensionSupport(VkPhysicalDevice Device);
// SwapChainSupportDetails QuerySwapChainSupport(VkPhysicalDevice Device);
VkSurfaceFormatKHR ChooseSwapSurfaceFormat(const std::vector<VkSurfaceFormatKHR>& AvailableFormats);
VkPresentModeKHR ChooseSwapPresentMode(const std::vector<VkPresentModeKHR>& AvailablePresentModes);
VkExtent2D ChooseSwapExtent(const VkSurfaceCapabilitiesKHR& Capabilities); VkExtent2D ChooseSwapExtent(const VkSurfaceCapabilitiesKHR& Capabilities);
}; };

View File

@@ -0,0 +1,68 @@
#pragma once
#include <vulkan/vulkan.hpp>
class VulkanBuffers;
class VulkanSwapChain;
class VulkanTexture
{
public:
VulkanTexture(
VkDevice Device,
VkPhysicalDevice PhysicalDevice,
VkQueue GraphicsQueue,
VulkanBuffers& Buffers,
VulkanSwapChain& SwapChain
);
~VulkanTexture();
void Cleanup();
void CleanupTextures();
void CleanupDepth();
void LoadFromFile(const char* Filename);
void CreateImageView();
void CreateSampler();
void CreateDepthResources();
VkFormat FindSupportedFormat(
const std::vector<VkFormat>& Candidates,
VkImageTiling Tiling,
VkFormatFeatureFlags Features
);
VkFormat FindDepthFormat();
bool HasStencilComponent(VkFormat Format);
VkImageView GetImageView() const { return ImageView; }
VkSampler GetSampler() const { return Sampler; }
VkImageView GetDepthImageView() const { return DepthImageView; }
private:
VkDevice Device;
VkPhysicalDevice PhysicalDevice;
VkQueue GraphicsQueue;
VulkanBuffers& Buffers;
VulkanSwapChain& SwapChain;
VkImage Image;
VkDeviceMemory ImageMemory;
VkImageView ImageView;
VkSampler Sampler;
VkImage DepthImage;
VkDeviceMemory DepthImageMemory;
VkImageView DepthImageView;
void CreateImage(
uint32_t Width,
uint32_t Height,
VkFormat Format,
VkImageTiling Tiling,
VkImageUsageFlags Usage,
VkMemoryPropertyFlags Properties,
VkImage& Image,
VkDeviceMemory& ImageMemory
);
};

View File

@@ -1,55 +0,0 @@
#pragma once
#include "Primitives.h"
#include <vector>
#include <vulkan/vulkan_core.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
struct FVertexBufferConfig
{
VkDevice Device;
VkPhysicalDevice PhysicalDevice;
VkCommandPool CommandPool;
VkQueue GraphicsQueue;
};
class VulkanVertexBuffer
{
public:
void Initialize(FVertexBufferConfig InConfig);
void Cleanup(const uint32_t MAX_FRAMES_IN_FLIGHT);
void CreateBuffer(VkDeviceSize Size, VkBufferUsageFlags Usage, VkMemoryPropertyFlags Properties, VkBuffer& Buffer, VkDeviceMemory& BufferMemory);
void CopyBuffer(VkBuffer SrcBuffer, VkBuffer DstBuffer, VkDeviceSize Size);
void CreateVertexBuffer(const std::vector<Vertex>& InVertices);
void CreateIndexBuffer(const std::vector<uint16_t>& InIndices);
void CreateUniformBuffers(const uint32_t MAX_FRAMES_IN_FLIGHT);
uint32_t FindMemoryType(uint32_t TypeFilter, VkMemoryPropertyFlags Properties);
VkBuffer GetVertexBuffer() { return VertexBuffer; }
VkBuffer GetIndexBuffer() { return IndexBuffer; }
std::vector<VkBuffer> GetUniformBuffers() { return UniformBuffers; }
std::vector<void*> GetUniformBuffersMapped() { return UniformBuffersMapped; }
private:
FVertexBufferConfig Config;
VkBuffer VertexBuffer;
VkDeviceMemory VertexBufferMemory;
VkBuffer IndexBuffer;
VkDeviceMemory IndexBufferMemory;
std::vector<VkBuffer> UniformBuffers;
std::vector<VkDeviceMemory> UniformBuffersMemory;
std::vector<void*> UniformBuffersMapped;
};

View File

@@ -1,3 +1,4 @@
#include <glm/fwd.hpp>
#include <glm/glm.hpp> #include <glm/glm.hpp>
#include <vulkan/vulkan_core.h> #include <vulkan/vulkan_core.h>
@@ -5,8 +6,9 @@
struct Vertex struct Vertex
{ {
glm::vec2 Position; glm::vec3 Position;
glm::vec3 Color; glm::vec3 Color;
glm::vec2 TextureCoordinates;
static VkVertexInputBindingDescription GetBindingDescription() static VkVertexInputBindingDescription GetBindingDescription()
{ {
@@ -18,12 +20,12 @@ struct Vertex
return BindingDescription; return BindingDescription;
} }
static std::array<VkVertexInputAttributeDescription, 2> GetAttributeDescriptions() static std::array<VkVertexInputAttributeDescription, 3> GetAttributeDescriptions()
{ {
std::array<VkVertexInputAttributeDescription, 2> AttributeDescriptions{}; std::array<VkVertexInputAttributeDescription, 3> AttributeDescriptions{};
AttributeDescriptions[0].binding = 0; AttributeDescriptions[0].binding = 0;
AttributeDescriptions[0].location = 0; AttributeDescriptions[0].location = 0;
AttributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; AttributeDescriptions[0].format = VK_FORMAT_R32G32B32_SFLOAT;
AttributeDescriptions[0].offset = offsetof(Vertex, Position); AttributeDescriptions[0].offset = offsetof(Vertex, Position);
AttributeDescriptions[1].binding = 0; AttributeDescriptions[1].binding = 0;
@@ -31,6 +33,11 @@ struct Vertex
AttributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT; AttributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT;
AttributeDescriptions[1].offset = offsetof(Vertex, Color); AttributeDescriptions[1].offset = offsetof(Vertex, Color);
AttributeDescriptions[2].binding = 0;
AttributeDescriptions[2].location = 2;
AttributeDescriptions[2].format = VK_FORMAT_R32G32_SFLOAT;
AttributeDescriptions[2].offset = offsetof(Vertex, TextureCoordinates);
return AttributeDescriptions; return AttributeDescriptions;
} }
}; };