diff --git a/.cache/clangd/index/_fixes.hpp.453B820BA490C08B.idx b/.cache/clangd/index/_fixes.hpp.453B820BA490C08B.idx new file mode 100644 index 0000000..d3f05a2 Binary files /dev/null and b/.cache/clangd/index/_fixes.hpp.453B820BA490C08B.idx differ diff --git a/.cache/clangd/index/_vectorize.hpp.1E347F1437B778FC.idx b/.cache/clangd/index/_vectorize.hpp.1E347F1437B778FC.idx new file mode 100644 index 0000000..619f7b8 Binary files /dev/null and b/.cache/clangd/index/_vectorize.hpp.1E347F1437B778FC.idx differ diff --git a/.cache/clangd/index/cmd_manager.cpp.B69451766AB92049.idx b/.cache/clangd/index/cmd_manager.cpp.B69451766AB92049.idx new file mode 100644 index 0000000..cd1b8f3 Binary files /dev/null and b/.cache/clangd/index/cmd_manager.cpp.B69451766AB92049.idx differ diff --git a/.cache/clangd/index/cmd_manager.h.512BBD4594D9BFAC.idx b/.cache/clangd/index/cmd_manager.h.512BBD4594D9BFAC.idx new file mode 100644 index 0000000..7d666ff Binary files /dev/null and b/.cache/clangd/index/cmd_manager.h.512BBD4594D9BFAC.idx differ diff --git a/.cache/clangd/index/common.hpp.1AAB706F9CA79DBB.idx b/.cache/clangd/index/common.hpp.1AAB706F9CA79DBB.idx new file mode 100644 index 0000000..c79d500 Binary files /dev/null and b/.cache/clangd/index/common.hpp.1AAB706F9CA79DBB.idx differ diff --git a/.cache/clangd/index/compute_common.hpp.A1F7588245CDE106.idx b/.cache/clangd/index/compute_common.hpp.A1F7588245CDE106.idx new file mode 100644 index 0000000..63cfa62 Binary files /dev/null and b/.cache/clangd/index/compute_common.hpp.A1F7588245CDE106.idx differ diff --git a/.cache/clangd/index/compute_vector_relational.hpp.1DBB142565BCC1B2.idx b/.cache/clangd/index/compute_vector_relational.hpp.1DBB142565BCC1B2.idx new file mode 100644 index 0000000..ba44589 Binary files /dev/null and b/.cache/clangd/index/compute_vector_relational.hpp.1DBB142565BCC1B2.idx differ diff --git a/.cache/clangd/index/constants.hpp.D9168EDF2A6872E9.idx b/.cache/clangd/index/constants.hpp.D9168EDF2A6872E9.idx new file mode 100644 index 0000000..5cded66 Binary files /dev/null and b/.cache/clangd/index/constants.hpp.D9168EDF2A6872E9.idx differ diff --git a/.cache/clangd/index/constants.inl.27CA9375C92F0531.idx b/.cache/clangd/index/constants.inl.27CA9375C92F0531.idx new file mode 100644 index 0000000..21a447c Binary files /dev/null and b/.cache/clangd/index/constants.inl.27CA9375C92F0531.idx differ diff --git a/.cache/clangd/index/dogica_ttf.h.C0B80DDBAE574B9C.idx b/.cache/clangd/index/dogica_ttf.h.C0B80DDBAE574B9C.idx new file mode 100644 index 0000000..e623bca Binary files /dev/null and b/.cache/clangd/index/dogica_ttf.h.C0B80DDBAE574B9C.idx differ diff --git a/.cache/clangd/index/epsilon.hpp.D197025D01C4D2A6.idx b/.cache/clangd/index/epsilon.hpp.D197025D01C4D2A6.idx new file mode 100644 index 0000000..37b0570 Binary files /dev/null and b/.cache/clangd/index/epsilon.hpp.D197025D01C4D2A6.idx differ diff --git a/.cache/clangd/index/epsilon.inl.FF2B7C3572392F8B.idx b/.cache/clangd/index/epsilon.inl.FF2B7C3572392F8B.idx new file mode 100644 index 0000000..0631be6 Binary files /dev/null and b/.cache/clangd/index/epsilon.inl.FF2B7C3572392F8B.idx differ diff --git a/.cache/clangd/index/errors.h.193D46A122D259F3.idx b/.cache/clangd/index/errors.h.193D46A122D259F3.idx new file mode 100644 index 0000000..4b81e85 Binary files /dev/null and b/.cache/clangd/index/errors.h.193D46A122D259F3.idx differ diff --git a/.cache/clangd/index/exponential.hpp.761B4CDEE7CC77FE.idx b/.cache/clangd/index/exponential.hpp.761B4CDEE7CC77FE.idx new file mode 100644 index 0000000..3ca80cd Binary files /dev/null and b/.cache/clangd/index/exponential.hpp.761B4CDEE7CC77FE.idx differ diff --git a/.cache/clangd/index/func_common.inl.F547793EA44A7F1B.idx b/.cache/clangd/index/func_common.inl.F547793EA44A7F1B.idx new file mode 100644 index 0000000..d5372f1 Binary files /dev/null and b/.cache/clangd/index/func_common.inl.F547793EA44A7F1B.idx differ diff --git a/.cache/clangd/index/func_exponential.inl.54E74E4530F6E5F5.idx b/.cache/clangd/index/func_exponential.inl.54E74E4530F6E5F5.idx new file mode 100644 index 0000000..af4c770 Binary files /dev/null and b/.cache/clangd/index/func_exponential.inl.54E74E4530F6E5F5.idx differ diff --git a/.cache/clangd/index/func_geometric.inl.4078C2AEAF130850.idx b/.cache/clangd/index/func_geometric.inl.4078C2AEAF130850.idx new file mode 100644 index 0000000..7231cce Binary files /dev/null and b/.cache/clangd/index/func_geometric.inl.4078C2AEAF130850.idx differ diff --git a/.cache/clangd/index/func_integer.inl.83586A60551FE5ED.idx b/.cache/clangd/index/func_integer.inl.83586A60551FE5ED.idx new file mode 100644 index 0000000..4571afa Binary files /dev/null and b/.cache/clangd/index/func_integer.inl.83586A60551FE5ED.idx differ diff --git a/.cache/clangd/index/func_matrix.inl.0924609B18FE43A8.idx b/.cache/clangd/index/func_matrix.inl.0924609B18FE43A8.idx new file mode 100644 index 0000000..78822de Binary files /dev/null and b/.cache/clangd/index/func_matrix.inl.0924609B18FE43A8.idx differ diff --git a/.cache/clangd/index/func_packing.inl.1D3EA1AB6279B4B5.idx b/.cache/clangd/index/func_packing.inl.1D3EA1AB6279B4B5.idx new file mode 100644 index 0000000..3d927c2 Binary files /dev/null and b/.cache/clangd/index/func_packing.inl.1D3EA1AB6279B4B5.idx differ diff --git a/.cache/clangd/index/func_trigonometric.inl.54B576025D5FB510.idx b/.cache/clangd/index/func_trigonometric.inl.54B576025D5FB510.idx new file mode 100644 index 0000000..09c5d6b Binary files /dev/null and b/.cache/clangd/index/func_trigonometric.inl.54B576025D5FB510.idx differ diff --git a/.cache/clangd/index/func_vector_relational.inl.A9ED4A5CE52860BD.idx b/.cache/clangd/index/func_vector_relational.inl.A9ED4A5CE52860BD.idx new file mode 100644 index 0000000..face702 Binary files /dev/null and b/.cache/clangd/index/func_vector_relational.inl.A9ED4A5CE52860BD.idx differ diff --git a/.cache/clangd/index/fwd.hpp.E15E72C9FCF5B904.idx b/.cache/clangd/index/fwd.hpp.E15E72C9FCF5B904.idx new file mode 100644 index 0000000..4e962c9 Binary files /dev/null and b/.cache/clangd/index/fwd.hpp.E15E72C9FCF5B904.idx differ diff --git a/.cache/clangd/index/geometric.hpp.2C43C2560A183B05.idx b/.cache/clangd/index/geometric.hpp.2C43C2560A183B05.idx new file mode 100644 index 0000000..c5010cc Binary files /dev/null and b/.cache/clangd/index/geometric.hpp.2C43C2560A183B05.idx differ diff --git a/.cache/clangd/index/glm.hpp.2B4F614980C8E0A6.idx b/.cache/clangd/index/glm.hpp.2B4F614980C8E0A6.idx new file mode 100644 index 0000000..f5cd7db Binary files /dev/null and b/.cache/clangd/index/glm.hpp.2B4F614980C8E0A6.idx differ diff --git a/.cache/clangd/index/graphics.cpp.EDE4E02C9D3ABE39.idx b/.cache/clangd/index/graphics.cpp.EDE4E02C9D3ABE39.idx new file mode 100644 index 0000000..adab4d7 Binary files /dev/null and b/.cache/clangd/index/graphics.cpp.EDE4E02C9D3ABE39.idx differ diff --git a/.cache/clangd/index/graphics.h.881CED4498E1F2FB.idx b/.cache/clangd/index/graphics.h.881CED4498E1F2FB.idx new file mode 100644 index 0000000..182eb11 Binary files /dev/null and b/.cache/clangd/index/graphics.h.881CED4498E1F2FB.idx differ diff --git a/.cache/clangd/index/graphics.inl.86A13A7F3344C810.idx b/.cache/clangd/index/graphics.inl.86A13A7F3344C810.idx new file mode 100644 index 0000000..93c6f7b Binary files /dev/null and b/.cache/clangd/index/graphics.inl.86A13A7F3344C810.idx differ diff --git a/.cache/clangd/index/inputs.cpp.BF312861F9F6F757.idx b/.cache/clangd/index/inputs.cpp.BF312861F9F6F757.idx new file mode 100644 index 0000000..79fc345 Binary files /dev/null and b/.cache/clangd/index/inputs.cpp.BF312861F9F6F757.idx differ diff --git a/.cache/clangd/index/inputs.h.A4972BC1418B7DF7.idx b/.cache/clangd/index/inputs.h.A4972BC1418B7DF7.idx new file mode 100644 index 0000000..27aef45 Binary files /dev/null and b/.cache/clangd/index/inputs.h.A4972BC1418B7DF7.idx differ diff --git a/.cache/clangd/index/integer.hpp.9FA413FE1FD46C05.idx b/.cache/clangd/index/integer.hpp.9FA413FE1FD46C05.idx new file mode 100644 index 0000000..d6c9503 Binary files /dev/null and b/.cache/clangd/index/integer.hpp.9FA413FE1FD46C05.idx differ diff --git a/.cache/clangd/index/mat2x2.hpp.12A43FB4033A13ED.idx b/.cache/clangd/index/mat2x2.hpp.12A43FB4033A13ED.idx new file mode 100644 index 0000000..1f71e1e Binary files /dev/null and b/.cache/clangd/index/mat2x2.hpp.12A43FB4033A13ED.idx differ diff --git a/.cache/clangd/index/mat2x3.hpp.47E8706C83122717.idx b/.cache/clangd/index/mat2x3.hpp.47E8706C83122717.idx new file mode 100644 index 0000000..654c8a7 Binary files /dev/null and b/.cache/clangd/index/mat2x3.hpp.47E8706C83122717.idx differ diff --git a/.cache/clangd/index/mat2x4.hpp.04E9E9A6071AFC76.idx b/.cache/clangd/index/mat2x4.hpp.04E9E9A6071AFC76.idx new file mode 100644 index 0000000..251abf1 Binary files /dev/null and b/.cache/clangd/index/mat2x4.hpp.04E9E9A6071AFC76.idx differ diff --git a/.cache/clangd/index/mat3x2.hpp.5C0061698DE86A84.idx b/.cache/clangd/index/mat3x2.hpp.5C0061698DE86A84.idx new file mode 100644 index 0000000..69a2a29 Binary files /dev/null and b/.cache/clangd/index/mat3x2.hpp.5C0061698DE86A84.idx differ diff --git a/.cache/clangd/index/mat3x3.hpp.C4533068B8C4CB63.idx b/.cache/clangd/index/mat3x3.hpp.C4533068B8C4CB63.idx new file mode 100644 index 0000000..13f557d Binary files /dev/null and b/.cache/clangd/index/mat3x3.hpp.C4533068B8C4CB63.idx differ diff --git a/.cache/clangd/index/mat3x4.hpp.CE53817016593F0C.idx b/.cache/clangd/index/mat3x4.hpp.CE53817016593F0C.idx new file mode 100644 index 0000000..2672de3 Binary files /dev/null and b/.cache/clangd/index/mat3x4.hpp.CE53817016593F0C.idx differ diff --git a/.cache/clangd/index/mat4x2.hpp.CDD541C338818165.idx b/.cache/clangd/index/mat4x2.hpp.CDD541C338818165.idx new file mode 100644 index 0000000..3f12b86 Binary files /dev/null and b/.cache/clangd/index/mat4x2.hpp.CDD541C338818165.idx differ diff --git a/.cache/clangd/index/mat4x3.hpp.9A8F2449E4B87E5E.idx b/.cache/clangd/index/mat4x3.hpp.9A8F2449E4B87E5E.idx new file mode 100644 index 0000000..78e0979 Binary files /dev/null and b/.cache/clangd/index/mat4x3.hpp.9A8F2449E4B87E5E.idx differ diff --git a/.cache/clangd/index/mat4x4.hpp.642CE013B7336F73.idx b/.cache/clangd/index/mat4x4.hpp.642CE013B7336F73.idx new file mode 100644 index 0000000..bbb2225 Binary files /dev/null and b/.cache/clangd/index/mat4x4.hpp.642CE013B7336F73.idx differ diff --git a/.cache/clangd/index/matrix.hpp.A58B0D9045351F55.idx b/.cache/clangd/index/matrix.hpp.A58B0D9045351F55.idx new file mode 100644 index 0000000..baec9df Binary files /dev/null and b/.cache/clangd/index/matrix.hpp.A58B0D9045351F55.idx differ diff --git a/.cache/clangd/index/matrix_clip_space.hpp.320A33ED1D90F5D8.idx b/.cache/clangd/index/matrix_clip_space.hpp.320A33ED1D90F5D8.idx new file mode 100644 index 0000000..762e461 Binary files /dev/null and b/.cache/clangd/index/matrix_clip_space.hpp.320A33ED1D90F5D8.idx differ diff --git a/.cache/clangd/index/matrix_clip_space.inl.8A3A51AB7B0921F1.idx b/.cache/clangd/index/matrix_clip_space.inl.8A3A51AB7B0921F1.idx new file mode 100644 index 0000000..cb6f864 Binary files /dev/null and b/.cache/clangd/index/matrix_clip_space.inl.8A3A51AB7B0921F1.idx differ diff --git a/.cache/clangd/index/matrix_double2x2.hpp.31DC17D9B752B160.idx b/.cache/clangd/index/matrix_double2x2.hpp.31DC17D9B752B160.idx new file mode 100644 index 0000000..e681f1b Binary files /dev/null and b/.cache/clangd/index/matrix_double2x2.hpp.31DC17D9B752B160.idx differ diff --git a/.cache/clangd/index/matrix_double2x2_precision.hpp.1168A1BDA150769C.idx b/.cache/clangd/index/matrix_double2x2_precision.hpp.1168A1BDA150769C.idx new file mode 100644 index 0000000..e94dfb3 Binary files /dev/null and b/.cache/clangd/index/matrix_double2x2_precision.hpp.1168A1BDA150769C.idx differ diff --git a/.cache/clangd/index/matrix_double2x3.hpp.B4A910616F5938C7.idx b/.cache/clangd/index/matrix_double2x3.hpp.B4A910616F5938C7.idx new file mode 100644 index 0000000..3c61832 Binary files /dev/null and b/.cache/clangd/index/matrix_double2x3.hpp.B4A910616F5938C7.idx differ diff --git a/.cache/clangd/index/matrix_double2x3_precision.hpp.8E86AF557BFA81B7.idx b/.cache/clangd/index/matrix_double2x3_precision.hpp.8E86AF557BFA81B7.idx new file mode 100644 index 0000000..57abc04 Binary files /dev/null and b/.cache/clangd/index/matrix_double2x3_precision.hpp.8E86AF557BFA81B7.idx differ diff --git a/.cache/clangd/index/matrix_double2x4.hpp.0B526C89C08D8370.idx b/.cache/clangd/index/matrix_double2x4.hpp.0B526C89C08D8370.idx new file mode 100644 index 0000000..822a4fd Binary files /dev/null and b/.cache/clangd/index/matrix_double2x4.hpp.0B526C89C08D8370.idx differ diff --git a/.cache/clangd/index/matrix_double2x4_precision.hpp.E24B7C06FCB0085D.idx b/.cache/clangd/index/matrix_double2x4_precision.hpp.E24B7C06FCB0085D.idx new file mode 100644 index 0000000..d51e420 Binary files /dev/null and b/.cache/clangd/index/matrix_double2x4_precision.hpp.E24B7C06FCB0085D.idx differ diff --git a/.cache/clangd/index/matrix_double3x2.hpp.099A32EE749806DE.idx b/.cache/clangd/index/matrix_double3x2.hpp.099A32EE749806DE.idx new file mode 100644 index 0000000..a78b16c Binary files /dev/null and b/.cache/clangd/index/matrix_double3x2.hpp.099A32EE749806DE.idx differ diff --git a/.cache/clangd/index/matrix_double3x2_precision.hpp.311067A6649DCD11.idx b/.cache/clangd/index/matrix_double3x2_precision.hpp.311067A6649DCD11.idx new file mode 100644 index 0000000..acdb85a Binary files /dev/null and b/.cache/clangd/index/matrix_double3x2_precision.hpp.311067A6649DCD11.idx differ diff --git a/.cache/clangd/index/matrix_double3x3.hpp.A0165391C278FD31.idx b/.cache/clangd/index/matrix_double3x3.hpp.A0165391C278FD31.idx new file mode 100644 index 0000000..302e905 Binary files /dev/null and b/.cache/clangd/index/matrix_double3x3.hpp.A0165391C278FD31.idx differ diff --git a/.cache/clangd/index/matrix_double3x3_precision.hpp.60F780515FFF793F.idx b/.cache/clangd/index/matrix_double3x3_precision.hpp.60F780515FFF793F.idx new file mode 100644 index 0000000..cc87e01 Binary files /dev/null and b/.cache/clangd/index/matrix_double3x3_precision.hpp.60F780515FFF793F.idx differ diff --git a/.cache/clangd/index/matrix_double3x4.hpp.3A8C1953C62C0523.idx b/.cache/clangd/index/matrix_double3x4.hpp.3A8C1953C62C0523.idx new file mode 100644 index 0000000..6997524 Binary files /dev/null and b/.cache/clangd/index/matrix_double3x4.hpp.3A8C1953C62C0523.idx differ diff --git a/.cache/clangd/index/matrix_double3x4_precision.hpp.82D173130DB2F481.idx b/.cache/clangd/index/matrix_double3x4_precision.hpp.82D173130DB2F481.idx new file mode 100644 index 0000000..3afe652 Binary files /dev/null and b/.cache/clangd/index/matrix_double3x4_precision.hpp.82D173130DB2F481.idx differ diff --git a/.cache/clangd/index/matrix_double4x2.hpp.5B94A4198EC3D3AA.idx b/.cache/clangd/index/matrix_double4x2.hpp.5B94A4198EC3D3AA.idx new file mode 100644 index 0000000..db605da Binary files /dev/null and b/.cache/clangd/index/matrix_double4x2.hpp.5B94A4198EC3D3AA.idx differ diff --git a/.cache/clangd/index/matrix_double4x2_precision.hpp.1097F4349EA7377B.idx b/.cache/clangd/index/matrix_double4x2_precision.hpp.1097F4349EA7377B.idx new file mode 100644 index 0000000..0fd173d Binary files /dev/null and b/.cache/clangd/index/matrix_double4x2_precision.hpp.1097F4349EA7377B.idx differ diff --git a/.cache/clangd/index/matrix_double4x3.hpp.9F5B73443BCDFBBA.idx b/.cache/clangd/index/matrix_double4x3.hpp.9F5B73443BCDFBBA.idx new file mode 100644 index 0000000..391eba3 Binary files /dev/null and b/.cache/clangd/index/matrix_double4x3.hpp.9F5B73443BCDFBBA.idx differ diff --git a/.cache/clangd/index/matrix_double4x3_precision.hpp.74B481DE2834865C.idx b/.cache/clangd/index/matrix_double4x3_precision.hpp.74B481DE2834865C.idx new file mode 100644 index 0000000..94f25c0 Binary files /dev/null and b/.cache/clangd/index/matrix_double4x3_precision.hpp.74B481DE2834865C.idx differ diff --git a/.cache/clangd/index/matrix_double4x4.hpp.619828A846F37B5E.idx b/.cache/clangd/index/matrix_double4x4.hpp.619828A846F37B5E.idx new file mode 100644 index 0000000..2cf8c7b Binary files /dev/null and b/.cache/clangd/index/matrix_double4x4.hpp.619828A846F37B5E.idx differ diff --git a/.cache/clangd/index/matrix_double4x4_precision.hpp.31A4988AD52FC033.idx b/.cache/clangd/index/matrix_double4x4_precision.hpp.31A4988AD52FC033.idx new file mode 100644 index 0000000..791161b Binary files /dev/null and b/.cache/clangd/index/matrix_double4x4_precision.hpp.31A4988AD52FC033.idx differ diff --git a/.cache/clangd/index/matrix_float2x2.hpp.B09D37C59789FC2F.idx b/.cache/clangd/index/matrix_float2x2.hpp.B09D37C59789FC2F.idx new file mode 100644 index 0000000..09ae69a Binary files /dev/null and b/.cache/clangd/index/matrix_float2x2.hpp.B09D37C59789FC2F.idx differ diff --git a/.cache/clangd/index/matrix_float2x2_precision.hpp.ECC344BB9E51957C.idx b/.cache/clangd/index/matrix_float2x2_precision.hpp.ECC344BB9E51957C.idx new file mode 100644 index 0000000..f003536 Binary files /dev/null and b/.cache/clangd/index/matrix_float2x2_precision.hpp.ECC344BB9E51957C.idx differ diff --git a/.cache/clangd/index/matrix_float2x3.hpp.2184254C20B34083.idx b/.cache/clangd/index/matrix_float2x3.hpp.2184254C20B34083.idx new file mode 100644 index 0000000..f99596a Binary files /dev/null and b/.cache/clangd/index/matrix_float2x3.hpp.2184254C20B34083.idx differ diff --git a/.cache/clangd/index/matrix_float2x3_precision.hpp.8C69DC20023DCD2C.idx b/.cache/clangd/index/matrix_float2x3_precision.hpp.8C69DC20023DCD2C.idx new file mode 100644 index 0000000..af71335 Binary files /dev/null and b/.cache/clangd/index/matrix_float2x3_precision.hpp.8C69DC20023DCD2C.idx differ diff --git a/.cache/clangd/index/matrix_float2x4.hpp.285B1F806AE60AAF.idx b/.cache/clangd/index/matrix_float2x4.hpp.285B1F806AE60AAF.idx new file mode 100644 index 0000000..946fa3f Binary files /dev/null and b/.cache/clangd/index/matrix_float2x4.hpp.285B1F806AE60AAF.idx differ diff --git a/.cache/clangd/index/matrix_float2x4_precision.hpp.1DB8142A48EED482.idx b/.cache/clangd/index/matrix_float2x4_precision.hpp.1DB8142A48EED482.idx new file mode 100644 index 0000000..c3bff8b Binary files /dev/null and b/.cache/clangd/index/matrix_float2x4_precision.hpp.1DB8142A48EED482.idx differ diff --git a/.cache/clangd/index/matrix_float3x2.hpp.32376AD745CC9BF0.idx b/.cache/clangd/index/matrix_float3x2.hpp.32376AD745CC9BF0.idx new file mode 100644 index 0000000..a957f27 Binary files /dev/null and b/.cache/clangd/index/matrix_float3x2.hpp.32376AD745CC9BF0.idx differ diff --git a/.cache/clangd/index/matrix_float3x2_precision.hpp.EB56267BE8F4955A.idx b/.cache/clangd/index/matrix_float3x2_precision.hpp.EB56267BE8F4955A.idx new file mode 100644 index 0000000..c3ecfdd Binary files /dev/null and b/.cache/clangd/index/matrix_float3x2_precision.hpp.EB56267BE8F4955A.idx differ diff --git a/.cache/clangd/index/matrix_float3x3.hpp.1F4C0C0A35B4B364.idx b/.cache/clangd/index/matrix_float3x3.hpp.1F4C0C0A35B4B364.idx new file mode 100644 index 0000000..80ddb4c Binary files /dev/null and b/.cache/clangd/index/matrix_float3x3.hpp.1F4C0C0A35B4B364.idx differ diff --git a/.cache/clangd/index/matrix_float3x3_precision.hpp.B5D2C4F30F028D13.idx b/.cache/clangd/index/matrix_float3x3_precision.hpp.B5D2C4F30F028D13.idx new file mode 100644 index 0000000..0cdc952 Binary files /dev/null and b/.cache/clangd/index/matrix_float3x3_precision.hpp.B5D2C4F30F028D13.idx differ diff --git a/.cache/clangd/index/matrix_float3x4.hpp.BBAEE157186A0456.idx b/.cache/clangd/index/matrix_float3x4.hpp.BBAEE157186A0456.idx new file mode 100644 index 0000000..be82cfd Binary files /dev/null and b/.cache/clangd/index/matrix_float3x4.hpp.BBAEE157186A0456.idx differ diff --git a/.cache/clangd/index/matrix_float3x4_precision.hpp.821B553BD62A2CAC.idx b/.cache/clangd/index/matrix_float3x4_precision.hpp.821B553BD62A2CAC.idx new file mode 100644 index 0000000..e2f269a Binary files /dev/null and b/.cache/clangd/index/matrix_float3x4_precision.hpp.821B553BD62A2CAC.idx differ diff --git a/.cache/clangd/index/matrix_float4x2.hpp.FCE7DE4853DD433E.idx b/.cache/clangd/index/matrix_float4x2.hpp.FCE7DE4853DD433E.idx new file mode 100644 index 0000000..893798d Binary files /dev/null and b/.cache/clangd/index/matrix_float4x2.hpp.FCE7DE4853DD433E.idx differ diff --git a/.cache/clangd/index/matrix_float4x2_precision.hpp.074DC5198B6A257C.idx b/.cache/clangd/index/matrix_float4x2_precision.hpp.074DC5198B6A257C.idx new file mode 100644 index 0000000..7c0723b Binary files /dev/null and b/.cache/clangd/index/matrix_float4x2_precision.hpp.074DC5198B6A257C.idx differ diff --git a/.cache/clangd/index/matrix_float4x3.hpp.F91D1031CD9CB22F.idx b/.cache/clangd/index/matrix_float4x3.hpp.F91D1031CD9CB22F.idx new file mode 100644 index 0000000..b289e39 Binary files /dev/null and b/.cache/clangd/index/matrix_float4x3.hpp.F91D1031CD9CB22F.idx differ diff --git a/.cache/clangd/index/matrix_float4x3_precision.hpp.07F84DE3D9084D7D.idx b/.cache/clangd/index/matrix_float4x3_precision.hpp.07F84DE3D9084D7D.idx new file mode 100644 index 0000000..5a8e23f Binary files /dev/null and b/.cache/clangd/index/matrix_float4x3_precision.hpp.07F84DE3D9084D7D.idx differ diff --git a/.cache/clangd/index/matrix_float4x4.hpp.E4C37817265FFB8E.idx b/.cache/clangd/index/matrix_float4x4.hpp.E4C37817265FFB8E.idx new file mode 100644 index 0000000..8876aea Binary files /dev/null and b/.cache/clangd/index/matrix_float4x4.hpp.E4C37817265FFB8E.idx differ diff --git a/.cache/clangd/index/matrix_float4x4_precision.hpp.37939561F5456BE3.idx b/.cache/clangd/index/matrix_float4x4_precision.hpp.37939561F5456BE3.idx new file mode 100644 index 0000000..bf1f8d4 Binary files /dev/null and b/.cache/clangd/index/matrix_float4x4_precision.hpp.37939561F5456BE3.idx differ diff --git a/.cache/clangd/index/matrix_projection.hpp.3D1E0F2F94220329.idx b/.cache/clangd/index/matrix_projection.hpp.3D1E0F2F94220329.idx new file mode 100644 index 0000000..9778b7b Binary files /dev/null and b/.cache/clangd/index/matrix_projection.hpp.3D1E0F2F94220329.idx differ diff --git a/.cache/clangd/index/matrix_projection.inl.4023ED75D31F5E6D.idx b/.cache/clangd/index/matrix_projection.inl.4023ED75D31F5E6D.idx new file mode 100644 index 0000000..4ec6b66 Binary files /dev/null and b/.cache/clangd/index/matrix_projection.inl.4023ED75D31F5E6D.idx differ diff --git a/.cache/clangd/index/matrix_transform.hpp.145DCCAFEB36DB09.idx b/.cache/clangd/index/matrix_transform.hpp.145DCCAFEB36DB09.idx new file mode 100644 index 0000000..71ca067 Binary files /dev/null and b/.cache/clangd/index/matrix_transform.hpp.145DCCAFEB36DB09.idx differ diff --git a/.cache/clangd/index/matrix_transform.hpp.FAF81274DA4E3990.idx b/.cache/clangd/index/matrix_transform.hpp.FAF81274DA4E3990.idx new file mode 100644 index 0000000..0468dcd Binary files /dev/null and b/.cache/clangd/index/matrix_transform.hpp.FAF81274DA4E3990.idx differ diff --git a/.cache/clangd/index/matrix_transform.inl.7877287A2A216057.idx b/.cache/clangd/index/matrix_transform.inl.7877287A2A216057.idx new file mode 100644 index 0000000..d747207 Binary files /dev/null and b/.cache/clangd/index/matrix_transform.inl.7877287A2A216057.idx differ diff --git a/.cache/clangd/index/matrix_transform.inl.F5AE8E13628D6C68.idx b/.cache/clangd/index/matrix_transform.inl.F5AE8E13628D6C68.idx new file mode 100644 index 0000000..326d99d Binary files /dev/null and b/.cache/clangd/index/matrix_transform.inl.F5AE8E13628D6C68.idx differ diff --git a/.cache/clangd/index/memory.h.2F830A127A6F5E5F.idx b/.cache/clangd/index/memory.h.2F830A127A6F5E5F.idx new file mode 100644 index 0000000..1be64a2 Binary files /dev/null and b/.cache/clangd/index/memory.h.2F830A127A6F5E5F.idx differ diff --git a/.cache/clangd/index/mlx.h.AA943EEC83DBC8B3.idx b/.cache/clangd/index/mlx.h.AA943EEC83DBC8B3.idx new file mode 100644 index 0000000..7e41c01 Binary files /dev/null and b/.cache/clangd/index/mlx.h.AA943EEC83DBC8B3.idx differ diff --git a/.cache/clangd/index/non_copyable.h.F4862688B51E1508.idx b/.cache/clangd/index/non_copyable.h.F4862688B51E1508.idx new file mode 100644 index 0000000..364ff0d Binary files /dev/null and b/.cache/clangd/index/non_copyable.h.F4862688B51E1508.idx differ diff --git a/.cache/clangd/index/packing.hpp.EC1B617A25125A62.idx b/.cache/clangd/index/packing.hpp.EC1B617A25125A62.idx new file mode 100644 index 0000000..d8c9e09 Binary files /dev/null and b/.cache/clangd/index/packing.hpp.EC1B617A25125A62.idx differ diff --git a/.cache/clangd/index/pipeline.cpp.21A4049D056EEEA6.idx b/.cache/clangd/index/pipeline.cpp.21A4049D056EEEA6.idx new file mode 100644 index 0000000..da1d05e Binary files /dev/null and b/.cache/clangd/index/pipeline.cpp.21A4049D056EEEA6.idx differ diff --git a/.cache/clangd/index/pipeline.h.04ACC95A9BEBA692.idx b/.cache/clangd/index/pipeline.h.04ACC95A9BEBA692.idx new file mode 100644 index 0000000..b6e207d Binary files /dev/null and b/.cache/clangd/index/pipeline.h.04ACC95A9BEBA692.idx differ diff --git a/.cache/clangd/index/pixel_put.cpp.2CD8968D6C215F81.idx b/.cache/clangd/index/pixel_put.cpp.2CD8968D6C215F81.idx new file mode 100644 index 0000000..8e7bc3a Binary files /dev/null and b/.cache/clangd/index/pixel_put.cpp.2CD8968D6C215F81.idx differ diff --git a/.cache/clangd/index/pixel_put.h.95A8B7B44496E042.idx b/.cache/clangd/index/pixel_put.h.95A8B7B44496E042.idx new file mode 100644 index 0000000..3446736 Binary files /dev/null and b/.cache/clangd/index/pixel_put.h.95A8B7B44496E042.idx differ diff --git a/.cache/clangd/index/platform.h.6EC5E9641ABEBDA7.idx b/.cache/clangd/index/platform.h.6EC5E9641ABEBDA7.idx new file mode 100644 index 0000000..879fa14 Binary files /dev/null and b/.cache/clangd/index/platform.h.6EC5E9641ABEBDA7.idx differ diff --git a/.cache/clangd/index/qualifier.hpp.8DB07C4E64A1B213.idx b/.cache/clangd/index/qualifier.hpp.8DB07C4E64A1B213.idx new file mode 100644 index 0000000..f458960 Binary files /dev/null and b/.cache/clangd/index/qualifier.hpp.8DB07C4E64A1B213.idx differ diff --git a/.cache/clangd/index/quaternion.hpp.BEC642CA3B8D922C.idx b/.cache/clangd/index/quaternion.hpp.BEC642CA3B8D922C.idx new file mode 100644 index 0000000..d21bdd4 Binary files /dev/null and b/.cache/clangd/index/quaternion.hpp.BEC642CA3B8D922C.idx differ diff --git a/.cache/clangd/index/quaternion.inl.B8BAF4795964A91C.idx b/.cache/clangd/index/quaternion.inl.B8BAF4795964A91C.idx new file mode 100644 index 0000000..9d903f3 Binary files /dev/null and b/.cache/clangd/index/quaternion.inl.B8BAF4795964A91C.idx differ diff --git a/.cache/clangd/index/quaternion_common.hpp.2D931CFC52C5986C.idx b/.cache/clangd/index/quaternion_common.hpp.2D931CFC52C5986C.idx new file mode 100644 index 0000000..6430749 Binary files /dev/null and b/.cache/clangd/index/quaternion_common.hpp.2D931CFC52C5986C.idx differ diff --git a/.cache/clangd/index/quaternion_common.inl.275E6F941101240D.idx b/.cache/clangd/index/quaternion_common.inl.275E6F941101240D.idx new file mode 100644 index 0000000..12f3ac0 Binary files /dev/null and b/.cache/clangd/index/quaternion_common.inl.275E6F941101240D.idx differ diff --git a/.cache/clangd/index/quaternion_double.hpp.68FEF6E3493315C8.idx b/.cache/clangd/index/quaternion_double.hpp.68FEF6E3493315C8.idx new file mode 100644 index 0000000..c8649ee Binary files /dev/null and b/.cache/clangd/index/quaternion_double.hpp.68FEF6E3493315C8.idx differ diff --git a/.cache/clangd/index/quaternion_double_precision.hpp.F8FD3DE8E6FBBC1F.idx b/.cache/clangd/index/quaternion_double_precision.hpp.F8FD3DE8E6FBBC1F.idx new file mode 100644 index 0000000..726cad1 Binary files /dev/null and b/.cache/clangd/index/quaternion_double_precision.hpp.F8FD3DE8E6FBBC1F.idx differ diff --git a/.cache/clangd/index/quaternion_float.hpp.333F5E16F1B6F18C.idx b/.cache/clangd/index/quaternion_float.hpp.333F5E16F1B6F18C.idx new file mode 100644 index 0000000..c84e69b Binary files /dev/null and b/.cache/clangd/index/quaternion_float.hpp.333F5E16F1B6F18C.idx differ diff --git a/.cache/clangd/index/quaternion_float_precision.hpp.2E80FAE43CEA8587.idx b/.cache/clangd/index/quaternion_float_precision.hpp.2E80FAE43CEA8587.idx new file mode 100644 index 0000000..f87ed94 Binary files /dev/null and b/.cache/clangd/index/quaternion_float_precision.hpp.2E80FAE43CEA8587.idx differ diff --git a/.cache/clangd/index/quaternion_geometric.hpp.7A44672FEA5AEA06.idx b/.cache/clangd/index/quaternion_geometric.hpp.7A44672FEA5AEA06.idx new file mode 100644 index 0000000..bb51a7d Binary files /dev/null and b/.cache/clangd/index/quaternion_geometric.hpp.7A44672FEA5AEA06.idx differ diff --git a/.cache/clangd/index/quaternion_geometric.inl.762CF6E9187F465F.idx b/.cache/clangd/index/quaternion_geometric.inl.762CF6E9187F465F.idx new file mode 100644 index 0000000..09eb594 Binary files /dev/null and b/.cache/clangd/index/quaternion_geometric.inl.762CF6E9187F465F.idx differ diff --git a/.cache/clangd/index/quaternion_relational.hpp.D937DAC45CCAC7CF.idx b/.cache/clangd/index/quaternion_relational.hpp.D937DAC45CCAC7CF.idx new file mode 100644 index 0000000..3f8bbd4 Binary files /dev/null and b/.cache/clangd/index/quaternion_relational.hpp.D937DAC45CCAC7CF.idx differ diff --git a/.cache/clangd/index/quaternion_relational.inl.FBB757EC694AF150.idx b/.cache/clangd/index/quaternion_relational.inl.FBB757EC694AF150.idx new file mode 100644 index 0000000..e258d83 Binary files /dev/null and b/.cache/clangd/index/quaternion_relational.inl.FBB757EC694AF150.idx differ diff --git a/.cache/clangd/index/quaternion_transform.hpp.5222523F5288C31B.idx b/.cache/clangd/index/quaternion_transform.hpp.5222523F5288C31B.idx new file mode 100644 index 0000000..79239e8 Binary files /dev/null and b/.cache/clangd/index/quaternion_transform.hpp.5222523F5288C31B.idx differ diff --git a/.cache/clangd/index/quaternion_transform.inl.42131DD9D5082203.idx b/.cache/clangd/index/quaternion_transform.inl.42131DD9D5082203.idx new file mode 100644 index 0000000..b9ef45a Binary files /dev/null and b/.cache/clangd/index/quaternion_transform.inl.42131DD9D5082203.idx differ diff --git a/.cache/clangd/index/quaternion_trigonometric.hpp.F68F694A6459B758.idx b/.cache/clangd/index/quaternion_trigonometric.hpp.F68F694A6459B758.idx new file mode 100644 index 0000000..021568d Binary files /dev/null and b/.cache/clangd/index/quaternion_trigonometric.hpp.F68F694A6459B758.idx differ diff --git a/.cache/clangd/index/quaternion_trigonometric.inl.075B3D855B2CE812.idx b/.cache/clangd/index/quaternion_trigonometric.inl.075B3D855B2CE812.idx new file mode 100644 index 0000000..48d6356 Binary files /dev/null and b/.cache/clangd/index/quaternion_trigonometric.inl.075B3D855B2CE812.idx differ diff --git a/.cache/clangd/index/render_core.cpp.F8EB821F201E876F.idx b/.cache/clangd/index/render_core.cpp.F8EB821F201E876F.idx new file mode 100644 index 0000000..556d746 Binary files /dev/null and b/.cache/clangd/index/render_core.cpp.F8EB821F201E876F.idx differ diff --git a/.cache/clangd/index/render_core.h.A72BCE8F8C3D979C.idx b/.cache/clangd/index/render_core.h.A72BCE8F8C3D979C.idx new file mode 100644 index 0000000..323444d Binary files /dev/null and b/.cache/clangd/index/render_core.h.A72BCE8F8C3D979C.idx differ diff --git a/.cache/clangd/index/renderer.cpp.DFCF8E1B919F2989.idx b/.cache/clangd/index/renderer.cpp.DFCF8E1B919F2989.idx new file mode 100644 index 0000000..d840540 Binary files /dev/null and b/.cache/clangd/index/renderer.cpp.DFCF8E1B919F2989.idx differ diff --git a/.cache/clangd/index/renderer.h.C37E539A074F9D67.idx b/.cache/clangd/index/renderer.h.C37E539A074F9D67.idx new file mode 100644 index 0000000..7a4ee2b Binary files /dev/null and b/.cache/clangd/index/renderer.h.C37E539A074F9D67.idx differ diff --git a/.cache/clangd/index/scalar_constants.hpp.BABB74120F7EE115.idx b/.cache/clangd/index/scalar_constants.hpp.BABB74120F7EE115.idx new file mode 100644 index 0000000..b874ee6 Binary files /dev/null and b/.cache/clangd/index/scalar_constants.hpp.BABB74120F7EE115.idx differ diff --git a/.cache/clangd/index/scalar_constants.inl.67C7508B0FB55C5B.idx b/.cache/clangd/index/scalar_constants.inl.67C7508B0FB55C5B.idx new file mode 100644 index 0000000..ac5158f Binary files /dev/null and b/.cache/clangd/index/scalar_constants.inl.67C7508B0FB55C5B.idx differ diff --git a/.cache/clangd/index/setup.hpp.D74C55DDEA0EC6A0.idx b/.cache/clangd/index/setup.hpp.D74C55DDEA0EC6A0.idx new file mode 100644 index 0000000..a786521 Binary files /dev/null and b/.cache/clangd/index/setup.hpp.D74C55DDEA0EC6A0.idx differ diff --git a/.cache/clangd/index/singleton.h.31A8DCEDEC635483.idx b/.cache/clangd/index/singleton.h.31A8DCEDEC635483.idx new file mode 100644 index 0000000..1243a54 Binary files /dev/null and b/.cache/clangd/index/singleton.h.31A8DCEDEC635483.idx differ diff --git a/.cache/clangd/index/stb_image.h.A4B6707ED0503D34.idx b/.cache/clangd/index/stb_image.h.A4B6707ED0503D34.idx new file mode 100644 index 0000000..1731d5a Binary files /dev/null and b/.cache/clangd/index/stb_image.h.A4B6707ED0503D34.idx differ diff --git a/.cache/clangd/index/stb_truetype.h.7E97BFD0AF4074F7.idx b/.cache/clangd/index/stb_truetype.h.7E97BFD0AF4074F7.idx new file mode 100644 index 0000000..3a91d6d Binary files /dev/null and b/.cache/clangd/index/stb_truetype.h.7E97BFD0AF4074F7.idx differ diff --git a/.cache/clangd/index/text_library.cpp.324F750E1BB29FC6.idx b/.cache/clangd/index/text_library.cpp.324F750E1BB29FC6.idx new file mode 100644 index 0000000..a679a21 Binary files /dev/null and b/.cache/clangd/index/text_library.cpp.324F750E1BB29FC6.idx differ diff --git a/.cache/clangd/index/text_library.h.147877AB845E3F3B.idx b/.cache/clangd/index/text_library.h.147877AB845E3F3B.idx new file mode 100644 index 0000000..f28ebba Binary files /dev/null and b/.cache/clangd/index/text_library.h.147877AB845E3F3B.idx differ diff --git a/.cache/clangd/index/text_pipeline.cpp.96ECAFEF93615289.idx b/.cache/clangd/index/text_pipeline.cpp.96ECAFEF93615289.idx new file mode 100644 index 0000000..1ef18b8 Binary files /dev/null and b/.cache/clangd/index/text_pipeline.cpp.96ECAFEF93615289.idx differ diff --git a/.cache/clangd/index/text_pipeline.h.C96DE19FFE519A5A.idx b/.cache/clangd/index/text_pipeline.h.C96DE19FFE519A5A.idx new file mode 100644 index 0000000..f6cdbf6 Binary files /dev/null and b/.cache/clangd/index/text_pipeline.h.C96DE19FFE519A5A.idx differ diff --git a/.cache/clangd/index/texture.cpp.FD01E7EE80884377.idx b/.cache/clangd/index/texture.cpp.FD01E7EE80884377.idx new file mode 100644 index 0000000..3833eb4 Binary files /dev/null and b/.cache/clangd/index/texture.cpp.FD01E7EE80884377.idx differ diff --git a/.cache/clangd/index/texture.h.A608EE3EBA32720F.idx b/.cache/clangd/index/texture.h.A608EE3EBA32720F.idx new file mode 100644 index 0000000..27ac0aa Binary files /dev/null and b/.cache/clangd/index/texture.h.A608EE3EBA32720F.idx differ diff --git a/.cache/clangd/index/texture_atlas.cpp.092B9D7A3C3C4E97.idx b/.cache/clangd/index/texture_atlas.cpp.092B9D7A3C3C4E97.idx new file mode 100644 index 0000000..37c09b6 Binary files /dev/null and b/.cache/clangd/index/texture_atlas.cpp.092B9D7A3C3C4E97.idx differ diff --git a/.cache/clangd/index/texture_atlas.h.1D5A7803E81224D9.idx b/.cache/clangd/index/texture_atlas.h.1D5A7803E81224D9.idx new file mode 100644 index 0000000..d9f8f40 Binary files /dev/null and b/.cache/clangd/index/texture_atlas.h.1D5A7803E81224D9.idx differ diff --git a/.cache/clangd/index/trigonometric.hpp.09CCEE454B7F8ECF.idx b/.cache/clangd/index/trigonometric.hpp.09CCEE454B7F8ECF.idx new file mode 100644 index 0000000..d0efa5a Binary files /dev/null and b/.cache/clangd/index/trigonometric.hpp.09CCEE454B7F8ECF.idx differ diff --git a/.cache/clangd/index/type_float.hpp.33B3231C05A7EC71.idx b/.cache/clangd/index/type_float.hpp.33B3231C05A7EC71.idx new file mode 100644 index 0000000..7855df6 Binary files /dev/null and b/.cache/clangd/index/type_float.hpp.33B3231C05A7EC71.idx differ diff --git a/.cache/clangd/index/type_half.hpp.93BC66CB07E6157D.idx b/.cache/clangd/index/type_half.hpp.93BC66CB07E6157D.idx new file mode 100644 index 0000000..9e43af7 Binary files /dev/null and b/.cache/clangd/index/type_half.hpp.93BC66CB07E6157D.idx differ diff --git a/.cache/clangd/index/type_half.inl.661DFCE885B3AE13.idx b/.cache/clangd/index/type_half.inl.661DFCE885B3AE13.idx new file mode 100644 index 0000000..070ae21 Binary files /dev/null and b/.cache/clangd/index/type_half.inl.661DFCE885B3AE13.idx differ diff --git a/.cache/clangd/index/type_mat2x2.hpp.42D415BFBA3C57D5.idx b/.cache/clangd/index/type_mat2x2.hpp.42D415BFBA3C57D5.idx new file mode 100644 index 0000000..6e725b9 Binary files /dev/null and b/.cache/clangd/index/type_mat2x2.hpp.42D415BFBA3C57D5.idx differ diff --git a/.cache/clangd/index/type_mat2x2.inl.B2949204CAC85368.idx b/.cache/clangd/index/type_mat2x2.inl.B2949204CAC85368.idx new file mode 100644 index 0000000..1f28e79 Binary files /dev/null and b/.cache/clangd/index/type_mat2x2.inl.B2949204CAC85368.idx differ diff --git a/.cache/clangd/index/type_mat2x3.hpp.D3406BD287AF0A06.idx b/.cache/clangd/index/type_mat2x3.hpp.D3406BD287AF0A06.idx new file mode 100644 index 0000000..7310454 Binary files /dev/null and b/.cache/clangd/index/type_mat2x3.hpp.D3406BD287AF0A06.idx differ diff --git a/.cache/clangd/index/type_mat2x3.inl.3A1046B71EE1D7A9.idx b/.cache/clangd/index/type_mat2x3.inl.3A1046B71EE1D7A9.idx new file mode 100644 index 0000000..145dc76 Binary files /dev/null and b/.cache/clangd/index/type_mat2x3.inl.3A1046B71EE1D7A9.idx differ diff --git a/.cache/clangd/index/type_mat2x4.hpp.87315858B51BA89D.idx b/.cache/clangd/index/type_mat2x4.hpp.87315858B51BA89D.idx new file mode 100644 index 0000000..3eddfce Binary files /dev/null and b/.cache/clangd/index/type_mat2x4.hpp.87315858B51BA89D.idx differ diff --git a/.cache/clangd/index/type_mat2x4.inl.78A231D8A84D3BC4.idx b/.cache/clangd/index/type_mat2x4.inl.78A231D8A84D3BC4.idx new file mode 100644 index 0000000..bcf4c36 Binary files /dev/null and b/.cache/clangd/index/type_mat2x4.inl.78A231D8A84D3BC4.idx differ diff --git a/.cache/clangd/index/type_mat3x2.hpp.B889C6BFF0AEC877.idx b/.cache/clangd/index/type_mat3x2.hpp.B889C6BFF0AEC877.idx new file mode 100644 index 0000000..1d76305 Binary files /dev/null and b/.cache/clangd/index/type_mat3x2.hpp.B889C6BFF0AEC877.idx differ diff --git a/.cache/clangd/index/type_mat3x2.inl.31F72DD1A0D45BC9.idx b/.cache/clangd/index/type_mat3x2.inl.31F72DD1A0D45BC9.idx new file mode 100644 index 0000000..4fd73c9 Binary files /dev/null and b/.cache/clangd/index/type_mat3x2.inl.31F72DD1A0D45BC9.idx differ diff --git a/.cache/clangd/index/type_mat3x3.hpp.D4697EF802C73F87.idx b/.cache/clangd/index/type_mat3x3.hpp.D4697EF802C73F87.idx new file mode 100644 index 0000000..a1594de Binary files /dev/null and b/.cache/clangd/index/type_mat3x3.hpp.D4697EF802C73F87.idx differ diff --git a/.cache/clangd/index/type_mat3x3.inl.49C6351566E03E7B.idx b/.cache/clangd/index/type_mat3x3.inl.49C6351566E03E7B.idx new file mode 100644 index 0000000..9a395e3 Binary files /dev/null and b/.cache/clangd/index/type_mat3x3.inl.49C6351566E03E7B.idx differ diff --git a/.cache/clangd/index/type_mat3x4.hpp.C740F6F507502B29.idx b/.cache/clangd/index/type_mat3x4.hpp.C740F6F507502B29.idx new file mode 100644 index 0000000..7992421 Binary files /dev/null and b/.cache/clangd/index/type_mat3x4.hpp.C740F6F507502B29.idx differ diff --git a/.cache/clangd/index/type_mat3x4.inl.75C546BC8C1911AD.idx b/.cache/clangd/index/type_mat3x4.inl.75C546BC8C1911AD.idx new file mode 100644 index 0000000..f146297 Binary files /dev/null and b/.cache/clangd/index/type_mat3x4.inl.75C546BC8C1911AD.idx differ diff --git a/.cache/clangd/index/type_mat4x2.hpp.4DC4235C0805AECA.idx b/.cache/clangd/index/type_mat4x2.hpp.4DC4235C0805AECA.idx new file mode 100644 index 0000000..adc82b7 Binary files /dev/null and b/.cache/clangd/index/type_mat4x2.hpp.4DC4235C0805AECA.idx differ diff --git a/.cache/clangd/index/type_mat4x2.inl.6255906B848BB491.idx b/.cache/clangd/index/type_mat4x2.inl.6255906B848BB491.idx new file mode 100644 index 0000000..1d9f9bb Binary files /dev/null and b/.cache/clangd/index/type_mat4x2.inl.6255906B848BB491.idx differ diff --git a/.cache/clangd/index/type_mat4x3.hpp.23B383365A56F136.idx b/.cache/clangd/index/type_mat4x3.hpp.23B383365A56F136.idx new file mode 100644 index 0000000..a9eb7d8 Binary files /dev/null and b/.cache/clangd/index/type_mat4x3.hpp.23B383365A56F136.idx differ diff --git a/.cache/clangd/index/type_mat4x3.inl.C1B37F97805D69D1.idx b/.cache/clangd/index/type_mat4x3.inl.C1B37F97805D69D1.idx new file mode 100644 index 0000000..436445e Binary files /dev/null and b/.cache/clangd/index/type_mat4x3.inl.C1B37F97805D69D1.idx differ diff --git a/.cache/clangd/index/type_mat4x4.hpp.36B84530CD742574.idx b/.cache/clangd/index/type_mat4x4.hpp.36B84530CD742574.idx new file mode 100644 index 0000000..453a9f1 Binary files /dev/null and b/.cache/clangd/index/type_mat4x4.hpp.36B84530CD742574.idx differ diff --git a/.cache/clangd/index/type_mat4x4.inl.E08D19EA79063BC2.idx b/.cache/clangd/index/type_mat4x4.inl.E08D19EA79063BC2.idx new file mode 100644 index 0000000..b5d6442 Binary files /dev/null and b/.cache/clangd/index/type_mat4x4.inl.E08D19EA79063BC2.idx differ diff --git a/.cache/clangd/index/type_ptr.hpp.80008620A34E284B.idx b/.cache/clangd/index/type_ptr.hpp.80008620A34E284B.idx new file mode 100644 index 0000000..3ea88b8 Binary files /dev/null and b/.cache/clangd/index/type_ptr.hpp.80008620A34E284B.idx differ diff --git a/.cache/clangd/index/type_ptr.inl.56B5506DBA03954F.idx b/.cache/clangd/index/type_ptr.inl.56B5506DBA03954F.idx new file mode 100644 index 0000000..a474229 Binary files /dev/null and b/.cache/clangd/index/type_ptr.inl.56B5506DBA03954F.idx differ diff --git a/.cache/clangd/index/type_quat.hpp.D7CFA07D078E535D.idx b/.cache/clangd/index/type_quat.hpp.D7CFA07D078E535D.idx new file mode 100644 index 0000000..348869b Binary files /dev/null and b/.cache/clangd/index/type_quat.hpp.D7CFA07D078E535D.idx differ diff --git a/.cache/clangd/index/type_quat.inl.97976372F62C9E57.idx b/.cache/clangd/index/type_quat.inl.97976372F62C9E57.idx new file mode 100644 index 0000000..ec2316e Binary files /dev/null and b/.cache/clangd/index/type_quat.inl.97976372F62C9E57.idx differ diff --git a/.cache/clangd/index/type_vec1.hpp.74D7FFAA60BDEC31.idx b/.cache/clangd/index/type_vec1.hpp.74D7FFAA60BDEC31.idx new file mode 100644 index 0000000..7b0e9c8 Binary files /dev/null and b/.cache/clangd/index/type_vec1.hpp.74D7FFAA60BDEC31.idx differ diff --git a/.cache/clangd/index/type_vec1.inl.72EF6901CAF1EE2B.idx b/.cache/clangd/index/type_vec1.inl.72EF6901CAF1EE2B.idx new file mode 100644 index 0000000..c431935 Binary files /dev/null and b/.cache/clangd/index/type_vec1.inl.72EF6901CAF1EE2B.idx differ diff --git a/.cache/clangd/index/type_vec2.hpp.A7D0E67F9CC5FD93.idx b/.cache/clangd/index/type_vec2.hpp.A7D0E67F9CC5FD93.idx new file mode 100644 index 0000000..c2d2e6e Binary files /dev/null and b/.cache/clangd/index/type_vec2.hpp.A7D0E67F9CC5FD93.idx differ diff --git a/.cache/clangd/index/type_vec2.inl.11663FD9D51D5CD2.idx b/.cache/clangd/index/type_vec2.inl.11663FD9D51D5CD2.idx new file mode 100644 index 0000000..f671fc2 Binary files /dev/null and b/.cache/clangd/index/type_vec2.inl.11663FD9D51D5CD2.idx differ diff --git a/.cache/clangd/index/type_vec3.hpp.07CE21EDB6D1A025.idx b/.cache/clangd/index/type_vec3.hpp.07CE21EDB6D1A025.idx new file mode 100644 index 0000000..25b3b74 Binary files /dev/null and b/.cache/clangd/index/type_vec3.hpp.07CE21EDB6D1A025.idx differ diff --git a/.cache/clangd/index/type_vec3.inl.E2103A460824F0A4.idx b/.cache/clangd/index/type_vec3.inl.E2103A460824F0A4.idx new file mode 100644 index 0000000..afb20dc Binary files /dev/null and b/.cache/clangd/index/type_vec3.inl.E2103A460824F0A4.idx differ diff --git a/.cache/clangd/index/type_vec4.hpp.2577305ACC467CBF.idx b/.cache/clangd/index/type_vec4.hpp.2577305ACC467CBF.idx new file mode 100644 index 0000000..5365add Binary files /dev/null and b/.cache/clangd/index/type_vec4.hpp.2577305ACC467CBF.idx differ diff --git a/.cache/clangd/index/type_vec4.inl.E4066A1E6DDE3977.idx b/.cache/clangd/index/type_vec4.inl.E4066A1E6DDE3977.idx new file mode 100644 index 0000000..882214f Binary files /dev/null and b/.cache/clangd/index/type_vec4.inl.E4066A1E6DDE3977.idx differ diff --git a/.cache/clangd/index/vec1.hpp.73FC98C90A93B405.idx b/.cache/clangd/index/vec1.hpp.73FC98C90A93B405.idx new file mode 100644 index 0000000..cdfd7af Binary files /dev/null and b/.cache/clangd/index/vec1.hpp.73FC98C90A93B405.idx differ diff --git a/.cache/clangd/index/vec2.hpp.A1D2F92A85F0A8BE.idx b/.cache/clangd/index/vec2.hpp.A1D2F92A85F0A8BE.idx new file mode 100644 index 0000000..0439f05 Binary files /dev/null and b/.cache/clangd/index/vec2.hpp.A1D2F92A85F0A8BE.idx differ diff --git a/.cache/clangd/index/vec3.hpp.FFDF3CCD8D7CAE9D.idx b/.cache/clangd/index/vec3.hpp.FFDF3CCD8D7CAE9D.idx new file mode 100644 index 0000000..aa2fc7e Binary files /dev/null and b/.cache/clangd/index/vec3.hpp.FFDF3CCD8D7CAE9D.idx differ diff --git a/.cache/clangd/index/vec4.hpp.C369A34EA5FEBF74.idx b/.cache/clangd/index/vec4.hpp.C369A34EA5FEBF74.idx new file mode 100644 index 0000000..e2448b9 Binary files /dev/null and b/.cache/clangd/index/vec4.hpp.C369A34EA5FEBF74.idx differ diff --git a/.cache/clangd/index/vector_bool1.hpp.EC2A19ECD3B30CC2.idx b/.cache/clangd/index/vector_bool1.hpp.EC2A19ECD3B30CC2.idx new file mode 100644 index 0000000..b1f60f8 Binary files /dev/null and b/.cache/clangd/index/vector_bool1.hpp.EC2A19ECD3B30CC2.idx differ diff --git a/.cache/clangd/index/vector_bool1_precision.hpp.976EDDD92009D181.idx b/.cache/clangd/index/vector_bool1_precision.hpp.976EDDD92009D181.idx new file mode 100644 index 0000000..28bd18e Binary files /dev/null and b/.cache/clangd/index/vector_bool1_precision.hpp.976EDDD92009D181.idx differ diff --git a/.cache/clangd/index/vector_bool2.hpp.8745F40B1BD3DA28.idx b/.cache/clangd/index/vector_bool2.hpp.8745F40B1BD3DA28.idx new file mode 100644 index 0000000..9766657 Binary files /dev/null and b/.cache/clangd/index/vector_bool2.hpp.8745F40B1BD3DA28.idx differ diff --git a/.cache/clangd/index/vector_bool2_precision.hpp.51FF9902B17FC252.idx b/.cache/clangd/index/vector_bool2_precision.hpp.51FF9902B17FC252.idx new file mode 100644 index 0000000..cbbb068 Binary files /dev/null and b/.cache/clangd/index/vector_bool2_precision.hpp.51FF9902B17FC252.idx differ diff --git a/.cache/clangd/index/vector_bool3.hpp.34E1FD8E1652704F.idx b/.cache/clangd/index/vector_bool3.hpp.34E1FD8E1652704F.idx new file mode 100644 index 0000000..9050c44 Binary files /dev/null and b/.cache/clangd/index/vector_bool3.hpp.34E1FD8E1652704F.idx differ diff --git a/.cache/clangd/index/vector_bool3_precision.hpp.99048C4B0B235AE1.idx b/.cache/clangd/index/vector_bool3_precision.hpp.99048C4B0B235AE1.idx new file mode 100644 index 0000000..89cd146 Binary files /dev/null and b/.cache/clangd/index/vector_bool3_precision.hpp.99048C4B0B235AE1.idx differ diff --git a/.cache/clangd/index/vector_bool4.hpp.1DB2F4DACEFC8078.idx b/.cache/clangd/index/vector_bool4.hpp.1DB2F4DACEFC8078.idx new file mode 100644 index 0000000..fbef312 Binary files /dev/null and b/.cache/clangd/index/vector_bool4.hpp.1DB2F4DACEFC8078.idx differ diff --git a/.cache/clangd/index/vector_bool4_precision.hpp.FD55D75A7623C99A.idx b/.cache/clangd/index/vector_bool4_precision.hpp.FD55D75A7623C99A.idx new file mode 100644 index 0000000..61b4c44 Binary files /dev/null and b/.cache/clangd/index/vector_bool4_precision.hpp.FD55D75A7623C99A.idx differ diff --git a/.cache/clangd/index/vector_double1.hpp.84E35D097AD48CF4.idx b/.cache/clangd/index/vector_double1.hpp.84E35D097AD48CF4.idx new file mode 100644 index 0000000..d0efee3 Binary files /dev/null and b/.cache/clangd/index/vector_double1.hpp.84E35D097AD48CF4.idx differ diff --git a/.cache/clangd/index/vector_double1_precision.hpp.A071C769F263BD31.idx b/.cache/clangd/index/vector_double1_precision.hpp.A071C769F263BD31.idx new file mode 100644 index 0000000..c06b2f7 Binary files /dev/null and b/.cache/clangd/index/vector_double1_precision.hpp.A071C769F263BD31.idx differ diff --git a/.cache/clangd/index/vector_double2.hpp.F33869FCBB2BC9E3.idx b/.cache/clangd/index/vector_double2.hpp.F33869FCBB2BC9E3.idx new file mode 100644 index 0000000..e7925ce Binary files /dev/null and b/.cache/clangd/index/vector_double2.hpp.F33869FCBB2BC9E3.idx differ diff --git a/.cache/clangd/index/vector_double2_precision.hpp.1B3C8F7DBB6470BE.idx b/.cache/clangd/index/vector_double2_precision.hpp.1B3C8F7DBB6470BE.idx new file mode 100644 index 0000000..05948e7 Binary files /dev/null and b/.cache/clangd/index/vector_double2_precision.hpp.1B3C8F7DBB6470BE.idx differ diff --git a/.cache/clangd/index/vector_double3.hpp.05EDCE4F0E35FE70.idx b/.cache/clangd/index/vector_double3.hpp.05EDCE4F0E35FE70.idx new file mode 100644 index 0000000..547f69a Binary files /dev/null and b/.cache/clangd/index/vector_double3.hpp.05EDCE4F0E35FE70.idx differ diff --git a/.cache/clangd/index/vector_double3_precision.hpp.3994208A60DCB30D.idx b/.cache/clangd/index/vector_double3_precision.hpp.3994208A60DCB30D.idx new file mode 100644 index 0000000..29d7706 Binary files /dev/null and b/.cache/clangd/index/vector_double3_precision.hpp.3994208A60DCB30D.idx differ diff --git a/.cache/clangd/index/vector_double4.hpp.B03533CD9605A42D.idx b/.cache/clangd/index/vector_double4.hpp.B03533CD9605A42D.idx new file mode 100644 index 0000000..4b6f159 Binary files /dev/null and b/.cache/clangd/index/vector_double4.hpp.B03533CD9605A42D.idx differ diff --git a/.cache/clangd/index/vector_double4_precision.hpp.3226EB95D2AB4CC2.idx b/.cache/clangd/index/vector_double4_precision.hpp.3226EB95D2AB4CC2.idx new file mode 100644 index 0000000..d8e5b12 Binary files /dev/null and b/.cache/clangd/index/vector_double4_precision.hpp.3226EB95D2AB4CC2.idx differ diff --git a/.cache/clangd/index/vector_float1.hpp.FE4F0F38654F1929.idx b/.cache/clangd/index/vector_float1.hpp.FE4F0F38654F1929.idx new file mode 100644 index 0000000..6ed844f Binary files /dev/null and b/.cache/clangd/index/vector_float1.hpp.FE4F0F38654F1929.idx differ diff --git a/.cache/clangd/index/vector_float1_precision.hpp.3C08BF2322B657BF.idx b/.cache/clangd/index/vector_float1_precision.hpp.3C08BF2322B657BF.idx new file mode 100644 index 0000000..21ff5ed Binary files /dev/null and b/.cache/clangd/index/vector_float1_precision.hpp.3C08BF2322B657BF.idx differ diff --git a/.cache/clangd/index/vector_float2.hpp.A03809E356E773EC.idx b/.cache/clangd/index/vector_float2.hpp.A03809E356E773EC.idx new file mode 100644 index 0000000..7b4977d Binary files /dev/null and b/.cache/clangd/index/vector_float2.hpp.A03809E356E773EC.idx differ diff --git a/.cache/clangd/index/vector_float2_precision.hpp.C0C685B5AD01243D.idx b/.cache/clangd/index/vector_float2_precision.hpp.C0C685B5AD01243D.idx new file mode 100644 index 0000000..5f021b3 Binary files /dev/null and b/.cache/clangd/index/vector_float2_precision.hpp.C0C685B5AD01243D.idx differ diff --git a/.cache/clangd/index/vector_float3.hpp.42A5A31C4D9D33BA.idx b/.cache/clangd/index/vector_float3.hpp.42A5A31C4D9D33BA.idx new file mode 100644 index 0000000..f33d26f Binary files /dev/null and b/.cache/clangd/index/vector_float3.hpp.42A5A31C4D9D33BA.idx differ diff --git a/.cache/clangd/index/vector_float3_precision.hpp.085D5EA5AB70A2FE.idx b/.cache/clangd/index/vector_float3_precision.hpp.085D5EA5AB70A2FE.idx new file mode 100644 index 0000000..a65db46 Binary files /dev/null and b/.cache/clangd/index/vector_float3_precision.hpp.085D5EA5AB70A2FE.idx differ diff --git a/.cache/clangd/index/vector_float4.hpp.4D4B7CDD86774D31.idx b/.cache/clangd/index/vector_float4.hpp.4D4B7CDD86774D31.idx new file mode 100644 index 0000000..d59dcb8 Binary files /dev/null and b/.cache/clangd/index/vector_float4.hpp.4D4B7CDD86774D31.idx differ diff --git a/.cache/clangd/index/vector_float4_precision.hpp.81BF7A2C8B4E69F5.idx b/.cache/clangd/index/vector_float4_precision.hpp.81BF7A2C8B4E69F5.idx new file mode 100644 index 0000000..e319630 Binary files /dev/null and b/.cache/clangd/index/vector_float4_precision.hpp.81BF7A2C8B4E69F5.idx differ diff --git a/.cache/clangd/index/vector_int1.hpp.81DD21EC792AB328.idx b/.cache/clangd/index/vector_int1.hpp.81DD21EC792AB328.idx new file mode 100644 index 0000000..ee27432 Binary files /dev/null and b/.cache/clangd/index/vector_int1.hpp.81DD21EC792AB328.idx differ diff --git a/.cache/clangd/index/vector_int1_precision.hpp.9F618818847EEEBA.idx b/.cache/clangd/index/vector_int1_precision.hpp.9F618818847EEEBA.idx new file mode 100644 index 0000000..375c65a Binary files /dev/null and b/.cache/clangd/index/vector_int1_precision.hpp.9F618818847EEEBA.idx differ diff --git a/.cache/clangd/index/vector_int2.hpp.FE8859339411EBA4.idx b/.cache/clangd/index/vector_int2.hpp.FE8859339411EBA4.idx new file mode 100644 index 0000000..86089a6 Binary files /dev/null and b/.cache/clangd/index/vector_int2.hpp.FE8859339411EBA4.idx differ diff --git a/.cache/clangd/index/vector_int2_precision.hpp.B5B8DE55297B9280.idx b/.cache/clangd/index/vector_int2_precision.hpp.B5B8DE55297B9280.idx new file mode 100644 index 0000000..d10ee19 Binary files /dev/null and b/.cache/clangd/index/vector_int2_precision.hpp.B5B8DE55297B9280.idx differ diff --git a/.cache/clangd/index/vector_int3.hpp.9A5581A971E8B1B0.idx b/.cache/clangd/index/vector_int3.hpp.9A5581A971E8B1B0.idx new file mode 100644 index 0000000..edf251c Binary files /dev/null and b/.cache/clangd/index/vector_int3.hpp.9A5581A971E8B1B0.idx differ diff --git a/.cache/clangd/index/vector_int3_precision.hpp.436DB8C7D9414202.idx b/.cache/clangd/index/vector_int3_precision.hpp.436DB8C7D9414202.idx new file mode 100644 index 0000000..4112162 Binary files /dev/null and b/.cache/clangd/index/vector_int3_precision.hpp.436DB8C7D9414202.idx differ diff --git a/.cache/clangd/index/vector_int4.hpp.2AAE2EBAE8109BA7.idx b/.cache/clangd/index/vector_int4.hpp.2AAE2EBAE8109BA7.idx new file mode 100644 index 0000000..cb22be1 Binary files /dev/null and b/.cache/clangd/index/vector_int4.hpp.2AAE2EBAE8109BA7.idx differ diff --git a/.cache/clangd/index/vector_int4_precision.hpp.5832A221D511B3F3.idx b/.cache/clangd/index/vector_int4_precision.hpp.5832A221D511B3F3.idx new file mode 100644 index 0000000..8b2e6c5 Binary files /dev/null and b/.cache/clangd/index/vector_int4_precision.hpp.5832A221D511B3F3.idx differ diff --git a/.cache/clangd/index/vector_relational.hpp.58EE4B7CB04C3CE0.idx b/.cache/clangd/index/vector_relational.hpp.58EE4B7CB04C3CE0.idx new file mode 100644 index 0000000..ef36e02 Binary files /dev/null and b/.cache/clangd/index/vector_relational.hpp.58EE4B7CB04C3CE0.idx differ diff --git a/.cache/clangd/index/vector_relational.hpp.E6D5B490CCBBC6AE.idx b/.cache/clangd/index/vector_relational.hpp.E6D5B490CCBBC6AE.idx new file mode 100644 index 0000000..98884bb Binary files /dev/null and b/.cache/clangd/index/vector_relational.hpp.E6D5B490CCBBC6AE.idx differ diff --git a/.cache/clangd/index/vector_relational.inl.79863E7ED5BDB3B1.idx b/.cache/clangd/index/vector_relational.inl.79863E7ED5BDB3B1.idx new file mode 100644 index 0000000..1d59e31 Binary files /dev/null and b/.cache/clangd/index/vector_relational.inl.79863E7ED5BDB3B1.idx differ diff --git a/.cache/clangd/index/vector_uint1.hpp.AF82BE187E40C939.idx b/.cache/clangd/index/vector_uint1.hpp.AF82BE187E40C939.idx new file mode 100644 index 0000000..0f7486f Binary files /dev/null and b/.cache/clangd/index/vector_uint1.hpp.AF82BE187E40C939.idx differ diff --git a/.cache/clangd/index/vector_uint1_precision.hpp.4F22D016B6E2292A.idx b/.cache/clangd/index/vector_uint1_precision.hpp.4F22D016B6E2292A.idx new file mode 100644 index 0000000..e292b9c Binary files /dev/null and b/.cache/clangd/index/vector_uint1_precision.hpp.4F22D016B6E2292A.idx differ diff --git a/.cache/clangd/index/vector_uint2.hpp.778C8D961B4847B1.idx b/.cache/clangd/index/vector_uint2.hpp.778C8D961B4847B1.idx new file mode 100644 index 0000000..7385a28 Binary files /dev/null and b/.cache/clangd/index/vector_uint2.hpp.778C8D961B4847B1.idx differ diff --git a/.cache/clangd/index/vector_uint2_precision.hpp.346EAEDC77CF8620.idx b/.cache/clangd/index/vector_uint2_precision.hpp.346EAEDC77CF8620.idx new file mode 100644 index 0000000..2bab235 Binary files /dev/null and b/.cache/clangd/index/vector_uint2_precision.hpp.346EAEDC77CF8620.idx differ diff --git a/.cache/clangd/index/vector_uint3.hpp.0682F874B5F1E0B2.idx b/.cache/clangd/index/vector_uint3.hpp.0682F874B5F1E0B2.idx new file mode 100644 index 0000000..799c61d Binary files /dev/null and b/.cache/clangd/index/vector_uint3.hpp.0682F874B5F1E0B2.idx differ diff --git a/.cache/clangd/index/vector_uint3_precision.hpp.70BA53AB154A5123.idx b/.cache/clangd/index/vector_uint3_precision.hpp.70BA53AB154A5123.idx new file mode 100644 index 0000000..6d6e9e8 Binary files /dev/null and b/.cache/clangd/index/vector_uint3_precision.hpp.70BA53AB154A5123.idx differ diff --git a/.cache/clangd/index/vector_uint4.hpp.42E2E4E850217AF7.idx b/.cache/clangd/index/vector_uint4.hpp.42E2E4E850217AF7.idx new file mode 100644 index 0000000..1adfde3 Binary files /dev/null and b/.cache/clangd/index/vector_uint4.hpp.42E2E4E850217AF7.idx differ diff --git a/.cache/clangd/index/vector_uint4_precision.hpp.7114E56458F555E5.idx b/.cache/clangd/index/vector_uint4_precision.hpp.7114E56458F555E5.idx new file mode 100644 index 0000000..c47ba9e Binary files /dev/null and b/.cache/clangd/index/vector_uint4_precision.hpp.7114E56458F555E5.idx differ diff --git a/.cache/clangd/index/vk_buffer.cpp.BA2628705370D283.idx b/.cache/clangd/index/vk_buffer.cpp.BA2628705370D283.idx new file mode 100644 index 0000000..306d097 Binary files /dev/null and b/.cache/clangd/index/vk_buffer.cpp.BA2628705370D283.idx differ diff --git a/.cache/clangd/index/vk_buffer.h.4773677DC3A7CC29.idx b/.cache/clangd/index/vk_buffer.h.4773677DC3A7CC29.idx new file mode 100644 index 0000000..23fb9e8 Binary files /dev/null and b/.cache/clangd/index/vk_buffer.h.4773677DC3A7CC29.idx differ diff --git a/.cache/clangd/index/vk_cmd_buffer.cpp.DF96A7D8CF07C5FF.idx b/.cache/clangd/index/vk_cmd_buffer.cpp.DF96A7D8CF07C5FF.idx new file mode 100644 index 0000000..84e389f Binary files /dev/null and b/.cache/clangd/index/vk_cmd_buffer.cpp.DF96A7D8CF07C5FF.idx differ diff --git a/.cache/clangd/index/vk_cmd_buffer.h.358EC36C6802C290.idx b/.cache/clangd/index/vk_cmd_buffer.h.358EC36C6802C290.idx new file mode 100644 index 0000000..ec80018 Binary files /dev/null and b/.cache/clangd/index/vk_cmd_buffer.h.358EC36C6802C290.idx differ diff --git a/.cache/clangd/index/vk_cmd_pool.cpp.DDA44364BE5DA0F1.idx b/.cache/clangd/index/vk_cmd_pool.cpp.DDA44364BE5DA0F1.idx new file mode 100644 index 0000000..2943025 Binary files /dev/null and b/.cache/clangd/index/vk_cmd_pool.cpp.DDA44364BE5DA0F1.idx differ diff --git a/.cache/clangd/index/vk_cmd_pool.h.802DC46337800115.idx b/.cache/clangd/index/vk_cmd_pool.h.802DC46337800115.idx new file mode 100644 index 0000000..11bb90a Binary files /dev/null and b/.cache/clangd/index/vk_cmd_pool.h.802DC46337800115.idx differ diff --git a/.cache/clangd/index/vk_descriptor_pool.cpp.8A8CC830E4BDAC95.idx b/.cache/clangd/index/vk_descriptor_pool.cpp.8A8CC830E4BDAC95.idx new file mode 100644 index 0000000..1141322 Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_pool.cpp.8A8CC830E4BDAC95.idx differ diff --git a/.cache/clangd/index/vk_descriptor_pool.h.B4184597204F6B20.idx b/.cache/clangd/index/vk_descriptor_pool.h.B4184597204F6B20.idx new file mode 100644 index 0000000..b0c8d43 Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_pool.h.B4184597204F6B20.idx differ diff --git a/.cache/clangd/index/vk_descriptor_set.cpp.B0705EFAB8D8230D.idx b/.cache/clangd/index/vk_descriptor_set.cpp.B0705EFAB8D8230D.idx new file mode 100644 index 0000000..4d0fe2b Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_set.cpp.B0705EFAB8D8230D.idx differ diff --git a/.cache/clangd/index/vk_descriptor_set.h.DE742B522C3856BD.idx b/.cache/clangd/index/vk_descriptor_set.h.DE742B522C3856BD.idx new file mode 100644 index 0000000..01d693e Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_set.h.DE742B522C3856BD.idx differ diff --git a/.cache/clangd/index/vk_descriptor_set_layout.cpp.753C899827FE21DA.idx b/.cache/clangd/index/vk_descriptor_set_layout.cpp.753C899827FE21DA.idx new file mode 100644 index 0000000..dd3a05b Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_set_layout.cpp.753C899827FE21DA.idx differ diff --git a/.cache/clangd/index/vk_descriptor_set_layout.h.35C3DAF23FFD7E5A.idx b/.cache/clangd/index/vk_descriptor_set_layout.h.35C3DAF23FFD7E5A.idx new file mode 100644 index 0000000..9497412 Binary files /dev/null and b/.cache/clangd/index/vk_descriptor_set_layout.h.35C3DAF23FFD7E5A.idx differ diff --git a/.cache/clangd/index/vk_device.cpp.05BFE718466BA861.idx b/.cache/clangd/index/vk_device.cpp.05BFE718466BA861.idx new file mode 100644 index 0000000..9b2e6c1 Binary files /dev/null and b/.cache/clangd/index/vk_device.cpp.05BFE718466BA861.idx differ diff --git a/.cache/clangd/index/vk_device.h.4AA3B62D85CF0E4D.idx b/.cache/clangd/index/vk_device.h.4AA3B62D85CF0E4D.idx new file mode 100644 index 0000000..d4eb180 Binary files /dev/null and b/.cache/clangd/index/vk_device.h.4AA3B62D85CF0E4D.idx differ diff --git a/.cache/clangd/index/vk_fence.cpp.29DABCDBBE39C2EB.idx b/.cache/clangd/index/vk_fence.cpp.29DABCDBBE39C2EB.idx new file mode 100644 index 0000000..a652162 Binary files /dev/null and b/.cache/clangd/index/vk_fence.cpp.29DABCDBBE39C2EB.idx differ diff --git a/.cache/clangd/index/vk_fence.h.83FC90B1822673C9.idx b/.cache/clangd/index/vk_fence.h.83FC90B1822673C9.idx new file mode 100644 index 0000000..9745541 Binary files /dev/null and b/.cache/clangd/index/vk_fence.h.83FC90B1822673C9.idx differ diff --git a/.cache/clangd/index/vk_framebuffer.cpp.FC29EE58C1753DB0.idx b/.cache/clangd/index/vk_framebuffer.cpp.FC29EE58C1753DB0.idx new file mode 100644 index 0000000..431894c Binary files /dev/null and b/.cache/clangd/index/vk_framebuffer.cpp.FC29EE58C1753DB0.idx differ diff --git a/.cache/clangd/index/vk_framebuffer.h.20A58E088B40983C.idx b/.cache/clangd/index/vk_framebuffer.h.20A58E088B40983C.idx new file mode 100644 index 0000000..5bed7d4 Binary files /dev/null and b/.cache/clangd/index/vk_framebuffer.h.20A58E088B40983C.idx differ diff --git a/.cache/clangd/index/vk_ibo.h.6D9B569E00EBC4EF.idx b/.cache/clangd/index/vk_ibo.h.6D9B569E00EBC4EF.idx new file mode 100644 index 0000000..51598ac Binary files /dev/null and b/.cache/clangd/index/vk_ibo.h.6D9B569E00EBC4EF.idx differ diff --git a/.cache/clangd/index/vk_image.cpp.BE2DF688ACB94E68.idx b/.cache/clangd/index/vk_image.cpp.BE2DF688ACB94E68.idx new file mode 100644 index 0000000..37dd5be Binary files /dev/null and b/.cache/clangd/index/vk_image.cpp.BE2DF688ACB94E68.idx differ diff --git a/.cache/clangd/index/vk_image.h.0E8C5342B413562B.idx b/.cache/clangd/index/vk_image.h.0E8C5342B413562B.idx new file mode 100644 index 0000000..f489284 Binary files /dev/null and b/.cache/clangd/index/vk_image.h.0E8C5342B413562B.idx differ diff --git a/.cache/clangd/index/vk_imageview.cpp.FB1FE6792C2CBFC5.idx b/.cache/clangd/index/vk_imageview.cpp.FB1FE6792C2CBFC5.idx new file mode 100644 index 0000000..a319e19 Binary files /dev/null and b/.cache/clangd/index/vk_imageview.cpp.FB1FE6792C2CBFC5.idx differ diff --git a/.cache/clangd/index/vk_imageview.h.413BB6C15ECA4662.idx b/.cache/clangd/index/vk_imageview.h.413BB6C15ECA4662.idx new file mode 100644 index 0000000..235f807 Binary files /dev/null and b/.cache/clangd/index/vk_imageview.h.413BB6C15ECA4662.idx differ diff --git a/.cache/clangd/index/vk_instance.cpp.BB368D12A977D998.idx b/.cache/clangd/index/vk_instance.cpp.BB368D12A977D998.idx new file mode 100644 index 0000000..1ab02c0 Binary files /dev/null and b/.cache/clangd/index/vk_instance.cpp.BB368D12A977D998.idx differ diff --git a/.cache/clangd/index/vk_instance.h.775FD1DC7C7F7151.idx b/.cache/clangd/index/vk_instance.h.775FD1DC7C7F7151.idx new file mode 100644 index 0000000..ba7dd64 Binary files /dev/null and b/.cache/clangd/index/vk_instance.h.775FD1DC7C7F7151.idx differ diff --git a/.cache/clangd/index/vk_queues.cpp.0F3A599BA93A8026.idx b/.cache/clangd/index/vk_queues.cpp.0F3A599BA93A8026.idx new file mode 100644 index 0000000..717f9ac Binary files /dev/null and b/.cache/clangd/index/vk_queues.cpp.0F3A599BA93A8026.idx differ diff --git a/.cache/clangd/index/vk_queues.h.70C4E6CD77FECB4A.idx b/.cache/clangd/index/vk_queues.h.70C4E6CD77FECB4A.idx new file mode 100644 index 0000000..ab2a655 Binary files /dev/null and b/.cache/clangd/index/vk_queues.h.70C4E6CD77FECB4A.idx differ diff --git a/.cache/clangd/index/vk_render_pass.cpp.6F35399F05A24B3B.idx b/.cache/clangd/index/vk_render_pass.cpp.6F35399F05A24B3B.idx new file mode 100644 index 0000000..3c12e4c Binary files /dev/null and b/.cache/clangd/index/vk_render_pass.cpp.6F35399F05A24B3B.idx differ diff --git a/.cache/clangd/index/vk_render_pass.h.A24BF9B34784738B.idx b/.cache/clangd/index/vk_render_pass.h.A24BF9B34784738B.idx new file mode 100644 index 0000000..b1f2461 Binary files /dev/null and b/.cache/clangd/index/vk_render_pass.h.A24BF9B34784738B.idx differ diff --git a/.cache/clangd/index/vk_semaphore.cpp.B7F727D168915C00.idx b/.cache/clangd/index/vk_semaphore.cpp.B7F727D168915C00.idx new file mode 100644 index 0000000..ac92ba1 Binary files /dev/null and b/.cache/clangd/index/vk_semaphore.cpp.B7F727D168915C00.idx differ diff --git a/.cache/clangd/index/vk_semaphore.h.F735C2235B5D362D.idx b/.cache/clangd/index/vk_semaphore.h.F735C2235B5D362D.idx new file mode 100644 index 0000000..8bb858e Binary files /dev/null and b/.cache/clangd/index/vk_semaphore.h.F735C2235B5D362D.idx differ diff --git a/.cache/clangd/index/vk_surface.cpp.B5BAEB8E670307B8.idx b/.cache/clangd/index/vk_surface.cpp.B5BAEB8E670307B8.idx new file mode 100644 index 0000000..208d236 Binary files /dev/null and b/.cache/clangd/index/vk_surface.cpp.B5BAEB8E670307B8.idx differ diff --git a/.cache/clangd/index/vk_surface.h.46F238BF3E878B31.idx b/.cache/clangd/index/vk_surface.h.46F238BF3E878B31.idx new file mode 100644 index 0000000..9f688df Binary files /dev/null and b/.cache/clangd/index/vk_surface.h.46F238BF3E878B31.idx differ diff --git a/.cache/clangd/index/vk_swapchain.cpp.B9B92BDE1BB5BCA7.idx b/.cache/clangd/index/vk_swapchain.cpp.B9B92BDE1BB5BCA7.idx new file mode 100644 index 0000000..69b1fa7 Binary files /dev/null and b/.cache/clangd/index/vk_swapchain.cpp.B9B92BDE1BB5BCA7.idx differ diff --git a/.cache/clangd/index/vk_swapchain.h.862AA108AE40F907.idx b/.cache/clangd/index/vk_swapchain.h.862AA108AE40F907.idx new file mode 100644 index 0000000..c4dd14f Binary files /dev/null and b/.cache/clangd/index/vk_swapchain.h.862AA108AE40F907.idx differ diff --git a/.cache/clangd/index/vk_ubo.cpp.C0898F0CC0F1A7D9.idx b/.cache/clangd/index/vk_ubo.cpp.C0898F0CC0F1A7D9.idx new file mode 100644 index 0000000..92a5342 Binary files /dev/null and b/.cache/clangd/index/vk_ubo.cpp.C0898F0CC0F1A7D9.idx differ diff --git a/.cache/clangd/index/vk_ubo.h.45FAE49C7289DF74.idx b/.cache/clangd/index/vk_ubo.h.45FAE49C7289DF74.idx new file mode 100644 index 0000000..510886c Binary files /dev/null and b/.cache/clangd/index/vk_ubo.h.45FAE49C7289DF74.idx differ diff --git a/.cache/clangd/index/vk_validation_layers.cpp.A05AEA9E0F852F0A.idx b/.cache/clangd/index/vk_validation_layers.cpp.A05AEA9E0F852F0A.idx new file mode 100644 index 0000000..89ff0c1 Binary files /dev/null and b/.cache/clangd/index/vk_validation_layers.cpp.A05AEA9E0F852F0A.idx differ diff --git a/.cache/clangd/index/vk_validation_layers.h.FA44FB86056522DC.idx b/.cache/clangd/index/vk_validation_layers.h.FA44FB86056522DC.idx new file mode 100644 index 0000000..fbf0e54 Binary files /dev/null and b/.cache/clangd/index/vk_validation_layers.h.FA44FB86056522DC.idx differ diff --git a/.cache/clangd/index/vk_vbo.cpp.8D2F65244AAF5766.idx b/.cache/clangd/index/vk_vbo.cpp.8D2F65244AAF5766.idx new file mode 100644 index 0000000..e27ab0c Binary files /dev/null and b/.cache/clangd/index/vk_vbo.cpp.8D2F65244AAF5766.idx differ diff --git a/.cache/clangd/index/vk_vbo.h.77A0A5678AB2B41F.idx b/.cache/clangd/index/vk_vbo.h.77A0A5678AB2B41F.idx new file mode 100644 index 0000000..60c4cd9 Binary files /dev/null and b/.cache/clangd/index/vk_vbo.h.77A0A5678AB2B41F.idx differ diff --git a/.cache/clangd/index/vma.h.C97CD9F26841264B.idx b/.cache/clangd/index/vma.h.C97CD9F26841264B.idx new file mode 100644 index 0000000..f413161 Binary files /dev/null and b/.cache/clangd/index/vma.h.C97CD9F26841264B.idx differ diff --git a/.cache/clangd/index/volk.c.1E6E20C1992F6B0B.idx b/.cache/clangd/index/volk.c.1E6E20C1992F6B0B.idx new file mode 100644 index 0000000..b86a5e3 Binary files /dev/null and b/.cache/clangd/index/volk.c.1E6E20C1992F6B0B.idx differ diff --git a/.cache/clangd/index/volk.h.6A00EB8A7C7DEDB7.idx b/.cache/clangd/index/volk.h.6A00EB8A7C7DEDB7.idx new file mode 100644 index 0000000..5fbc557 Binary files /dev/null and b/.cache/clangd/index/volk.h.6A00EB8A7C7DEDB7.idx differ diff --git a/.cache/clangd/index/window.cpp.94798B503C843CBC.idx b/.cache/clangd/index/window.cpp.94798B503C843CBC.idx new file mode 100644 index 0000000..c2df3f2 Binary files /dev/null and b/.cache/clangd/index/window.cpp.94798B503C843CBC.idx differ diff --git a/.cache/clangd/index/window.h.63C575CF5F705EFE.idx b/.cache/clangd/index/window.h.63C575CF5F705EFE.idx new file mode 100644 index 0000000..90178e2 Binary files /dev/null and b/.cache/clangd/index/window.h.63C575CF5F705EFE.idx differ diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..ff20728 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,642 @@ +[ + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/text_pipeline.o", + "src/renderer/text_pipeline.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/text_pipeline.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/text_pipeline.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/buffers/vk_vbo.o", + "src/renderer/buffers/vk_vbo.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_vbo.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_vbo.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/pixel_put.o", + "src/renderer/pixel_put.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/pixel_put.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/pixel_put.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/core/graphics.o", + "src/core/graphics.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/core/graphics.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/core/graphics.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/buffers/vk_ubo.o", + "src/renderer/buffers/vk_ubo.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_ubo.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_ubo.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/platform/inputs.o", + "src/platform/inputs.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/platform/inputs.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/platform/inputs.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/renderer.o", + "src/renderer/renderer.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/renderer.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/renderer.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/text_library.o", + "src/renderer/text_library.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/text_library.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/text_library.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/buffers/vk_buffer.o", + "src/renderer/buffers/vk_buffer.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_buffer.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/buffers/vk_buffer.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/command/cmd_manager.o", + "src/renderer/command/cmd_manager.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/cmd_manager.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/cmd_manager.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_device.o", + "src/renderer/core/vk_device.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_device.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_device.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/command/vk_cmd_buffer.o", + "src/renderer/command/vk_cmd_buffer.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/vk_cmd_buffer.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/vk_cmd_buffer.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/render_core.o", + "src/renderer/core/render_core.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/render_core.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/render_core.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/command/vk_cmd_pool.o", + "src/renderer/command/vk_cmd_pool.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/vk_cmd_pool.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/command/vk_cmd_pool.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_instance.o", + "src/renderer/core/vk_instance.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_instance.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_instance.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_semaphore.o", + "src/renderer/core/vk_semaphore.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_semaphore.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_semaphore.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_queues.o", + "src/renderer/core/vk_queues.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_queues.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_queues.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_validation_layers.o", + "src/renderer/core/vk_validation_layers.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_validation_layers.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_validation_layers.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_surface.o", + "src/renderer/core/vk_surface.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_surface.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_surface.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/core/vk_fence.o", + "src/renderer/core/vk_fence.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_fence.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/core/vk_fence.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/descriptors/vk_descriptor_pool.o", + "src/renderer/descriptors/vk_descriptor_pool.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/images/texture_atlas.o", + "src/renderer/images/texture_atlas.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/texture_atlas.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/texture_atlas.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/descriptors/vk_descriptor_set.o", + "src/renderer/descriptors/vk_descriptor_set.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_set.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_set.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/swapchain/vk_framebuffer.o", + "src/renderer/swapchain/vk_framebuffer.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_framebuffer.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_framebuffer.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/pipeline/pipeline.o", + "src/renderer/pipeline/pipeline.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/pipeline/pipeline.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/pipeline/pipeline.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/images/vk_image.o", + "src/renderer/images/vk_image.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/vk_image.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/vk_image.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/descriptors/vk_descriptor_set_layout.o", + "src/renderer/descriptors/vk_descriptor_set_layout.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/swapchain/vk_imageview.o", + "src/renderer/swapchain/vk_imageview.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_imageview.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_imageview.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/swapchain/vk_swapchain.o", + "src/renderer/swapchain/vk_swapchain.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_swapchain.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_swapchain.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/swapchain/vk_render_pass.o", + "src/renderer/swapchain/vk_render_pass.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_render_pass.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/swapchain/vk_render_pass.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/platform/window.o", + "src/platform/window.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/platform/window.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/platform/window.o" + }, + { + "arguments": [ + "/usr/bin/clang++", + "-std=c++17", + "-O3", + "-fPIC", + "-D", + "IMAGE_OPTIMIZED", + "-I./includes", + "-I./src", + "-I./third_party", + "-c", + "-o", + "src/renderer/images/texture.o", + "src/renderer/images/texture.cpp" + ], + "directory": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX", + "file": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/texture.cpp", + "output": "/home/kbz_8/Documents/Programmation/42/other/MacroLibX/src/renderer/images/texture.o" + } +] diff --git a/src/core/application.inl b/src/core/application.inl index ba7a2fe..2f7b083 100644 --- a/src/core/application.inl +++ b/src/core/application.inl @@ -10,8 +10,6 @@ /* */ /* ************************************************************************** */ -#include - namespace mlx::core { void Application::getMousePos(int* x, int* y) noexcept @@ -42,7 +40,7 @@ namespace mlx::core void* Application::newGraphicsSuport(std::size_t w, std::size_t h, std::string title) { - _graphics.emplace_back(std::make_unique(w, h, std::move(title), _graphics.size())); + _graphics.emplace_back(std::make_unique(w, h, title, _graphics.size())); _in->addWindow(_graphics.back()->getWindow()); return static_cast(&_graphics.back()->getID()); } diff --git a/src/core/graphics.cpp b/src/core/graphics.cpp index 6e49528..8bee267 100644 --- a/src/core/graphics.cpp +++ b/src/core/graphics.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/02 15:13:55 by maldavid #+# #+# */ -/* Updated: 2023/04/08 00:19:18 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 21:02:22 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,8 +14,8 @@ namespace mlx { - GraphicsSupport::GraphicsSupport(std::size_t w, std::size_t h, std::string title, int id) : - _window(std::make_shared(w, h, std::move(title))), + GraphicsSupport::GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id) : + _window(std::make_shared(w, h, title)), _renderer(std::make_unique()), _text_put_pipeline(std::make_unique()), _id(id) { @@ -29,8 +29,10 @@ namespace mlx { auto cmd_buff = _renderer->getActiveCmdBuffer().get(); - std::vector sets; - sets.push_back(_renderer->getVertDescriptorSet().get()); + static std::array sets = { + _renderer->getVertDescriptorSet().get(), + VK_NULL_HANDLE + }; for(auto& data : _textures_to_render) { @@ -38,20 +40,18 @@ namespace mlx data.texture->setDescriptor(_renderer->getFragDescriptorSet().duplicate()); if(!data.texture->hasBeenUpdated()) data.texture->updateSet(0); - sets.push_back(data.texture->getSet()); + sets[1] = data.texture->getSet(); vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); data.texture->render(*_renderer, data.x, data.y); - sets.pop_back(); } _pixel_put_pipeline.present(); - sets.push_back(_pixel_put_pipeline.getDescriptorSet()); + sets[1] = _pixel_put_pipeline.getDescriptorSet(); vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); _pixel_put_pipeline.render(*_renderer); - sets.pop_back(); - sets.push_back(_text_put_pipeline->getDescriptorSet()); + sets[1] = _text_put_pipeline->getDescriptorSet(); vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); _text_put_pipeline->render(); diff --git a/src/core/graphics.h b/src/core/graphics.h index 66606d8..ed8cf3b 100644 --- a/src/core/graphics.h +++ b/src/core/graphics.h @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */ -/* Updated: 2023/04/21 18:43:38 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:41:29 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,7 +32,7 @@ namespace mlx class GraphicsSupport : public non_copyable { public: - GraphicsSupport(std::size_t w, std::size_t h, std::string title, int id); + GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id); inline int& getID() noexcept; inline std::shared_ptr getWindow(); diff --git a/src/platform/window.cpp b/src/platform/window.cpp index 760ea2d..5d11e50 100644 --- a/src/platform/window.cpp +++ b/src/platform/window.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/04 17:36:44 by maldavid #+# #+# */ -/* Updated: 2023/04/12 18:45:05 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:24:38 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,7 +15,7 @@ namespace mlx { - MLX_Window::MLX_Window(std::size_t w, std::size_t h, std::string title) : _width(w), _height(h) + MLX_Window::MLX_Window(std::size_t w, std::size_t h, const std::string& title) : _width(w), _height(h) { _win = SDL_CreateWindow(title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_VULKAN | SDL_WINDOW_SHOWN); if(!_win) diff --git a/src/platform/window.h b/src/platform/window.h index 55c6dd6..cb63f73 100644 --- a/src/platform/window.h +++ b/src/platform/window.h @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */ -/* Updated: 2023/04/12 19:06:24 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:24:46 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,7 @@ namespace mlx class MLX_Window { public: - MLX_Window(std::size_t w, std::size_t h, std::string title); + MLX_Window(std::size_t w, std::size_t h, const std::string& title); inline SDL_Window* getNativeWindow() const noexcept { return _win; } inline int getWidth() const noexcept { return _width; } diff --git a/src/renderer/buffers/vk_buffer.cpp b/src/renderer/buffers/vk_buffer.cpp index de36849..718fca3 100644 --- a/src/renderer/buffers/vk_buffer.cpp +++ b/src/renderer/buffers/vk_buffer.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 18:55:57 by maldavid #+# #+# */ -/* Updated: 2023/10/20 02:02:24 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 22:40:00 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,6 +20,7 @@ namespace mlx { void Buffer::create(Buffer::kind type, VkDeviceSize size, VkBufferUsageFlags usage, const void* data) { + VmaAllocationCreateInfo alloc_info{}; if(type == Buffer::kind::constant) { if(data == nullptr) @@ -28,22 +29,22 @@ namespace mlx return; } _usage = usage | VK_BUFFER_USAGE_TRANSFER_SRC_BIT; - _flags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + alloc_info.usage = VMA_MEMORY_USAGE_GPU_ONLY; } else if(type == Buffer::kind::uniform) { _usage = usage; - _flags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + alloc_info.usage = VMA_MEMORY_USAGE_CPU_TO_GPU; } else { _usage = usage; - _flags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + alloc_info.usage = VMA_MEMORY_USAGE_GPU_TO_CPU; } _size = size; - createBuffer(_usage, _flags); + createBuffer(_usage, alloc_info); if(type == Buffer::kind::constant || data != nullptr) { @@ -59,11 +60,10 @@ namespace mlx void Buffer::destroy() noexcept { - vkDestroyBuffer(Render_Core::get().getDevice().get(), _buffer, nullptr); - vkFreeMemory(Render_Core::get().getDevice().get(), _memory, nullptr); + Render_Core::get().getAllocator().destroyBuffer(_allocation, _buffer); } - void Buffer::createBuffer(VkBufferUsageFlags usage, VkMemoryPropertyFlags properties) + void Buffer::createBuffer(VkBufferUsageFlags usage, VmaAllocationCreateInfo info) { VkBufferCreateInfo bufferInfo{}; bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; @@ -71,32 +71,18 @@ namespace mlx bufferInfo.usage = usage; bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; - auto device = Render_Core::get().getDevice().get(); - - if(vkCreateBuffer(device, &bufferInfo, nullptr, &_buffer) != VK_SUCCESS) - core::error::report(e_kind::fatal_error, "Vulkan : failed to create buffer"); - - VkMemoryRequirements memRequirements; - vkGetBufferMemoryRequirements(device, _buffer, &memRequirements); - - VkMemoryAllocateInfo allocInfo{}; - allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; - allocInfo.allocationSize = memRequirements.size; - allocInfo.memoryTypeIndex = *RCore::findMemoryType(memRequirements.memoryTypeBits, properties); - - if(vkAllocateMemory(device, &allocInfo, nullptr, &_memory) != VK_SUCCESS) - core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate buffer memory"); - if(vkBindBufferMemory(device, _buffer, _memory, _offset) != VK_SUCCESS) - core::error::report(e_kind::fatal_error, "Vulkan : unable to bind device memory to a buffer object"); + _allocation = Render_Core::get().getAllocator().createBuffer(&bufferInfo, &info, _buffer); } void Buffer::pushToGPU() noexcept { + VmaAllocationCreateInfo alloc_info{}; + alloc_info.usage = VMA_MEMORY_USAGE_GPU_ONLY; + Buffer newBuffer; newBuffer._size = _size; newBuffer._usage = (this->_usage & 0xFFFFFFFC) | VK_BUFFER_USAGE_TRANSFER_DST_BIT; - newBuffer._flags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; - newBuffer.createBuffer(newBuffer._usage, newBuffer._flags); + newBuffer.createBuffer(newBuffer._usage, alloc_info); CmdPool cmdpool; cmdpool.init(); @@ -150,30 +136,12 @@ namespace mlx buffer._size = _size; _size = temp_size; - VkDeviceSize temp_offset = buffer._offset; - buffer._offset = _offset; - _offset = temp_offset; - - VkDeviceMemory temp_memory = buffer._memory; - buffer._memory = _memory; - _memory = temp_memory; - VkBufferUsageFlags temp_u = _usage; _usage = buffer._usage; buffer._usage = temp_u; - - VkMemoryPropertyFlags temp_f = _flags; - _flags = buffer._flags; - buffer._flags = temp_f; } void Buffer::flush(VkDeviceSize size, VkDeviceSize offset) { - VkMappedMemoryRange mappedRange{}; - mappedRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE; - mappedRange.memory = _memory; - mappedRange.offset = offset; - mappedRange.size = size; - vkFlushMappedMemoryRanges(Render_Core::get().getDevice().get(), 1, &mappedRange); } } diff --git a/src/renderer/buffers/vk_buffer.h b/src/renderer/buffers/vk_buffer.h index 08b87b5..39b2606 100644 --- a/src/renderer/buffers/vk_buffer.h +++ b/src/renderer/buffers/vk_buffer.h @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 23:18:52 by maldavid #+# #+# */ -/* Updated: 2023/04/22 19:51:47 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 22:33:18 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,37 +26,34 @@ namespace mlx void create(kind type, VkDeviceSize size, VkBufferUsageFlags usage, const void* data = nullptr); void destroy() noexcept; - inline void mapMem(void** data = nullptr, VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0) noexcept + inline void mapMem(void** data = nullptr) noexcept { - if(vkMapMemory(Render_Core::get().getDevice().get(), _memory, _offset + offset, size, 0, data) != VK_SUCCESS) - core::error::report(e_kind::fatal_error, "Vulkan : failed to map a buffer"); + Render_Core::get().getAllocator().mapMemory(_allocation, data); _is_mapped = true; } inline bool isMapped() const noexcept { return _is_mapped; } - inline void unmapMem() noexcept { vkUnmapMemory(Render_Core::get().getDevice().get(), _memory); _is_mapped = false; } + inline void unmapMem() noexcept { Render_Core::get().getAllocator().unmapMemory(_allocation);_is_mapped = false; } void flush(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0); - inline unsigned int getSize() noexcept { return _size; } - inline unsigned int getOffset() noexcept { return _offset; } - inline VkDeviceMemory getDeviceMemory() noexcept { return _memory; } inline VkBuffer& operator()() noexcept { return _buffer; } inline VkBuffer& get() noexcept { return _buffer; } + inline VkDeviceSize getSize() const noexcept { return _size; } protected: void pushToGPU() noexcept; void swap(Buffer& buffer) noexcept; - VkDeviceMemory _memory = VK_NULL_HANDLE; - VkDeviceSize _offset = 0; - VkDeviceSize _size = 0; + protected: + VmaAllocation _allocation; VkBuffer _buffer = VK_NULL_HANDLE; + VkDeviceSize _size = 0; private: - void createBuffer(VkBufferUsageFlags usage, VkMemoryPropertyFlags properties); + void createBuffer(VkBufferUsageFlags usage, VmaAllocationCreateInfo info); + private: VkBufferUsageFlags _usage = 0; - VkMemoryPropertyFlags _flags = 0; bool _is_mapped = false; }; } diff --git a/src/renderer/command/vk_cmd_buffer.cpp b/src/renderer/command/vk_cmd_buffer.cpp index 2d30b6c..143b9b2 100644 --- a/src/renderer/command/vk_cmd_buffer.cpp +++ b/src/renderer/command/vk_cmd_buffer.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 18:26:06 by maldavid #+# #+# */ -/* Updated: 2023/04/23 15:19:08 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:17:49 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,6 +34,9 @@ namespace mlx if(vkAllocateCommandBuffers(Render_Core::get().getDevice().get(), &allocInfo, &_cmd_buffer) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate command buffer"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new command buffer"); + #endif _fence.init(); } diff --git a/src/renderer/core/memory.cpp b/src/renderer/core/memory.cpp new file mode 100644 index 0000000..a442414 --- /dev/null +++ b/src/renderer/core/memory.cpp @@ -0,0 +1,103 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: kbz_8 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/10/20 22:02:37 by kbz_8 #+# #+# */ +/* Updated: 2023/11/08 22:31:27 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#define VMA_STATIC_VULKAN_FUNCTIONS 0 +#define VMA_DYNAMIC_VULKAN_FUNCTIONS 0 +#define VMA_VULKAN_VERSION 1002000 +#include +#include + +namespace mlx +{ + void GPUallocator::init() noexcept + { + VmaVulkanFunctions vma_vulkan_func{}; + vma_vulkan_func.vkAllocateMemory = vkAllocateMemory; + vma_vulkan_func.vkBindBufferMemory = vkBindBufferMemory; + vma_vulkan_func.vkBindImageMemory = vkBindImageMemory; + vma_vulkan_func.vkCreateBuffer = vkCreateBuffer; + vma_vulkan_func.vkCreateImage = vkCreateImage; + vma_vulkan_func.vkDestroyBuffer = vkDestroyBuffer; + vma_vulkan_func.vkDestroyImage = vkDestroyImage; + vma_vulkan_func.vkFlushMappedMemoryRanges = vkFlushMappedMemoryRanges; + vma_vulkan_func.vkFreeMemory = vkFreeMemory; + vma_vulkan_func.vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirements; + vma_vulkan_func.vkGetImageMemoryRequirements = vkGetImageMemoryRequirements; + vma_vulkan_func.vkGetPhysicalDeviceMemoryProperties = vkGetPhysicalDeviceMemoryProperties; + vma_vulkan_func.vkGetPhysicalDeviceProperties = vkGetPhysicalDeviceProperties; + vma_vulkan_func.vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRanges; + vma_vulkan_func.vkMapMemory = vkMapMemory; + vma_vulkan_func.vkUnmapMemory = vkUnmapMemory; + vma_vulkan_func.vkCmdCopyBuffer = vkCmdCopyBuffer; + + VmaAllocatorCreateInfo allocatorCreateInfo{}; + allocatorCreateInfo.vulkanApiVersion = VK_API_VERSION_1_2; + allocatorCreateInfo.physicalDevice = Render_Core::get().getDevice().getPhysicalDevice(); + allocatorCreateInfo.device = Render_Core::get().getDevice().get(); + allocatorCreateInfo.instance = Render_Core::get().getInstance().get(); + allocatorCreateInfo.pVulkanFunctions = &vma_vulkan_func; + + if(vmaCreateAllocator(&allocatorCreateInfo, &_allocator) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create allocator"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new allocator"); + #endif + } + + VmaAllocation GPUallocator::createBuffer(const VkBufferCreateInfo* binfo, const VmaAllocationCreateInfo* vinfo, VkBuffer& buffer) noexcept + { + VmaAllocation allocation; + if(vmaCreateBuffer(_allocator, binfo, vinfo, &buffer, &allocation, nullptr) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate a buffer"); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : created new buffer"); + #endif + return allocation; + } + + void GPUallocator::destroyBuffer(VmaAllocation allocation, VkBuffer buffer) noexcept + { + vmaDestroyBuffer(_allocator, buffer, allocation); + } + + VmaAllocation GPUallocator::createImage(const VkImageCreateInfo* iminfo, const VmaAllocationCreateInfo* vinfo, VkImage& image) noexcept + { + VmaAllocation allocation; + if(vmaCreateImage(_allocator, iminfo, vinfo, &image, &allocation, nullptr) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate an image"); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : created new image"); + #endif + return allocation; + } + + void GPUallocator::destroyImage(VmaAllocation allocation, VkImage image) noexcept + { + vmaDestroyImage(_allocator, image, allocation); + } + + void GPUallocator::mapMemory(VmaAllocation allocation, void** data) noexcept + { + if(vmaMapMemory(_allocator, allocation, data) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Graphics allocator : unable to map GPU memory to CPU memory"); + } + + void GPUallocator::unmapMemory(VmaAllocation allocation) noexcept + { + vmaUnmapMemory(_allocator, allocation); + } + + void GPUallocator::destroy() noexcept + { + vmaDestroyAllocator(_allocator); + } +} diff --git a/src/renderer/core/memory.h b/src/renderer/core/memory.h index 6acdf21..5c24811 100644 --- a/src/renderer/core/memory.h +++ b/src/renderer/core/memory.h @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/10/20 02:13:03 by maldavid #+# #+# */ -/* Updated: 2023/10/20 03:33:28 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 22:41:46 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,22 +15,27 @@ #include #include +#include namespace mlx { - enum class gpu_allocation_type - { - buffer, - image, - }; - class GPUallocator { public: GPUallocator() = default; + void init() noexcept; - VkDeviceMemory alloc(gpu_allocation_type type, VkDeviceSize size); void destroy() noexcept; + + VmaAllocation createBuffer(const VkBufferCreateInfo* binfo, const VmaAllocationCreateInfo* vinfo, VkBuffer& buffer) noexcept; + void destroyBuffer(VmaAllocation allocation, VkBuffer buffer) noexcept; + + VmaAllocation createImage(const VkImageCreateInfo* iminfo, const VmaAllocationCreateInfo* vinfo, VkImage& image) noexcept; + void destroyImage(VmaAllocation allocation, VkImage image) noexcept; + + void mapMemory(VmaAllocation allocation, void** data) noexcept; + void unmapMemory(VmaAllocation allocation) noexcept; + ~GPUallocator() = default; private: diff --git a/src/renderer/core/render_core.cpp b/src/renderer/core/render_core.cpp index 2388186..a7fd250 100644 --- a/src/renderer/core/render_core.cpp +++ b/src/renderer/core/render_core.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/17 23:33:34 by maldavid #+# #+# */ -/* Updated: 2023/04/23 19:09:21 by maldavid ### ########.fr */ +/* Updated: 2023/10/21 00:06:36 by kbz_8 ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,7 @@ #include #ifdef DEBUG - #warning "MLX is being compiled in debug mode, this activates Vulkan's validation layers and debug messages and may impact rendering performances" + #warning "MLX is being compiled in debug mode, this activates Vulkan's validation layers and debug messages which may impact rendering performances" #endif namespace mlx @@ -57,6 +57,7 @@ namespace mlx _device.init(); volkLoadDevice(_device.get()); _queues.init(); + _allocator.init(); _is_init = true; } @@ -67,6 +68,7 @@ namespace mlx vkDeviceWaitIdle(_device()); + _allocator.destroy(); _device.destroy(); _layers.destroy(); _instance.destroy(); diff --git a/src/renderer/core/render_core.h b/src/renderer/core/render_core.h index afc9d3c..dd8ffe4 100644 --- a/src/renderer/core/render_core.h +++ b/src/renderer/core/render_core.h @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 19:16:32 by maldavid #+# #+# */ -/* Updated: 2023/04/23 12:31:42 by maldavid ### ########.fr */ +/* Updated: 2023/10/21 00:04:39 by kbz_8 ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,6 +20,7 @@ #include "vk_device.h" #include "vk_instance.h" #include "vk_validation_layers.h" +#include "memory.h" #include #include @@ -52,6 +53,7 @@ namespace mlx inline Instance& getInstance() noexcept { return _instance; } inline Device& getDevice() noexcept { return _device; } inline Queues& getQueue() noexcept { return _queues; } + inline GPUallocator& getAllocator() noexcept { return _allocator; } inline ValidationLayers& getLayers() noexcept { return _layers; } ~Render_Core() = default; @@ -61,6 +63,7 @@ namespace mlx Queues _queues; Device _device; Instance _instance; + GPUallocator _allocator; bool _is_init = false; }; } diff --git a/src/renderer/core/vk_device.cpp b/src/renderer/core/vk_device.cpp index f3b145e..5306e15 100644 --- a/src/renderer/core/vk_device.cpp +++ b/src/renderer/core/vk_device.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 19:14:29 by maldavid #+# #+# */ -/* Updated: 2022/12/18 22:56:47 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:14:08 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,6 +57,9 @@ namespace mlx if(vkCreateDevice(_physicalDevice, &createInfo, nullptr, &_device) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create logcal device"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new logical device"); + #endif } void Device::pickPhysicalDevice() @@ -92,6 +95,9 @@ namespace mlx if(_physicalDevice == VK_NULL_HANDLE) core::error::report(e_kind::fatal_error, "Vulkan : failed to find a suitable GPU"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : picked a physical device"); + #endif } bool Device::isDeviceSuitable(VkPhysicalDevice device, VkSurfaceKHR surface) diff --git a/src/renderer/core/vk_fence.cpp b/src/renderer/core/vk_fence.cpp index c48e011..8fd23d8 100644 --- a/src/renderer/core/vk_fence.cpp +++ b/src/renderer/core/vk_fence.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/02 17:53:06 by maldavid #+# #+# */ -/* Updated: 2023/04/02 17:54:14 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:14:23 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,6 +25,9 @@ namespace mlx if(vkCreateFence(Render_Core::get().getDevice().get(), &fenceInfo, nullptr, &_fence) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create CPU synchronization object"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new fence"); + #endif } void Fence::wait() noexcept diff --git a/src/renderer/core/vk_instance.cpp b/src/renderer/core/vk_instance.cpp index 6ec1dac..5c1e462 100644 --- a/src/renderer/core/vk_instance.cpp +++ b/src/renderer/core/vk_instance.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 19:04:21 by maldavid #+# #+# */ -/* Updated: 2023/10/20 03:12:07 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:13:30 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,25 +19,25 @@ namespace mlx { void Instance::init() { - VkApplicationInfo appInfo{}; - appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; - appInfo.pApplicationName = "MacroLibX"; - appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); - appInfo.pEngineName = "MacroLibX"; - appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); - appInfo.apiVersion = VK_API_VERSION_1_2; + VkApplicationInfo appInfo{}; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "MacroLibX"; + appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.pEngineName = "MacroLibX"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.apiVersion = VK_API_VERSION_1_2; - VkInstanceCreateInfo createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; - createInfo.pApplicationInfo = &appInfo; + VkInstanceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + createInfo.pApplicationInfo = &appInfo; - auto extensions = getRequiredExtensions(); - createInfo.enabledExtensionCount = static_cast(extensions.size()); - createInfo.ppEnabledExtensionNames = extensions.data(); + auto extensions = getRequiredExtensions(); + createInfo.enabledExtensionCount = static_cast(extensions.size()); + createInfo.ppEnabledExtensionNames = extensions.data(); VkDebugUtilsMessengerCreateInfoEXT debugCreateInfo; if constexpr(enableValidationLayers) - { + { if(Render_Core::get().getLayers().checkValidationLayerSupport()) { createInfo.enabledLayerCount = static_cast(validationLayers.size()); @@ -45,45 +45,48 @@ namespace mlx Render_Core::get().getLayers().populateDebugMessengerCreateInfo(debugCreateInfo); createInfo.pNext = (VkDebugUtilsMessengerCreateInfoEXT*) &debugCreateInfo; } - } - else - { - createInfo.enabledLayerCount = 0; - createInfo.pNext = nullptr; - } + } + else + { + createInfo.enabledLayerCount = 0; + createInfo.pNext = nullptr; + } VkResult res; - if((res = vkCreateInstance(&createInfo, nullptr, &_instance)) != VK_SUCCESS) + if((res = vkCreateInstance(&createInfo, nullptr, &_instance)) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create Vulkan instance"); volkLoadInstance(_instance); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new instance"); + #endif } std::vector Instance::getRequiredExtensions() - { - unsigned int count = 0; + { + unsigned int count = 0; SDL_Window* window = SDL_CreateWindow("", 0, 0, 1, 1, SDL_WINDOW_VULKAN | SDL_WINDOW_HIDDEN); if(!window) core::error::report(e_kind::fatal_error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); - if(!SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr)) + if(!SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr)) core::error::report(e_kind::fatal_error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); - std::vector extensions = { VK_EXT_DEBUG_REPORT_EXTENSION_NAME }; - size_t additional_extension_count = extensions.size(); - extensions.resize(additional_extension_count + count); + std::vector extensions = { VK_EXT_DEBUG_REPORT_EXTENSION_NAME }; + size_t additional_extension_count = extensions.size(); + extensions.resize(additional_extension_count + count); - if(!SDL_Vulkan_GetInstanceExtensions(window, &count, extensions.data() + additional_extension_count)) + if(!SDL_Vulkan_GetInstanceExtensions(window, &count, extensions.data() + additional_extension_count)) core::error::report(e_kind::error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); if constexpr(enableValidationLayers) - extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); SDL_DestroyWindow(window); - return extensions; - } + return extensions; + } - void Instance::destroy() noexcept - { - vkDestroyInstance(_instance, nullptr); - } + void Instance::destroy() noexcept + { + vkDestroyInstance(_instance, nullptr); + } } diff --git a/src/renderer/core/vk_semaphore.cpp b/src/renderer/core/vk_semaphore.cpp index 7ca2857..4a2f195 100644 --- a/src/renderer/core/vk_semaphore.cpp +++ b/src/renderer/core/vk_semaphore.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 19:01:08 by maldavid #+# #+# */ -/* Updated: 2023/04/02 17:55:58 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:14:36 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,6 +24,9 @@ namespace mlx if( vkCreateSemaphore(Render_Core::get().getDevice().get(), &semaphoreInfo, nullptr, &_imageAvailableSemaphores) != VK_SUCCESS || vkCreateSemaphore(Render_Core::get().getDevice().get(), &semaphoreInfo, nullptr, &_renderFinishedSemaphores) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create GPU synchronization object"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new semaphore"); + #endif } void Semaphore::destroy() noexcept diff --git a/src/renderer/core/vk_surface.cpp b/src/renderer/core/vk_surface.cpp index 17358f5..08cb173 100644 --- a/src/renderer/core/vk_surface.cpp +++ b/src/renderer/core/vk_surface.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/08 18:58:49 by maldavid #+# #+# */ -/* Updated: 2022/12/18 22:20:57 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:14:48 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,6 +22,9 @@ namespace mlx { if(SDL_Vulkan_CreateSurface(renderer.getWindow()->getNativeWindow(), Render_Core::get().getInstance().get(), &_surface) != SDL_TRUE) core::error::report(e_kind::fatal_error, "Vulkan : failed to create a surface : %s", SDL_GetError()); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new surface"); + #endif } VkSurfaceFormatKHR Surface::chooseSwapSurfaceFormat(const std::vector& availableFormats) diff --git a/src/renderer/core/vk_validation_layers.cpp b/src/renderer/core/vk_validation_layers.cpp index 39a40c7..9fc1d30 100644 --- a/src/renderer/core/vk_validation_layers.cpp +++ b/src/renderer/core/vk_validation_layers.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/19 14:05:25 by maldavid #+# #+# */ -/* Updated: 2022/12/19 14:11:12 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:15:36 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,6 +28,10 @@ namespace mlx populateDebugMessengerCreateInfo(createInfo); if(createDebugUtilsMessengerEXT(&createInfo, nullptr) != VK_SUCCESS) core::error::report(e_kind::error, "Vulkan : failed to set up debug messenger"); + #ifdef DEBUG + else + core::error::report(e_kind::message, "Vulkan : enabled validation layers"); + #endif } bool ValidationLayers::checkValidationLayerSupport() diff --git a/src/renderer/descriptors/vk_descriptor_set.cpp b/src/renderer/descriptors/vk_descriptor_set.cpp index c3a1cd3..63417d4 100644 --- a/src/renderer/descriptors/vk_descriptor_set.cpp +++ b/src/renderer/descriptors/vk_descriptor_set.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/01/23 18:40:44 by maldavid #+# #+# */ -/* Updated: 2023/04/22 19:52:08 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:16:32 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,6 +37,9 @@ namespace mlx if(vkAllocateDescriptorSets(device, &allocInfo, _desc_set.data()) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate descriptor set"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new descriptor set"); + #endif } void DescriptorSet::writeDescriptor(int binding, UBO* ubo) noexcept diff --git a/src/renderer/pipeline/pipeline.cpp b/src/renderer/pipeline/pipeline.cpp index d2fea99..2aeb9ea 100644 --- a/src/renderer/pipeline/pipeline.cpp +++ b/src/renderer/pipeline/pipeline.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/18 21:27:38 by maldavid #+# #+# */ -/* Updated: 2023/04/13 14:52:57 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:36:18 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -301,6 +301,9 @@ namespace mlx if(vkCreateGraphicsPipelines(Render_Core::get().getDevice().get(), VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_graphicsPipeline) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create a graphics pipeline"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new graphic pipeline"); + #endif vkDestroyShaderModule(Render_Core::get().getDevice().get(), fshader, nullptr); vkDestroyShaderModule(Render_Core::get().getDevice().get(), vshader, nullptr); diff --git a/src/renderer/swapchain/vk_framebuffer.cpp b/src/renderer/swapchain/vk_framebuffer.cpp index 8af9278..3451c7d 100644 --- a/src/renderer/swapchain/vk_framebuffer.cpp +++ b/src/renderer/swapchain/vk_framebuffer.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 18:18:06 by maldavid #+# #+# */ -/* Updated: 2022/12/18 20:01:51 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:36:54 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,6 +31,9 @@ namespace mlx if(vkCreateFramebuffer(Render_Core::get().getDevice().get(), &framebufferInfo, nullptr, &_framebuffer) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create a framebuffer"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new framebuffer"); + #endif } void FrameBuffer::destroy() noexcept diff --git a/src/renderer/swapchain/vk_imageview.cpp b/src/renderer/swapchain/vk_imageview.cpp index 90fce87..03dcbcc 100644 --- a/src/renderer/swapchain/vk_imageview.cpp +++ b/src/renderer/swapchain/vk_imageview.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 18:20:49 by maldavid #+# #+# */ -/* Updated: 2022/12/18 19:55:03 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:37:17 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,6 +35,9 @@ namespace mlx if(vkCreateImageView(Render_Core::get().getDevice().get(), &createInfo, nullptr, &_image) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create an image view"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new swapchain image view"); + #endif } void ImageView::destroy() noexcept diff --git a/src/renderer/swapchain/vk_render_pass.cpp b/src/renderer/swapchain/vk_render_pass.cpp index 28e46f8..3b18090 100644 --- a/src/renderer/swapchain/vk_render_pass.cpp +++ b/src/renderer/swapchain/vk_render_pass.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 18:21:36 by maldavid #+# #+# */ -/* Updated: 2022/12/19 00:06:34 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:37:32 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -50,6 +50,9 @@ namespace mlx if(vkCreateRenderPass(Render_Core::get().getDevice().get(), &renderPassInfo, nullptr, &_renderPass) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create render pass"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new render pass"); + #endif } void RenderPass::begin() diff --git a/src/renderer/swapchain/vk_swapchain.cpp b/src/renderer/swapchain/vk_swapchain.cpp index 546f80a..ce84222 100644 --- a/src/renderer/swapchain/vk_swapchain.cpp +++ b/src/renderer/swapchain/vk_swapchain.cpp @@ -6,7 +6,7 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/10/06 18:22:28 by maldavid #+# #+# */ -/* Updated: 2023/01/25 11:39:01 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:37:53 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ @@ -66,6 +66,9 @@ namespace mlx if(vkCreateSwapchainKHR(device, &createInfo, nullptr, &_swapChain) != VK_SUCCESS) core::error::report(e_kind::fatal_error, "Vulkan : failed to create swapchain"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new swapchain"); + #endif vkGetSwapchainImagesKHR(device, _swapChain, &imageCount, nullptr); _swapChainImages.resize(imageCount); diff --git a/src/utils/dogica_ttf.h b/src/utils/dogica_ttf.h index 0519580..0bca0ca 100644 --- a/src/utils/dogica_ttf.h +++ b/src/utils/dogica_ttf.h @@ -6,16 +6,16 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/11 16:20:25 by maldavid #+# #+# */ -/* Updated: 2023/04/11 16:20:27 by maldavid ### ########.fr */ +/* Updated: 2023/11/08 20:23:23 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __MLX_DOGICA_TTF__ #define __MLX_DOGICA_TTF__ -unsigned int dogica_ttf_len = 33860; +inline unsigned int dogica_ttf_len = 33860; -unsigned char dogica_ttf[] = { +inline unsigned char dogica_ttf[] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x46, 0x46, 0x54, 0x4d, 0x8f, 0xe1, 0x5b, 0x60, 0x00, 0x00, 0x84, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, 0x00, 0x15, 0x00, 0x14,