Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7135b3736b | ||
|
|
29f1406fe8 | ||
|
|
3e24235b44 | ||
|
|
ae003dec33 | ||
|
|
7cf8b7bd97 | ||
|
|
e5da2a3000 | ||
|
|
253c786b42 |
+15
-51
@@ -121,72 +121,36 @@ SpaceInEmptyBlock: true
|
||||
PenaltyBreakAssignment: 200
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
IncludeCategories:
|
||||
- Regex: '^<GraphicsCore/.*_generated\.h(pp)?>$'
|
||||
Priority: 16
|
||||
- Regex: '^<GraphicsVulkan/.*_generated\.h(pp)?>$'
|
||||
Priority: 17
|
||||
- Regex: '^<GraphicsInterface/.*_generated\.h(pp)?>$'
|
||||
Priority: 18
|
||||
- Regex: '^<Engine/.*_generated\.h(pp)?>$'
|
||||
Priority: 19
|
||||
- Regex: '^<System/.*_generated\.h(pp)?>$'
|
||||
Priority: 20
|
||||
- Regex: '^<Utils/.*_generated\.h(pp)?>$'
|
||||
Priority: 21
|
||||
- Regex: '^<SasquatchBaker/.*_generated\.h(pp)?>$'
|
||||
Priority: 22
|
||||
- Regex: '^<EngineTests/.*_generated\.h(pp)?>$'
|
||||
Priority: 23
|
||||
- Regex: '^<SystemTests/.*_generated\.h(pp)?>$'
|
||||
Priority: 24
|
||||
- Regex: '^<UtilsTests/.*_generated\.h(pp)?>$'
|
||||
Priority: 25
|
||||
- Regex: '^<AssetsForTesting/.*_generated\.h(pp)?>$'
|
||||
Priority: 26
|
||||
- Regex: '^<SasquatchBakerTests/.*_generated\.h(pp)?>$'
|
||||
Priority: 27
|
||||
- Regex: '^<EngineBenchmarks/.*_generated\.h(pp)?>$'
|
||||
Priority: 28
|
||||
- Regex: '^<AssetsForBenchmarking/.*_generated\.h(pp)?>$'
|
||||
Priority: 29
|
||||
- Regex: '^<SasquatchBakerBenchmarks/.*_generated\.h(pp)?>$'
|
||||
Priority: 30
|
||||
- Regex: '^<GraphicsCore/'
|
||||
Priority: 1
|
||||
- Regex: '^<GraphicsVulkan/'
|
||||
Priority: 2
|
||||
- Regex: '^<GraphicsInterface/'
|
||||
Priority: 3
|
||||
- Regex: '^<Engine/'
|
||||
Priority: 4
|
||||
Priority: 1
|
||||
- Regex: '^<System/'
|
||||
Priority: 5
|
||||
Priority: 2
|
||||
- Regex: '^<Utils/'
|
||||
Priority: 6
|
||||
Priority: 3
|
||||
- Regex: '^<SasquatchBaker/'
|
||||
Priority: 7
|
||||
Priority: 4
|
||||
- Regex: '^<EngineTests/'
|
||||
Priority: 8
|
||||
Priority: 5
|
||||
- Regex: '^<SystemTests/'
|
||||
Priority: 9
|
||||
Priority: 6
|
||||
- Regex: '^<UtilsTests/'
|
||||
Priority: 10
|
||||
Priority: 7
|
||||
- Regex: '^<AssetsForTesting/'
|
||||
Priority: 11
|
||||
Priority: 8
|
||||
- Regex: '^<SasquatchBakerTests/'
|
||||
Priority: 12
|
||||
Priority: 9
|
||||
- Regex: '^<EngineBenchmarks/'
|
||||
Priority: 13
|
||||
Priority: 10
|
||||
- Regex: '^<AssetsForBenchmarking/'
|
||||
Priority: 14
|
||||
Priority: 11
|
||||
- Regex: '^<SasquatchBakerBenchmarks/'
|
||||
Priority: 15
|
||||
Priority: 12
|
||||
- Regex: '^<[a-zA-Z0-9_/]+\.h>'
|
||||
Priority: 31
|
||||
Priority: 13
|
||||
- Regex: '^<[a-zA-Z0-9_/]+\.hpp>'
|
||||
Priority: 31
|
||||
Priority: 13
|
||||
- Regex: '^<[a-zA-Z0-9_/]+>'
|
||||
Priority: 32
|
||||
Priority: 14
|
||||
MainIncludeChar: AngleBracket
|
||||
Macros:
|
||||
- 'BIGFOOT_OPTIMIZED_ONLY(x)=x'
|
||||
|
||||
+12
-14
@@ -15,16 +15,13 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
build_type:
|
||||
- { value: "Debug", profile: "debug" }
|
||||
- { value: "RelWithDebInfo", profile: "relwithdebinfo" }
|
||||
- { value: "Release", profile: "release" }
|
||||
build_type: ["Debug", "RelWithDebInfo", "Release"]
|
||||
unity_build: ["ON", "OFF"]
|
||||
conan_profile: ["clang", "clang_asan"]
|
||||
conan_profile: ["./ConanProfiles/host/clang", "./ConanProfiles/host/clang_asan"]
|
||||
variant:
|
||||
- { value: "True", name: "toolmode" }
|
||||
- { value: "False", name: "game" }
|
||||
name: "Build & Test ${{ matrix.build_type.value }} with ${{ matrix.conan_profile }} (Unity Build: ${{ matrix.unity_build }}, Variant: ${{ matrix.variant.name }})"
|
||||
name: "Build & Test ${{ matrix.build_type }} with ${{ matrix.conan_profile }} (Unity Build: ${{ matrix.unity_build }}, Variant: ${{ matrix.variant.name }})"
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
run: apt-get update && apt-get install -y nodejs
|
||||
@@ -36,17 +33,18 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
bash ./generate_bigfoot.sh missing ${{ matrix.build_type.value }} --profile=${{ matrix.conan_profile }} --variant=${{ matrix.variant.name }} --unity=${{ matrix.unity_build }} --tracy=False
|
||||
. ./build-linux-${{ matrix.variant.name }}/build/${{ matrix.build_type.value }}/generators/conanbuild.sh
|
||||
cmake --build build-linux-${{ matrix.variant.name }}/${{ matrix.build_type.value }} --parallel $(nproc)
|
||||
. ./build-linux-${{ matrix.variant.name }}/build/${{ matrix.build_type.value }}/generators/deactivate_conanbuild.sh
|
||||
conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=./ConanProfiles/build/clang --build=missing -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True -o bigfoot/*:toolmode=${{ matrix.variant.value }} -of build-${{ matrix.variant.name }}
|
||||
. ./build-${{ matrix.variant.name }}/build/${{ matrix.build_type }}/generators/conanbuild.sh
|
||||
cmake -S . -B ./build-${{ matrix.variant.name }}/${{ matrix.build_type }} --toolchain ./build-${{ matrix.variant.name }}/build/${{ matrix.build_type }}/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_UNITY_BUILD=${{ matrix.unity_build }} -G "Ninja"
|
||||
cmake --build build-${{ matrix.variant.name }}/${{ matrix.build_type }} --parallel $(nproc)
|
||||
. ./build-${{ matrix.variant.name }}/build/${{ matrix.build_type }}/generators/deactivate_conanbuild.sh
|
||||
|
||||
- name: Unit Tests
|
||||
run: |
|
||||
cd ./build-linux-${{ matrix.variant.name }}/${{ matrix.build_type.value }}
|
||||
. ../../build-linux-${{ matrix.variant.name }}/build/${{ matrix.build_type.value }}/generators/conanbuild.sh
|
||||
weston-run ctest . --output-on-failure
|
||||
. ../../build-linux-${{ matrix.variant.name }}/build/${{ matrix.build_type.value }}/generators/deactivate_conanbuild.sh
|
||||
cd ./build-${{ matrix.variant.name }}/${{ matrix.build_type }}
|
||||
. ../../build-${{ matrix.variant.name }}/build/${{ matrix.build_type }}/generators/conanbuild.sh
|
||||
xvfb-run ctest . --output-on-failure
|
||||
. ../../build-${{ matrix.variant.name }}/build/${{ matrix.build_type }}/generators/deactivate_conanbuild.sh
|
||||
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -42,23 +42,24 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
bash ./generate_bigfoot.sh missing Debug --profile=clang_coverage --variant=${{ matrix.variant.name }} --tracy=False
|
||||
. ./build-linux-${{ matrix.variant.name }}/build/Debug/generators/conanbuild.sh
|
||||
cmake --build build-linux-${{ matrix.variant.name }}/Debug --parallel $(nproc)
|
||||
. ./build-linux-${{ matrix.variant.name }}/build/Debug/generators/deactivate_conanbuild.sh
|
||||
conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/host/clang_coverage -pr:b=./ConanProfiles/build/clang --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=False -o bigfoot/*:toolmode=${{ matrix.variant.value }} -o bigfoot/*:vulkan=True -of build-${{ matrix.variant.name }}
|
||||
. ./build-${{ matrix.variant.name }}/build/Debug/generators/conanbuild.sh
|
||||
cmake -S . -B ./build-${{ matrix.variant.name }}/Debug --toolchain ./build-${{ matrix.variant.name }}/build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -G "Ninja"
|
||||
cmake --build build-${{ matrix.variant.name }}/Debug --parallel $(nproc)
|
||||
. ./build-${{ matrix.variant.name }}/build/Debug/generators/deactivate_conanbuild.sh
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
cd ./build-linux-${{ matrix.variant.name }}/Debug
|
||||
. ../../build-linux-${{ matrix.variant.name }}/build/Debug/generators/conanbuild.sh
|
||||
LLVM_PROFILE_FILE="%p.profraw%c" weston-run ctest --output-on-failure
|
||||
. ../../build-linux-${{ matrix.variant.name }}/build/Debug/generators/deactivate_conanbuild.sh
|
||||
cd ./build-${{ matrix.variant.name }}/Debug
|
||||
. ../../build-${{ matrix.variant.name }}/build/Debug/generators/conanbuild.sh
|
||||
LLVM_PROFILE_FILE="%p.profraw%c" xvfb-run ctest --output-on-failure
|
||||
. ../../build-${{ matrix.variant.name }}/build/Debug/generators/deactivate_conanbuild.sh
|
||||
|
||||
- name: Clang-Tidy
|
||||
run: run-clang-tidy -p ./build-linux-${{ matrix.variant.name }}/Debug/ > tidy_result.txt
|
||||
run: run-clang-tidy -p ./build-${{ matrix.variant.name }}/Debug/ > tidy_result.txt
|
||||
|
||||
- name: Infer
|
||||
run: infer run --compilation-database build-linux-${{ matrix.variant.name }}/Debug/compile_commands.json
|
||||
run: infer run --compilation-database build-${{ matrix.variant.name }}/Debug/compile_commands.json
|
||||
|
||||
- name: Generate coverage report
|
||||
shell: bash
|
||||
@@ -68,8 +69,8 @@ jobs:
|
||||
# rejects outright ("Wrong major version"). Bypassing gcovr's JSON
|
||||
# path entirely: llvm-cov's lcov exporter is a separate, unaffected
|
||||
# code path, so merge -> export lcov -> convert lcov to Cobertura.
|
||||
llvm-profdata merge -sparse $(find build-linux-${{ matrix.variant.name }}/Debug -name "*.profraw") -o merged.profdata
|
||||
BINARIES=($(find build-linux-${{ matrix.variant.name }}/Debug -maxdepth 8 -type f -executable -iname "*Tests"))
|
||||
llvm-profdata merge -sparse $(find build-${{ matrix.variant.name }}/Debug -name "*.profraw") -o merged.profdata
|
||||
BINARIES=($(find build-${{ matrix.variant.name }}/Debug -maxdepth 8 -type f -executable -iname "*Tests"))
|
||||
OBJECT_ARGS=$(printf -- '-object %s ' "${BINARIES[@]:1}")
|
||||
llvm-cov export -format=lcov -instr-profile=merged.profdata "${BINARIES[0]}" $OBJECT_ARGS > coverage.lcov
|
||||
# lcov_cobertura isn't preinstalled on the image; inject it into
|
||||
@@ -84,8 +85,8 @@ jobs:
|
||||
-Dsonar.projectKey=${{ matrix.variant.projectKey }}
|
||||
"-Dsonar.projectName=${{ matrix.variant.projectName }}"
|
||||
-Dsonar.projectVersion=${{ steps.version.outputs.version }}
|
||||
-Dsonar.cxx.jsonCompilationDatabase=./build-linux-${{ matrix.variant.name }}/Debug/compile_commands.json
|
||||
-Dsonar.cxx.xunit.reportPaths=build-linux-${{ matrix.variant.name }}/Debug/TestResults/*.xml
|
||||
-Dsonar.cxx.jsonCompilationDatabase=./build-${{ matrix.variant.name }}/Debug/compile_commands.json
|
||||
-Dsonar.cxx.xunit.reportPaths=build-${{ matrix.variant.name }}/Debug/TestResults/*.xml
|
||||
-Dsonar.qualitygate.wait=true
|
||||
${{ github.event_name == 'pull_request' &&
|
||||
format('-Dsonar.pullrequest.key={0} -Dsonar.pullrequest.branch={1} -Dsonar.pullrequest.base={2} -Dsonar.analysis.sqbot={3}',
|
||||
|
||||
@@ -12,4 +12,6 @@ bigfoot_create_package_lib(
|
||||
"${PrivateDependencies}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Benchmarks")
|
||||
"")
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Benchmarks/Bigfoot)
|
||||
|
||||
@@ -2,4 +2,6 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/AssetsForBenchmarking)
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Engine)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Utils)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Graphics)
|
||||
if(${TOOLMODE})
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Tools)
|
||||
endif()
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
#include <System/File/File.hpp>
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
#include <EngineBenchmarks/BigFileInfo_generated.hpp>
|
||||
|
||||
#include <AssetsForBenchmarking/Asset/BenchmarkAsset.hpp>
|
||||
#include <AssetsForBenchmarking/Asset/BenchmarkAssetReferred.hpp>
|
||||
|
||||
#include <EngineBenchmarks/BigFileInfo_generated.hpp>
|
||||
|
||||
#include <EASTL/optional.h>
|
||||
#include <EASTL/span.h>
|
||||
#include <EASTL/vector.h>
|
||||
|
||||
@@ -2,13 +2,13 @@ get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName}Benchmarks)
|
||||
|
||||
bigfoot_create_package_benchmarks(
|
||||
"Bigfoot/Benchmarks")
|
||||
"")
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
effolkronium_random
|
||||
$<LINK_LIBRARY:WHOLE_ARCHIVE,AssetsForBenchmarking>)
|
||||
|
||||
bigfoot_create_bigfile("Bigfoot/Benchmarks")
|
||||
bigfoot_create_bigfile("Benchmarks/Bigfoot")
|
||||
|
||||
bigfoot_create_sasquatch_info()
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
#include <System/File/File.hpp>
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
#include <EngineBenchmarks/SasquatchInfo_generated.hpp>
|
||||
|
||||
#include <AssetsForBenchmarking/Asset/BenchmarkAsset.hpp>
|
||||
#include <AssetsForBenchmarking/Asset/BenchmarkAssetReferred.hpp>
|
||||
|
||||
#include <EngineBenchmarks/SasquatchInfo_generated.hpp>
|
||||
|
||||
#include <EASTL/optional.h>
|
||||
#include <EASTL/span.h>
|
||||
#include <EASTL/vector.h>
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file main.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <benchmark/benchmark.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
BIGFOOT_NOT_OPTIMIZED_ONLY(::Bigfoot::Singleton<::Bigfoot::Log>::Lifetime m_lifetime);
|
||||
|
||||
::benchmark::Initialize(&argc, argv);
|
||||
if (::benchmark::ReportUnrecognizedArguments(argc, argv))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
::benchmark::RunSpecifiedBenchmarks();
|
||||
::benchmark::Shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
if(${VULKAN})
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GraphicsVulkan)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GraphicsCore)
|
||||
endif()
|
||||
@@ -1,5 +0,0 @@
|
||||
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName}Benchmarks)
|
||||
|
||||
bigfoot_create_package_benchmarks(
|
||||
"Bigfoot/Benchmarks/Graphics")
|
||||
@@ -1,26 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file main.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <benchmark/benchmark.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
BIGFOOT_NOT_OPTIMIZED_ONLY(::Bigfoot::Singleton<::Bigfoot::Log>::Lifetime m_lifetime);
|
||||
|
||||
::benchmark::Initialize(&argc, argv);
|
||||
if (::benchmark::ReportUnrecognizedArguments(argc, argv))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
::benchmark::RunSpecifiedBenchmarks();
|
||||
::benchmark::Shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName}Benchmarks)
|
||||
|
||||
bigfoot_create_package_benchmarks(
|
||||
"Bigfoot/Benchmarks/Graphics")
|
||||
@@ -1,26 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file main.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <benchmark/benchmark.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
BIGFOOT_NOT_OPTIMIZED_ONLY(::Bigfoot::Singleton<::Bigfoot::Log>::Lifetime m_lifetime);
|
||||
|
||||
::benchmark::Initialize(&argc, argv);
|
||||
if (::benchmark::ReportUnrecognizedArguments(argc, argv))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
::benchmark::RunSpecifiedBenchmarks();
|
||||
::benchmark::Shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
+2
-2
@@ -2,10 +2,10 @@ get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName}Benchmarks)
|
||||
|
||||
bigfoot_create_package_benchmarks(
|
||||
"Tools/Benchmarks")
|
||||
"Tools")
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
$<LINK_LIBRARY:WHOLE_ARCHIVE,AssetsForBenchmarking>)
|
||||
|
||||
bigfoot_create_bigfile("Tools/Benchmarks")
|
||||
bigfoot_create_bigfile("Benchmarks/Tools")
|
||||
@@ -2,4 +2,4 @@ get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName}Benchmarks)
|
||||
|
||||
bigfoot_create_package_benchmarks(
|
||||
"Bigfoot/Benchmarks")
|
||||
"")
|
||||
@@ -1,26 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file main.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <benchmark/benchmark.h>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
BIGFOOT_NOT_OPTIMIZED_ONLY(::Bigfoot::Singleton<::Bigfoot::Log>::Lifetime m_lifetime);
|
||||
|
||||
::benchmark::Initialize(&argc, argv);
|
||||
if (::benchmark::ReportUnrecognizedArguments(argc, argv))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
::benchmark::RunSpecifiedBenchmarks();
|
||||
::benchmark::Shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GraphicsInterface)
|
||||
if(${VULKAN})
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GraphicsVulkan)
|
||||
endif()
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GraphicsCore)
|
||||
@@ -1,18 +0,0 @@
|
||||
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName})
|
||||
|
||||
set(PublicDependencies)
|
||||
set(PrivateDependencies)
|
||||
set(BigfootPublicDependencies
|
||||
GraphicsVulkan
|
||||
Engine)
|
||||
set(BigfootPrivateDependencies)
|
||||
|
||||
bigfoot_create_package_lib(
|
||||
"${PublicDependencies}"
|
||||
"${PrivateDependencies}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Libs/Graphics")
|
||||
|
||||
bigfoot_create_logger()
|
||||
@@ -1 +0,0 @@
|
||||
#include <GraphicsCore/GraphicsCoreAssertHandler.hpp>
|
||||
@@ -1,20 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsCoreAssertHandler.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSCORE_GRAPHICSCOREASSERTHANDLER_HPP
|
||||
#define BIGFOOT_GRAPHICSCORE_GRAPHICSCOREASSERTHANDLER_HPP
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#include <GraphicsCore/GraphicsCoreLogger_generated.hpp>
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
using GraphicsCoreAssertHandler = AssertHandler<GRAPHICSCORE_LOGGER>;
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
// AUTO-GENERATED DO NOT TOUCH
|
||||
|
||||
/*********************************************************************
|
||||
* \file GraphicsCoreLogger.generated.hpp
|
||||
*
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSCORELOGGER_GENERATED_HPP
|
||||
#define BIGFOOT_GRAPHICSCORELOGGER_GENERATED_HPP
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
|
||||
#if defined BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
inline Log::LoggerInfo GRAPHICSCORE_LOGGER { .m_name = "GRAPHICSCORE_LOGGER", .m_level = LogLevel::Trace};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,18 +0,0 @@
|
||||
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName})
|
||||
|
||||
set(PublicDependencies
|
||||
glm::glm)
|
||||
set(PrivateDependencies)
|
||||
set(BigfootPublicDependencies
|
||||
Utils)
|
||||
set(BigfootPrivateDependencies)
|
||||
|
||||
bigfoot_create_package_lib(
|
||||
"${PublicDependencies}"
|
||||
"${PrivateDependencies}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Libs/Graphics")
|
||||
|
||||
bigfoot_create_logger()
|
||||
@@ -1 +0,0 @@
|
||||
#include <GraphicsInterface/GraphicsInterfaceAssertHandler.hpp>
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace Bigfoot;
|
||||
|
||||
enum GraphicsAPI: byte
|
||||
{
|
||||
Vulkan
|
||||
}
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_GRAPHICSAPI_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_GRAPHICSAPI_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
// Ensure the included flatbuffers.h is the same version as when this file was
|
||||
// generated, otherwise it may not be compatible.
|
||||
static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_MINOR == 12 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
// Ensure the included flatbuffers.h is Bigfoot's fork - stock
|
||||
// flatbuffers (or a differently versioned Bigfoot fork) is not compatible.
|
||||
#ifndef FLATBUFFERS_BIGFOOT_VERSION
|
||||
#error "This file requires Bigfoot's flatbuffers fork - stock flatbuffers is not compatible"
|
||||
#endif
|
||||
static_assert(FLATBUFFERS_BIGFOOT_VERSION == 1,
|
||||
"Non-compatible Bigfoot flatbuffers fork version included");
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Bigfoot {
|
||||
|
||||
enum class GraphicsAPI : int8_t {
|
||||
Vulkan = 0,
|
||||
MIN = Vulkan,
|
||||
MAX = Vulkan
|
||||
};
|
||||
|
||||
inline const GraphicsAPI (&EnumValuesGraphicsAPI())[1] {
|
||||
static const GraphicsAPI values[] = {
|
||||
GraphicsAPI::Vulkan
|
||||
};
|
||||
return values;
|
||||
}
|
||||
|
||||
inline const char * const *EnumNamesGraphicsAPI() {
|
||||
static const char * const names[2] = {
|
||||
"Vulkan",
|
||||
nullptr
|
||||
};
|
||||
return names;
|
||||
}
|
||||
|
||||
inline const char *EnumNameGraphicsAPI(GraphicsAPI e) {
|
||||
if (::flatbuffers::IsOutRange(e, GraphicsAPI::Vulkan, GraphicsAPI::Vulkan)) return "";
|
||||
const size_t index = static_cast<size_t>(e);
|
||||
return EnumNamesGraphicsAPI()[index];
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *GraphicsAPITypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_CHAR, 0, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Bigfoot::GraphicsAPITypeTable
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_ENUM, 1, type_codes, type_refs, nullptr, nullptr, nullptr
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_GRAPHICSAPI_BIGFOOT_H_
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsInstance.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACE_GRAPHICSINSTANCE_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACE_GRAPHICSINSTANCE_HPP
|
||||
#include <Utils/Factory.hpp>
|
||||
#include <Utils/Version.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsAPI_generated.hpp>
|
||||
|
||||
#include <EASTL/functional.h>
|
||||
#include <EASTL/string_view.h>
|
||||
#include <EASTL/unique_ptr.h>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class GraphicsInstance
|
||||
{
|
||||
public:
|
||||
virtual ~GraphicsInstance() = default;
|
||||
|
||||
GraphicsInstance(const GraphicsInstance& p_instance) = delete;
|
||||
GraphicsInstance(GraphicsInstance&& p_instance) = delete;
|
||||
|
||||
GraphicsInstance& operator=(const GraphicsInstance& p_instance) = delete;
|
||||
GraphicsInstance& operator=(GraphicsInstance&& p_instance) = delete;
|
||||
|
||||
protected:
|
||||
GraphicsInstance() = default;
|
||||
};
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
using GraphicsInstanceFactory =
|
||||
Factory<GraphicsInstance,
|
||||
GraphicsAPI,
|
||||
eastl::function<eastl::unique_ptr<GraphicsInstance>(eastl::string_view, Version)>>;
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsInterfaceAssertHandler.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACE_GRAPHICSINTERFACEASSERTHANDLER_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACE_GRAPHICSINTERFACEASSERTHANDLER_HPP
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsInterfaceLogger_generated.hpp>
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
using GraphicsInterfaceAssertHandler = AssertHandler<GRAPHICSINTERFACE_LOGGER>;
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
// AUTO-GENERATED DO NOT TOUCH
|
||||
|
||||
/*********************************************************************
|
||||
* \file GraphicsInterfaceLogger.generated.hpp
|
||||
*
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACELOGGER_GENERATED_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACELOGGER_GENERATED_HPP
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
|
||||
#if defined BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
inline Log::LoggerInfo GRAPHICSINTERFACE_LOGGER { .m_name = "GRAPHICSINTERFACE_LOGGER", .m_level = LogLevel::Trace};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,47 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsQueue.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACE_GRAPHICSQUEUE_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACE_GRAPHICSQUEUE_HPP
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
/**
|
||||
* The kind of work a GraphicsQueue submit
|
||||
*/
|
||||
enum class GraphicsQueueType
|
||||
{
|
||||
Graphics,
|
||||
Compute,
|
||||
Transfer,
|
||||
Present
|
||||
};
|
||||
|
||||
class GraphicsQueue
|
||||
{
|
||||
public:
|
||||
virtual ~GraphicsQueue() = default;
|
||||
|
||||
/**
|
||||
* Get the kind of work this queue can be submitted
|
||||
*
|
||||
* \return The queue type
|
||||
*/
|
||||
[[nodiscard]]
|
||||
virtual GraphicsQueueType GetType() const = 0;
|
||||
|
||||
GraphicsQueue(const GraphicsQueue& p_queue) = delete;
|
||||
GraphicsQueue(GraphicsQueue&& p_queue) = delete;
|
||||
|
||||
GraphicsQueue& operator=(const GraphicsQueue& p_queue) = delete;
|
||||
GraphicsQueue& operator=(GraphicsQueue&& p_queue) = delete;
|
||||
|
||||
protected:
|
||||
GraphicsQueue() = default;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
@@ -1,65 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsSurface.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACE_GRAPHICSSURFACE_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACE_GRAPHICSSURFACE_HPP
|
||||
#include <GraphicsInterface/GraphicsInstance.hpp>
|
||||
|
||||
#include <Utils/Factory.hpp>
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <GraphicsInterface/GraphicsAPI_generated.hpp>
|
||||
|
||||
#include <EASTL/functional.h>
|
||||
#include <EASTL/unique_ptr.h>
|
||||
|
||||
#ifdef BIGFOOT_WINDOWS
|
||||
#include <Windows.h>
|
||||
#elif defined BIGFOOT_LINUX
|
||||
struct wl_display;
|
||||
struct wl_surface;
|
||||
#endif
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
/**
|
||||
* The native window handles needed to create a GraphicsSurface
|
||||
*/
|
||||
struct SurfaceCreateInfo
|
||||
{
|
||||
#ifdef BIGFOOT_WINDOWS
|
||||
HWND m_windowHandle = nullptr;
|
||||
HINSTANCE m_windowInstance = nullptr;
|
||||
#elif defined BIGFOOT_LINUX
|
||||
wl_display* m_display = nullptr;
|
||||
wl_surface* m_surface = nullptr;
|
||||
#endif
|
||||
};
|
||||
|
||||
class GraphicsSurface
|
||||
{
|
||||
public:
|
||||
virtual ~GraphicsSurface() = default;
|
||||
|
||||
GraphicsSurface(const GraphicsSurface& p_surface) = delete;
|
||||
GraphicsSurface(GraphicsSurface&& p_surface) = delete;
|
||||
|
||||
GraphicsSurface& operator=(const GraphicsSurface& p_surface) = delete;
|
||||
GraphicsSurface& operator=(GraphicsSurface&& p_surface) = delete;
|
||||
|
||||
protected:
|
||||
GraphicsSurface() = default;
|
||||
};
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
using GraphicsSurfaceFactory =
|
||||
Factory<GraphicsSurface,
|
||||
GraphicsAPI,
|
||||
eastl::function<eastl::unique_ptr<GraphicsSurface>(const GraphicsInstance&, const SurfaceCreateInfo&)>>;
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
@@ -1,27 +0,0 @@
|
||||
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
project(${PackageName})
|
||||
|
||||
set(PublicDependencies
|
||||
vulkan-headers::vulkan-headers
|
||||
GPUOpen::VulkanMemoryAllocator)
|
||||
set(PrivateDependencies)
|
||||
set(BigfootPublicDependencies
|
||||
GraphicsInterface)
|
||||
set(BigfootPrivateDependencies
|
||||
Engine)
|
||||
|
||||
bigfoot_create_package_lib(
|
||||
"${PublicDependencies}"
|
||||
"${PrivateDependencies}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Libs/Graphics")
|
||||
|
||||
bigfoot_create_logger()
|
||||
|
||||
target_compile_definitions(${PackageName}
|
||||
PRIVATE VULKAN_HPP_NO_EXCEPTIONS
|
||||
PRIVATE VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=1
|
||||
PRIVATE $<$<PLATFORM_ID:Windows>:VK_USE_PLATFORM_WIN32_KHR>
|
||||
PRIVATE $<$<PLATFORM_ID:Linux>:VK_USE_PLATFORM_WAYLAND_KHR>
|
||||
PUBLIC BIGFOOT_VULKAN)
|
||||
@@ -1 +0,0 @@
|
||||
#include <GraphicsVulkan/GraphicsVulkanAssertHandler.hpp>
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsVulkanAssertHandler.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_GRAPHICSVULKANASSERTHANDLER_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_GRAPHICSVULKANASSERTHANDLER_HPP
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#include <GraphicsVulkan/GraphicsVulkanLogger_generated.hpp>
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
using GraphicsVulkanAssertHandler = AssertHandler<GRAPHICSVULKAN_LOGGER>;
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
// AUTO-GENERATED DO NOT TOUCH
|
||||
|
||||
/*********************************************************************
|
||||
* \file GraphicsVulkanLogger.generated.hpp
|
||||
*
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKANLOGGER_GENERATED_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKANLOGGER_GENERATED_HPP
|
||||
#include <Utils/Log/LogMacros.hpp>
|
||||
|
||||
#if defined BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
inline Log::LoggerInfo GRAPHICSVULKAN_LOGGER { .m_name = "GRAPHICSVULKAN_LOGGER", .m_level = LogLevel::Trace};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,51 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanFormatters.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANFORMATTERS_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANFORMATTERS_HPP
|
||||
#include <GraphicsVulkan/VulkanInclude.hpp>
|
||||
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <fmt/format.h>
|
||||
|
||||
template<>
|
||||
struct fmt::formatter<vk::Result>
|
||||
{
|
||||
static constexpr auto parse(format_parse_context& ctx)
|
||||
{
|
||||
return ctx.begin();
|
||||
}
|
||||
|
||||
static auto format(const vk::Result p_result, format_context& ctx)
|
||||
{
|
||||
return fmt::format_to(ctx.out(), "{}", vk::to_string(p_result));
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
#include <quill/DeferredFormatCodec.h>
|
||||
|
||||
template<>
|
||||
struct fmtquill::formatter<vk::Result>
|
||||
{
|
||||
static constexpr auto parse(format_parse_context& ctx)
|
||||
{
|
||||
return ctx.begin();
|
||||
}
|
||||
|
||||
static auto format(const vk::Result p_result, format_context& ctx)
|
||||
{
|
||||
return fmtquill::format_to(ctx.out(), "{}", vk::to_string(p_result));
|
||||
}
|
||||
};
|
||||
|
||||
template<>
|
||||
struct quill::Codec<vk::Result>: quill::DeferredFormatCodec<vk::Result>
|
||||
{
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
@@ -1,13 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanInclude.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANINCLUDE_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANINCLUDE_HPP
|
||||
#define VULKAN_HPP_ASSERT(result)
|
||||
#define VULKAN_HPP_ASSERT_ON_RESULT(result)
|
||||
#include <vulkan/vulkan.hpp>
|
||||
|
||||
#endif
|
||||
@@ -1,59 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanInstance.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANINSTANCE_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANINSTANCE_HPP
|
||||
#include <GraphicsVulkan/VulkanInclude.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsInstance.hpp>
|
||||
|
||||
#include <Utils/TargetMacros.h>
|
||||
#include <Utils/Version.hpp>
|
||||
|
||||
#include <EASTL/string_view.h>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
class VulkanInstance final: public GraphicsInstance
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor. Creates a vk::Instance
|
||||
*
|
||||
* \param p_applicationName The name of the application
|
||||
* \param p_applicationVersion The version of the application
|
||||
*/
|
||||
VulkanInstance(eastl::string_view p_applicationName, Version p_applicationVersion);
|
||||
|
||||
~VulkanInstance() override;
|
||||
|
||||
/**
|
||||
* Get the underlying Vulkan instance handle
|
||||
*
|
||||
* \return The vk::Instance handle
|
||||
*/
|
||||
[[nodiscard]]
|
||||
vk::Instance GetHandle() const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* The vulkan loader.
|
||||
*/
|
||||
vk::detail::DynamicLoader m_loader;
|
||||
|
||||
/**
|
||||
* The vulkan instance.
|
||||
*/
|
||||
vk::Instance m_instance;
|
||||
|
||||
/**
|
||||
* The debug messenger (used for validation callbacks).
|
||||
*/
|
||||
BIGFOOT_NOT_OPTIMIZED_ONLY(vk::DebugUtilsMessengerEXT m_debugMessenger;)
|
||||
};
|
||||
} // namespace Bigfoot::Vulkan
|
||||
|
||||
#endif
|
||||
@@ -1,71 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanQueue.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANQUEUE_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANQUEUE_HPP
|
||||
#include <GraphicsVulkan/VulkanInclude.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsQueue.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
class VulkanQueue final: public GraphicsQueue
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param p_queue The underlying Vulkan queue handle
|
||||
* \param p_familyIndex The queue family index this queue was retrieved from
|
||||
* \param p_type The kind of work this queue can submit
|
||||
*/
|
||||
VulkanQueue(vk::Queue p_queue, std::uint32_t p_familyIndex, GraphicsQueueType p_type);
|
||||
|
||||
/**
|
||||
* Get the kind of work this queue can be submitted
|
||||
*
|
||||
* \return The queue type
|
||||
*/
|
||||
[[nodiscard]]
|
||||
GraphicsQueueType GetType() const override;
|
||||
|
||||
/**
|
||||
* Get the underlying Vulkan queue handle
|
||||
*
|
||||
* \return The vk::Queue handle
|
||||
*/
|
||||
[[nodiscard]]
|
||||
vk::Queue GetHandle() const;
|
||||
|
||||
/**
|
||||
* Get the index of the queue family this queue was retrieved from
|
||||
*
|
||||
* \return The queue family index
|
||||
*/
|
||||
[[nodiscard]]
|
||||
std::uint32_t GetFamilyIndex() const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* The vulkn queue
|
||||
*/
|
||||
vk::Queue m_queue;
|
||||
|
||||
/**
|
||||
* The index of the queue family this queue was retrieved from
|
||||
*/
|
||||
std::uint32_t m_familyIndex;
|
||||
|
||||
/**
|
||||
* The kind of work this queue can submit
|
||||
*/
|
||||
GraphicsQueueType m_type;
|
||||
};
|
||||
} // namespace Bigfoot::Vulkan
|
||||
|
||||
#endif
|
||||
@@ -1,51 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanSurface.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANSURFACE_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANSURFACE_HPP
|
||||
#include <GraphicsVulkan/VulkanInclude.hpp>
|
||||
#include <GraphicsVulkan/VulkanInstance.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsSurface.hpp>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
class VulkanSurface final: public GraphicsSurface
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor.
|
||||
* Creates a vk::SurfaceKHR for the given native window.
|
||||
*
|
||||
* \param p_instance The instance to create the surface from
|
||||
* \param p_surfaceCreateInfo The native window handles to create the surface for
|
||||
*/
|
||||
VulkanSurface(const VulkanInstance& p_instance, const SurfaceCreateInfo& p_surfaceCreateInfo);
|
||||
|
||||
~VulkanSurface() override;
|
||||
|
||||
/**
|
||||
* Get the underlying Vulkan surface handle
|
||||
*
|
||||
* \return The vk::SurfaceKHR handle
|
||||
*/
|
||||
[[nodiscard]]
|
||||
vk::SurfaceKHR GetHandle() const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* The instance
|
||||
*/
|
||||
const VulkanInstance& m_instance;
|
||||
|
||||
/**
|
||||
* The surface
|
||||
*/
|
||||
vk::SurfaceKHR m_surface;
|
||||
};
|
||||
} // namespace Bigfoot::Vulkan
|
||||
|
||||
#endif
|
||||
@@ -1,166 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanInstance.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <GraphicsVulkan/VulkanInstance.hpp>
|
||||
|
||||
#include <GraphicsVulkan/GraphicsVulkanAssertHandler.hpp>
|
||||
#include <GraphicsVulkan/VulkanFormatters.hpp>
|
||||
|
||||
#include <Utils/TargetMacros.h>
|
||||
|
||||
#include <Engine/EngineInfo_generated.hpp>
|
||||
|
||||
#include <EASTL/algorithm.h>
|
||||
#include <EASTL/string.h>
|
||||
#include <EASTL/vector.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
[[nodiscard]]
|
||||
std::uint32_t ToVulkanVersion(const Bigfoot::Version p_version)
|
||||
{
|
||||
return VK_MAKE_VERSION(p_version.GetMajor(), p_version.GetMinor(), p_version.GetPatch());
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
vk::Bool32 VulkanDebugCallback(const vk::DebugUtilsMessageSeverityFlagBitsEXT p_severity,
|
||||
[[maybe_unused]] vk::DebugUtilsMessageTypeFlagsEXT p_type,
|
||||
const vk::DebugUtilsMessengerCallbackDataEXT* p_callbackData,
|
||||
[[maybe_unused]] void* p_userData)
|
||||
{
|
||||
switch (p_severity)
|
||||
{
|
||||
case vk::DebugUtilsMessageSeverityFlagBitsEXT::eError:
|
||||
BIGFOOT_LOG_ERROR(::Bigfoot::GRAPHICSVULKAN_LOGGER, "{}", p_callbackData->pMessage);
|
||||
break;
|
||||
case vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning:
|
||||
BIGFOOT_LOG_WARN(::Bigfoot::GRAPHICSVULKAN_LOGGER, "{}", p_callbackData->pMessage);
|
||||
break;
|
||||
case vk::DebugUtilsMessageSeverityFlagBitsEXT::eInfo:
|
||||
BIGFOOT_LOG_INFO(::Bigfoot::GRAPHICSVULKAN_LOGGER, "{}", p_callbackData->pMessage);
|
||||
break;
|
||||
case vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose:
|
||||
default:
|
||||
BIGFOOT_LOG_TRACE(::Bigfoot::GRAPHICSVULKAN_LOGGER, "{}", p_callbackData->pMessage);
|
||||
break;
|
||||
}
|
||||
return VK_FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
VulkanInstance::VulkanInstance(const eastl::string_view p_applicationName, const Version p_applicationVersion)
|
||||
{
|
||||
const PFN_vkGetInstanceProcAddr getInstanceProcAddr = m_loader.getProcAddress<PFN_vkGetInstanceProcAddr>(
|
||||
"vkGetInstanceProcAddr");
|
||||
CRITICAL_ASSERT(GraphicsVulkanAssertHandler, getInstanceProcAddr != nullptr, "vkGetInstanceProcAddr not found!");
|
||||
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(getInstanceProcAddr);
|
||||
|
||||
const eastl::string applicationName {p_applicationName};
|
||||
const vk::ApplicationInfo applicationInfo {applicationName.c_str(),
|
||||
ToVulkanVersion(p_applicationVersion),
|
||||
BIGFOOT_NAME.data(),
|
||||
ToVulkanVersion(BIGFOOT_VERSION),
|
||||
VK_API_VERSION_1_3};
|
||||
|
||||
eastl::vector<const char*> enabledLayers;
|
||||
eastl::vector<const char*> enabledExtensions {
|
||||
VK_KHR_SURFACE_EXTENSION_NAME,
|
||||
BIGFOOT_WINDOWS_OR_LINUX(VK_KHR_WIN32_SURFACE_EXTENSION_NAME, VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME)};
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
const vk::ResultValue<std::vector<vk::LayerProperties>> availableLayers = vk::enumerateInstanceLayerProperties();
|
||||
CRITICAL_ASSERT(GraphicsVulkanAssertHandler,
|
||||
availableLayers.result == vk::Result::eSuccess,
|
||||
"({}) Failed to enumerate Vulkan instance layers",
|
||||
availableLayers.result);
|
||||
|
||||
const bool validationLayerAvailable = eastl::find_if(availableLayers.value.begin(),
|
||||
availableLayers.value.end(),
|
||||
[](const vk::LayerProperties& p_layer)
|
||||
{
|
||||
return eastl::string_view {p_layer.layerName.data()} ==
|
||||
"VK_LAYER_KHRONOS_validation";
|
||||
}) != availableLayers.value.end();
|
||||
|
||||
if (validationLayerAvailable)
|
||||
{
|
||||
enabledLayers.push_back("VK_LAYER_KHRONOS_validation");
|
||||
enabledExtensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
BIGFOOT_LOG_WARN(GRAPHICSVULKAN_LOGGER, "Vulkan validation layer requested but not available");
|
||||
}
|
||||
#endif
|
||||
|
||||
const vk::InstanceCreateInfo instanceCreateInfo {{}, &applicationInfo, enabledLayers, enabledExtensions};
|
||||
|
||||
vk::ResultValue<vk::Instance> instance {vk::Result::eSuccess, vk::Instance {}};
|
||||
{
|
||||
BIGFOOT_LSAN_ONLY(const __lsan::ScopedDisabler lsanDisabler;)
|
||||
instance = vk::createInstance(instanceCreateInfo);
|
||||
}
|
||||
CRITICAL_ASSERT(GraphicsVulkanAssertHandler,
|
||||
instance.result == vk::Result::eSuccess,
|
||||
"({}) Failed to create Vulkan instance",
|
||||
instance.result);
|
||||
m_instance = instance.value;
|
||||
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(m_instance);
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
if (validationLayerAvailable)
|
||||
{
|
||||
vk::DebugUtilsMessengerCreateInfoEXT messengerCreateInfo {};
|
||||
messengerCreateInfo.messageSeverity = vk::DebugUtilsMessageSeverityFlagsEXT {
|
||||
vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose | vk::DebugUtilsMessageSeverityFlagBitsEXT::eInfo |
|
||||
vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning | vk::DebugUtilsMessageSeverityFlagBitsEXT::eError};
|
||||
messengerCreateInfo.messageType = vk::DebugUtilsMessageTypeFlagsEXT {
|
||||
vk::DebugUtilsMessageTypeFlagBitsEXT::eGeneral | vk::DebugUtilsMessageTypeFlagBitsEXT::eValidation |
|
||||
vk::DebugUtilsMessageTypeFlagBitsEXT::ePerformance};
|
||||
messengerCreateInfo.pfnUserCallback = &VulkanDebugCallback;
|
||||
|
||||
const vk::ResultValue<vk::DebugUtilsMessengerEXT> messenger = m_instance.createDebugUtilsMessengerEXT(
|
||||
messengerCreateInfo);
|
||||
CRITICAL_ASSERT(GraphicsVulkanAssertHandler,
|
||||
messenger.result == vk::Result::eSuccess,
|
||||
"({}) Failed to create Vulkan debug messenger",
|
||||
messenger.result);
|
||||
m_debugMessenger = messenger.value;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
VulkanInstance::~VulkanInstance()
|
||||
{
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
if (m_debugMessenger)
|
||||
{
|
||||
m_instance.destroyDebugUtilsMessengerEXT(m_debugMessenger);
|
||||
}
|
||||
#endif
|
||||
m_instance.destroy();
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
vk::Instance VulkanInstance::GetHandle() const
|
||||
{
|
||||
return m_instance;
|
||||
}
|
||||
} // namespace Bigfoot::Vulkan
|
||||
@@ -1,38 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanQueue.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <GraphicsVulkan/VulkanQueue.hpp>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
VulkanQueue::VulkanQueue(const vk::Queue p_queue, const std::uint32_t p_familyIndex, const GraphicsQueueType p_type):
|
||||
m_queue(p_queue),
|
||||
m_familyIndex(p_familyIndex),
|
||||
m_type(p_type)
|
||||
{
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
GraphicsQueueType VulkanQueue::GetType() const
|
||||
{
|
||||
return m_type;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
vk::Queue VulkanQueue::GetHandle() const
|
||||
{
|
||||
return m_queue;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
std::uint32_t VulkanQueue::GetFamilyIndex() const
|
||||
{
|
||||
return m_familyIndex;
|
||||
}
|
||||
} // namespace Bigfoot::Vulkan
|
||||
@@ -1,47 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanSurface.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <GraphicsVulkan/VulkanSurface.hpp>
|
||||
|
||||
#include <GraphicsVulkan/GraphicsVulkanAssertHandler.hpp>
|
||||
#include <GraphicsVulkan/VulkanFormatters.hpp>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
VulkanSurface::VulkanSurface(const VulkanInstance& p_instance, const SurfaceCreateInfo& p_surfaceCreateInfo):
|
||||
m_instance(p_instance)
|
||||
{
|
||||
#ifdef BIGFOOT_WINDOWS
|
||||
const vk::Win32SurfaceCreateInfoKHR createInfo {{},
|
||||
p_surfaceCreateInfo.m_windowInstance,
|
||||
p_surfaceCreateInfo.m_windowHandle};
|
||||
const vk::ResultValue<vk::SurfaceKHR> surface = m_instance.GetHandle().createWin32SurfaceKHR(createInfo);
|
||||
#elif defined BIGFOOT_LINUX
|
||||
const vk::WaylandSurfaceCreateInfoKHR createInfo {{}, p_surfaceCreateInfo.m_display, p_surfaceCreateInfo.m_surface};
|
||||
const vk::ResultValue<vk::SurfaceKHR> surface = m_instance.GetHandle().createWaylandSurfaceKHR(createInfo);
|
||||
#endif
|
||||
|
||||
CRITICAL_ASSERT(GraphicsVulkanAssertHandler,
|
||||
surface.result == vk::Result::eSuccess,
|
||||
"({}) Failed to create Vulkan surface",
|
||||
surface.result);
|
||||
m_surface = surface.value;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
VulkanSurface::~VulkanSurface()
|
||||
{
|
||||
m_instance.GetHandle().destroySurfaceKHR(m_surface);
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
vk::SurfaceKHR VulkanSurface::GetHandle() const
|
||||
{
|
||||
return m_surface;
|
||||
}
|
||||
} // namespace Bigfoot::Vulkan
|
||||
@@ -1,75 +0,0 @@
|
||||
/*********************************************************************
|
||||
* \file Factory.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_UTILS_FACTORY_HPP
|
||||
#define BIGFOOT_UTILS_FACTORY_HPP
|
||||
#include <EASTL/unique_ptr.h>
|
||||
#include <EASTL/utility.h>
|
||||
#include <ankerl/unordered_dense.h>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
template<class TYPE, class KEY, class CREATEFUNCTION>
|
||||
class Factory
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Register a key inside the factory
|
||||
*
|
||||
* \param p_key The key
|
||||
* \param p_function The create function
|
||||
* \return True if the key has been registered, false if it was already registered
|
||||
*/
|
||||
[[nodiscard]]
|
||||
bool Register(const KEY p_key, CREATEFUNCTION&& p_function)
|
||||
{
|
||||
if (m_createFunctions.find(p_key) == m_createFunctions.end())
|
||||
{
|
||||
m_createFunctions.emplace(p_key, eastl::move(p_function));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance from the factory
|
||||
*
|
||||
* \param p_key The key to create. Needs to have been registered with Register()
|
||||
* \param p_args Arguments for the creation
|
||||
* \return The created instance. nullptr is returned if the key has not been registered
|
||||
*/
|
||||
template<typename... ARGS>
|
||||
[[nodiscard]]
|
||||
eastl::unique_ptr<TYPE> Create(const KEY p_key, ARGS&&... p_args) const
|
||||
{
|
||||
if (const auto createFunction = m_createFunctions.find(p_key); createFunction != m_createFunctions.end())
|
||||
{
|
||||
return createFunction->second(eastl::forward<ARGS>(p_args)...);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a key and its associated create function from the factory
|
||||
*
|
||||
* \param p_key The key to remove
|
||||
*/
|
||||
void Remove(const KEY p_key)
|
||||
{
|
||||
m_createFunctions.erase(p_key);
|
||||
}
|
||||
|
||||
private:
|
||||
/**
|
||||
* The mapping between keys and create functions
|
||||
*/
|
||||
ankerl::unordered_dense::map<KEY, CREATEFUNCTION> m_createFunctions;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
@@ -1,4 +1,6 @@
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Utils)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/System)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Engine)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Graphics)
|
||||
if(${TOOLMODE})
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Tools)
|
||||
endif()
|
||||
@@ -21,4 +21,4 @@ bigfoot_create_package_lib(
|
||||
"${PrivateDependencies}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Libs")
|
||||
"")
|
||||
+1
-2
@@ -10,9 +10,8 @@
|
||||
#include <Engine/Asset/AssetConcepts.hpp>
|
||||
#include <Engine/Asset/AssetContainer.hpp>
|
||||
#include <Engine/Asset/AssetLibrary.hpp>
|
||||
#include <Engine/EngineAssertHandler.hpp>
|
||||
|
||||
#include <Engine/Asset/Asset_generated.hpp>
|
||||
#include <Engine/EngineAssertHandler.hpp>
|
||||
|
||||
#include <EASTL/span.h>
|
||||
#include <EASTL/vector.h>
|
||||
+2
-2
@@ -6,10 +6,10 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSET_ASSETBASE_HPP
|
||||
#define BIGFOOT_ENGINE_ASSET_ASSETBASE_HPP
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
#include <Engine/Asset/Asset_generated.hpp>
|
||||
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
#include <EASTL/span.h>
|
||||
#include <EASTL/vector.h>
|
||||
#include <ankerl/unordered_dense.h>
|
||||
+2
-2
@@ -6,10 +6,10 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ENGINEASSERTHANDLER_HPP
|
||||
#define BIGFOOT_ENGINE_ENGINEASSERTHANDLER_HPP
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#include <Engine/EngineLogger_generated.hpp>
|
||||
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
+1
-1
@@ -15,7 +15,7 @@ namespace Bigfoot
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
inline Log::LoggerInfo ENGINE_LOGGER { .m_name = "ENGINE_LOGGER", .m_level = LogLevel::Trace};
|
||||
inline Log::LoggerInfo ENGINE_LOGGER { .m_name = "ENGINE_LOGGER", .m_level = Flat::LogLevel::Trace};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
@@ -13,6 +13,6 @@ bigfoot_create_package_lib(
|
||||
"${PrivateLibraries}"
|
||||
"${BigfootPublicDependencies}"
|
||||
"${BigfootPrivateDependencies}"
|
||||
"Bigfoot/Libs")
|
||||
"")
|
||||
|
||||
bigfoot_create_logger()
|
||||
+2
-2
@@ -6,10 +6,10 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_SYSTEM_SYSTEMASSERTHANDLER_HPP
|
||||
#define BIGFOOT_SYSTEM_SYSTEMASSERTHANDLER_HPP
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#include <System/SystemLogger_generated.hpp>
|
||||
|
||||
#include <Utils/Assert/AssertHandler.hpp>
|
||||
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
|
||||
namespace Bigfoot
|
||||
+1
-1
@@ -15,7 +15,7 @@ namespace Bigfoot
|
||||
/*
|
||||
* Logger
|
||||
*/
|
||||
inline Log::LoggerInfo SYSTEM_LOGGER { .m_name = "SYSTEM_LOGGER", .m_level = LogLevel::Trace};
|
||||
inline Log::LoggerInfo SYSTEM_LOGGER { .m_name = "SYSTEM_LOGGER", .m_level = Flat::LogLevel::Trace};
|
||||
} // namespace Bigfoot
|
||||
#endif
|
||||
#endif
|
||||
-1
@@ -7,7 +7,6 @@
|
||||
#ifndef BIGFOOT_SYSTEM_FLATUUID_HPP
|
||||
#define BIGFOOT_SYSTEM_FLATUUID_HPP
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
#include <System/UUID/UUID_generated.hpp>
|
||||
|
||||
namespace flatbuffers
|
||||
@@ -7,7 +7,6 @@
|
||||
#include <System/Time/Time.hpp>
|
||||
|
||||
#include <System/SystemAssertHandler.hpp>
|
||||
|
||||
#include <System/Time/Time_generated.hpp>
|
||||
|
||||
namespace
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user