Compare commits
No commits in common. "040c6b0e46cb0213a54a46fb11504c917e46f61a" and "1e7548a0a28cf6fb35cf11c577bc9e7f3568c442" have entirely different histories.
040c6b0e46
...
1e7548a0a2
130
.clang-format
130
.clang-format
@ -1,130 +0,0 @@
|
|||||||
# Checkout config tool: https://zed0.co.uk/clang-format-configurator/
|
|
||||||
# Or http://cf.monofraps.net/
|
|
||||||
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
||||||
# https://github.com/01org/parameter-framework/blob/master/.clang-format
|
|
||||||
|
|
||||||
# Tested on: clang-format version 6.0.1
|
|
||||||
|
|
||||||
|
|
||||||
# Common settings
|
|
||||||
BasedOnStyle: WebKit
|
|
||||||
TabWidth: 4
|
|
||||||
IndentWidth: 4
|
|
||||||
UseTab: Always
|
|
||||||
ColumnLimit: 100
|
|
||||||
|
|
||||||
# Other languages JavaScript, Proto
|
|
||||||
|
|
||||||
---
|
|
||||||
Language: Cpp
|
|
||||||
|
|
||||||
# http://releases.llvm.org/6.0.1/tools/clang/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code
|
|
||||||
# int formatted_code;
|
|
||||||
# // clang-format off
|
|
||||||
# void unformatted_code ;
|
|
||||||
# // clang-format on
|
|
||||||
# void formatted_code_again;
|
|
||||||
|
|
||||||
DisableFormat: false
|
|
||||||
Standard: Cpp11
|
|
||||||
|
|
||||||
AccessModifierOffset: -4
|
|
||||||
AlignAfterOpenBracket: true
|
|
||||||
AlignConsecutiveAssignments: false
|
|
||||||
AlignConsecutiveDeclarations: false
|
|
||||||
AlignEscapedNewlinesLeft: false
|
|
||||||
AlignOperands: true
|
|
||||||
AlignTrailingComments: false
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: true
|
|
||||||
AllowShortBlocksOnASingleLine: false
|
|
||||||
AllowShortCaseLabelsOnASingleLine: false
|
|
||||||
AllowShortFunctionsOnASingleLine: Empty
|
|
||||||
AllowShortIfStatementsOnASingleLine: false
|
|
||||||
AllowShortLoopsOnASingleLine: false
|
|
||||||
AlwaysBreakAfterDefinitionReturnType: false
|
|
||||||
AlwaysBreakAfterReturnType: None
|
|
||||||
AlwaysBreakBeforeMultilineStrings: false
|
|
||||||
AlwaysBreakTemplateDeclarations: true
|
|
||||||
BinPackArguments: false
|
|
||||||
BinPackParameters: false
|
|
||||||
|
|
||||||
# Configure each individual brace in BraceWrapping
|
|
||||||
BreakBeforeBraces: Custom
|
|
||||||
# Control of individual brace wrapping cases
|
|
||||||
BraceWrapping: {
|
|
||||||
AfterClass: 'true'
|
|
||||||
AfterControlStatement: 'true'
|
|
||||||
AfterEnum : 'true'
|
|
||||||
AfterFunction : 'true'
|
|
||||||
AfterNamespace : 'true'
|
|
||||||
AfterStruct : 'true'
|
|
||||||
AfterUnion : 'true'
|
|
||||||
BeforeCatch : 'true'
|
|
||||||
BeforeElse : 'true'
|
|
||||||
IndentBraces : 'false'
|
|
||||||
AfterExternBlock : 'true'
|
|
||||||
SplitEmptyFunction : 'false'
|
|
||||||
SplitEmptyRecord : 'false'
|
|
||||||
SplitEmptyNamespace : 'true'
|
|
||||||
}
|
|
||||||
|
|
||||||
BreakAfterJavaFieldAnnotations: true
|
|
||||||
BreakBeforeInheritanceComma: false
|
|
||||||
BreakBeforeBinaryOperators: None
|
|
||||||
BreakBeforeTernaryOperators: true
|
|
||||||
BreakConstructorInitializersBeforeComma: true
|
|
||||||
BreakStringLiterals: true
|
|
||||||
|
|
||||||
CommentPragmas: '^ IWYU pragma:'
|
|
||||||
CompactNamespaces: false
|
|
||||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
||||||
ConstructorInitializerIndentWidth: 4
|
|
||||||
ContinuationIndentWidth: 4
|
|
||||||
Cpp11BracedListStyle: true
|
|
||||||
SpaceBeforeCpp11BracedList: false
|
|
||||||
DerivePointerAlignment: false
|
|
||||||
ExperimentalAutoDetectBinPacking: false
|
|
||||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
|
||||||
IndentCaseLabels: false
|
|
||||||
FixNamespaceComments: true
|
|
||||||
IndentWrappedFunctionNames: false
|
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
|
||||||
MacroBlockBegin: ''
|
|
||||||
MacroBlockEnd: ''
|
|
||||||
JavaScriptQuotes: Double
|
|
||||||
MaxEmptyLinesToKeep: 1
|
|
||||||
NamespaceIndentation: All
|
|
||||||
ObjCBlockIndentWidth: 4
|
|
||||||
ObjCSpaceAfterProperty: true
|
|
||||||
ObjCSpaceBeforeProtocolList: true
|
|
||||||
PenaltyBreakBeforeFirstCallParameter: 19
|
|
||||||
PenaltyBreakComment: 300
|
|
||||||
PenaltyBreakFirstLessLess: 120
|
|
||||||
PenaltyBreakString: 1000
|
|
||||||
|
|
||||||
PenaltyExcessCharacter: 1000000
|
|
||||||
PenaltyReturnTypeOnItsOwnLine: 60
|
|
||||||
PointerAlignment: Left
|
|
||||||
SpaceAfterCStyleCast: false
|
|
||||||
SpaceBeforeAssignmentOperators: true
|
|
||||||
SpaceBeforeParens: Never
|
|
||||||
SpaceInEmptyParentheses: false
|
|
||||||
SpacesBeforeTrailingComments: 1
|
|
||||||
SpacesInAngles: false
|
|
||||||
SpacesInContainerLiterals: true
|
|
||||||
SpacesInCStyleCastParentheses: false
|
|
||||||
SpacesInParentheses: false
|
|
||||||
SpacesInSquareBrackets: false
|
|
||||||
SpaceAfterTemplateKeyword: true
|
|
||||||
SpaceBeforeInheritanceColon: true
|
|
||||||
|
|
||||||
SortUsingDeclarations: true
|
|
||||||
SortIncludes: true
|
|
||||||
|
|
||||||
# Comments are for developers, they should arrange them
|
|
||||||
ReflowComments: false
|
|
||||||
|
|
||||||
IncludeBlocks: Preserve
|
|
||||||
IndentPPDirectives: AfterHash
|
|
||||||
---
|
|
||||||
|
|
47
.clang-tidy
47
.clang-tidy
@ -1,47 +0,0 @@
|
|||||||
Checks: 'cppcoreguidelines-*,
|
|
||||||
performance-*,
|
|
||||||
modernize-*,
|
|
||||||
google-*,
|
|
||||||
misc-*
|
|
||||||
cert-*,
|
|
||||||
readability-*,
|
|
||||||
clang-analyzer-*,
|
|
||||||
-performance-unnecessary-value-param,
|
|
||||||
-modernize-use-trailing-return-type,
|
|
||||||
-google-runtime-references,
|
|
||||||
-misc-non-private-member-variables-in-classes,
|
|
||||||
-readability-braces-around-statements,
|
|
||||||
-google-readability-braces-around-statements,
|
|
||||||
-cppcoreguidelines-avoid-magic-numbers,
|
|
||||||
-readability-magic-numbers,
|
|
||||||
-readability-magic-numbers,
|
|
||||||
-cppcoreguidelines-pro-type-vararg,
|
|
||||||
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
|
|
||||||
-cppcoreguidelines-avoid-c-arrays,
|
|
||||||
-modernize-avoid-c-arrays,
|
|
||||||
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
|
|
||||||
-readability-named-parameter,
|
|
||||||
-cert-env33-c
|
|
||||||
'
|
|
||||||
|
|
||||||
|
|
||||||
WarningsAsErrors: ''
|
|
||||||
FormatStyle: none
|
|
||||||
|
|
||||||
CheckOptions:
|
|
||||||
- key: google-readability-braces-around-statements.ShortStatementLines
|
|
||||||
value: '1'
|
|
||||||
- key: google-readability-function-size.StatementThreshold
|
|
||||||
value: '800'
|
|
||||||
- key: google-readability-namespace-comments.ShortNamespaceLines
|
|
||||||
value: '10'
|
|
||||||
- key: modernize-loop-convert.MaxCopySize
|
|
||||||
value: '16'
|
|
||||||
- key: modernize-loop-convert.MinConfidence
|
|
||||||
value: reasonable
|
|
||||||
- key: modernize-pass-by-value.IncludeStyle
|
|
||||||
value: llvm
|
|
||||||
- key: modernize-replace-auto-ptr.IncludeStyle
|
|
||||||
value: llvm
|
|
||||||
- key: modernize-use-nullptr.NullMacros
|
|
||||||
value: 'NULL'
|
|
30
Engine/Source/Runtime/Core/Math/SIMD/Alignment.h
Normal file
30
Engine/Source/Runtime/Core/Math/SIMD/Alignment.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Core/Math/Boilerplate.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace Phanes::Core::Math::SIMD
|
||||||
|
{
|
||||||
|
|
||||||
|
// Structure to conveniently align arrays.
|
||||||
|
template<typename T, size_t L>
|
||||||
|
struct alignas(sizeof(T) * 4) AlignedVec
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
T data[L];
|
||||||
|
|
||||||
|
AlignedVec(const T* n_aligned_data)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < L; ++i)
|
||||||
|
{
|
||||||
|
data[i] = n_aligned_data[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const T* Get()
|
||||||
|
{
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -1,36 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <cstring>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
namespace Phanes::Core::Math::SIMD
|
|
||||||
{
|
|
||||||
// Structure to conveniently align arrays.
|
|
||||||
template <typename T, size_t L, size_t Align>
|
|
||||||
struct alignas(Align) AlignedVec
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static_assert(std::is_trivially_copyable_v<T>,
|
|
||||||
"Alignment.hpp: AlignedVecSSE must be trivially copyable.");
|
|
||||||
static_assert(Align >= alignof(T) && (Align & (Align - 1)) == 0,
|
|
||||||
"Alignment.hpp: Alignment must be a power of two and >= alignof(T).");
|
|
||||||
T data[L];
|
|
||||||
|
|
||||||
explicit AlignedVec(const T* n_aligned_data)
|
|
||||||
{
|
|
||||||
std::memcpy(data, n_aligned_data, sizeof(T) * L);
|
|
||||||
}
|
|
||||||
|
|
||||||
const T* Get() const
|
|
||||||
{
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename T, size_t L>
|
|
||||||
using AlignedVecSSE = AlignedVec<T, L, 16>;
|
|
||||||
|
|
||||||
template <typename T, size_t L>
|
|
||||||
using AlignedVecAVX = AlignedVec<T, L, 32>;
|
|
||||||
} // namespace Phanes::Core::Math::SIMD
|
|
@ -1,40 +1,41 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Core/Core.h"
|
|
||||||
#include "StartingPointPCH.h"
|
#include "StartingPointPCH.h"
|
||||||
|
#include "Core/Core.h"
|
||||||
|
|
||||||
// Entrypoint class for any Phanes game.
|
// Entrypoint class for any Phanes game.
|
||||||
|
|
||||||
namespace Phanes::Core::Application
|
namespace Phanes::Core::Application
|
||||||
{
|
{
|
||||||
class PhanesProject
|
class PhanesProject
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
private:
|
std::string projectName;
|
||||||
std::string projectName;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
PhanesProject(std::string _ProjectName);
|
|
||||||
|
|
||||||
virtual ~PhanesProject();
|
PhanesProject(std::string _ProjectName);
|
||||||
|
virtual ~PhanesProject();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PhanesEngine main loop.
|
* PhanesEngine main loop.
|
||||||
*/
|
|
||||||
void Run();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getter for project name;
|
|
||||||
*/
|
|
||||||
|
|
||||||
std::string GetName();
|
|
||||||
|
|
||||||
PhanesProject(const PhanesProject&) = delete;
|
|
||||||
PhanesProject& operator=(const PhanesProject&) = delete;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function to be overwriten by client.
|
|
||||||
*/
|
*/
|
||||||
PhanesProject* CreatePhanesGame();
|
void Run();
|
||||||
} // namespace Phanes::Core::Application
|
|
||||||
|
/**
|
||||||
|
* Getter for project name;
|
||||||
|
*/
|
||||||
|
|
||||||
|
std::string GetName();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to be overwriten by client.
|
||||||
|
*/
|
||||||
|
|
||||||
|
PhanesProject* CreatePhanesGame();
|
||||||
|
}
|
||||||
|
@ -6,17 +6,17 @@ extern Phanes::Core::Application::PhanesProject* Phanes::Core::Application::Crea
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
Phanes::Core::Logging::Logger::Init();
|
Phanes::Core::Logging::Logger::Init();
|
||||||
PENGINE_LOG_INFO("Logger initialized!");
|
PENGINE_LOG_INFO("Logger initialized!");
|
||||||
PENGINE_LOG_INFO("Welcome to PhanesEngine!");
|
PENGINE_LOG_INFO("Welcome to PhanesEngine!");
|
||||||
|
|
||||||
auto* phanes_game = Phanes::Core::Application::CreatePhanesGame();
|
auto phanes_game = Phanes::Core::Application::CreatePhanesGame();
|
||||||
|
|
||||||
phanes_game->Run();
|
phanes_game->Run();
|
||||||
|
|
||||||
delete phanes_game;
|
delete phanes_game;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
Loading…
x
Reference in New Issue
Block a user