Skip to content

Commit 5c411d8

Browse files
committed
HWCPipe 2.0 release
This update brings support for modern GPUs, a new API and removes support for CPU profiling. The old HWCPipe library is available on the 1.x branch
1 parent 8cc0206 commit 5c411d8

File tree

176 files changed

+38205
-37009
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+38205
-37009
lines changed

.clang-format

Lines changed: 25 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,26 @@
11
---
2-
Language: Cpp
3-
# BasedOnStyle: LLVM
4-
AccessModifierOffset: -4
5-
AlignAfterOpenBracket: Align
6-
AlignConsecutiveAssignments: true
7-
AlignConsecutiveDeclarations: true
8-
AlignEscapedNewlines: Left
9-
AlignOperands: true
10-
AlignTrailingComments: true
11-
AllowAllParametersOfDeclarationOnNextLine: true
12-
AllowShortBlocksOnASingleLine: false
13-
AllowShortCaseLabelsOnASingleLine: false
14-
AllowShortFunctionsOnASingleLine: None
15-
AllowShortIfStatementsOnASingleLine: false
16-
AllowShortLoopsOnASingleLine: false
17-
AlwaysBreakAfterDefinitionReturnType: None
18-
AlwaysBreakAfterReturnType: None
19-
AlwaysBreakBeforeMultilineStrings: false
20-
AlwaysBreakTemplateDeclarations: true
21-
BinPackArguments: true
22-
BinPackParameters: true
23-
BraceWrapping:
24-
AfterClass: true
25-
AfterControlStatement: true
26-
AfterEnum: true
27-
AfterFunction: true
28-
AfterNamespace: true
29-
AfterObjCDeclaration: true
30-
AfterStruct: true
31-
AfterUnion: true
32-
AfterExternBlock: true
33-
BeforeCatch: true
34-
BeforeElse: true
35-
IndentBraces: false
36-
SplitEmptyFunction: false
37-
SplitEmptyRecord: false
38-
SplitEmptyNamespace: false
39-
BreakBeforeBinaryOperators: None
40-
BreakBeforeBraces: Custom
41-
BreakBeforeInheritanceComma: false
42-
BreakBeforeTernaryOperators: false
43-
BreakConstructorInitializersBeforeComma: false
44-
BreakConstructorInitializers: AfterColon
45-
BreakAfterJavaFieldAnnotations: false
46-
BreakStringLiterals: true
47-
ColumnLimit: 0
48-
CommentPragmas: '^ IWYU pragma:'
49-
CompactNamespaces: false
50-
ConstructorInitializerAllOnOneLineOrOnePerLine: true
51-
ConstructorInitializerIndentWidth: 4
52-
ContinuationIndentWidth: 4
53-
Cpp11BracedListStyle: true
54-
DerivePointerAlignment: false
55-
DisableFormat: false
56-
ExperimentalAutoDetectBinPacking: false
57-
FixNamespaceComments: true
58-
ForEachMacros:
59-
- foreach
60-
- Q_FOREACH
61-
- BOOST_FOREACH
62-
IncludeBlocks: Preserve
63-
IncludeIsMainRegex: '(Test)?$'
64-
IndentCaseLabels: true
65-
IndentPPDirectives: BeforeHash
66-
IndentWidth: 4
67-
IndentWrappedFunctionNames: true
68-
JavaScriptQuotes: Leave
69-
JavaScriptWrapImports: true
70-
KeepEmptyLinesAtTheStartOfBlocks: false
71-
MacroBlockBegin: ''
72-
MacroBlockEnd: ''
73-
MaxEmptyLinesToKeep: 1
74-
NamespaceIndentation: None
75-
ObjCBinPackProtocolList: Auto
76-
ObjCBlockIndentWidth: 2
77-
ObjCSpaceAfterProperty: false
78-
ObjCSpaceBeforeProtocolList: true
79-
PenaltyBreakAssignment: 2
80-
PenaltyBreakBeforeFirstCallParameter: 19
81-
PenaltyBreakComment: 300
82-
PenaltyBreakFirstLessLess: 120
83-
PenaltyBreakString: 1000
84-
PenaltyExcessCharacter: 1000000
85-
PenaltyReturnTypeOnItsOwnLine: 60
86-
PointerAlignment: Right
87-
ReflowComments: true
88-
SortIncludes: true
89-
SortUsingDeclarations: true
90-
SpaceAfterCStyleCast: true
91-
SpaceAfterTemplateKeyword: true
92-
SpaceBeforeAssignmentOperators: true
93-
SpaceBeforeCpp11BracedList: true
94-
SpaceBeforeCtorInitializerColon: true
95-
SpaceBeforeInheritanceColon: true
96-
SpaceBeforeParens: ControlStatements
97-
SpaceBeforeRangeBasedForLoopColon: true
98-
SpaceInEmptyParentheses: false
99-
SpacesBeforeTrailingComments: 8
100-
SpacesInAngles: false
101-
SpacesInContainerLiterals: false
102-
SpacesInCStyleCastParentheses: false
103-
SpacesInParentheses: false
104-
SpacesInSquareBrackets: false
105-
Standard: Cpp11
106-
TabWidth: 4
107-
UseTab: ForContinuationAndIndentation
108-
...
2+
BasedOnStyle: LLVM
3+
IndentWidth: 4
4+
ColumnLimit: 120
5+
AlwaysBreakTemplateDeclarations: Yes
6+
BreakConstructorInitializers: BeforeComma
7+
IncludeBlocks: Regroup
8+
IncludeCategories:
9+
# Local includes
10+
- Regex: '".*"'
11+
Priority: 0
12+
# Catch2 includes
13+
- Regex: '^<catch2/.*$'
14+
Priority: 1
15+
# hwcpipe includes
16+
- Regex: '^<[a-z_]+/.*\.hpp>$'
17+
Priority: 2
18+
# stdc++ includes, e.g. <vector>
19+
- Regex: '^<[a-z_]+>$'
20+
Priority: 3
21+
# System includes
22+
- Regex: '^<sys/[a-z_]+>$'
23+
Priority: 4
24+
# All other includes.
25+
- Regex: '.*'
26+
Priority: 99

.clang-tidy

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
Checks: >-
3+
clang-diagnostic-*,
4+
clang-analyzer-*,
5+
modernize-use-nullptr,
6+
readability-identifier-naming,
7+
bugprone-*,
8+
-bugprone-easily-swappable-parameters,
9+
cppcoreguidelines-avoid-goto,
10+
cppcoreguidelines-c-copy-assignment-signature,
11+
cppcoreguidelines-explicit-virtual-functions,
12+
cppcoreguidelines-init-variables,
13+
cppcoreguidelines-interfaces-global-init,
14+
cppcoreguidelines-narrowing-conversions,
15+
cppcoreguidelines-no-malloc,
16+
cppcoreguidelines-owning-memory,
17+
cppcoreguidelines-pro-type-cstyle-cast,
18+
cppcoreguidelines-pro-type-member-init,
19+
cppcoreguidelines-pro-type-reinterpret-cast
20+
WarningsAsErrors: '*'
21+
HeaderFilterRegex: '^.*/hwcpipe2/(device|debug|test)/.*\.hpp$'
22+
AnalyzeTemporaryDtors: false
23+
FormatStyle: file
24+
CheckOptions:
25+
- key: llvm-else-after-return.WarnOnConditionVariables
26+
value: '0'
27+
- key: modernize-loop-convert.MinConfidence
28+
value: reasonable
29+
- key: modernize-replace-auto-ptr.IncludeStyle
30+
value: llvm
31+
- key: cert-str34-c.DiagnoseSignedUnsignedCharComparisons
32+
value: '0'
33+
- key: google-readability-namespace-comments.ShortNamespaceLines
34+
value: '10'
35+
- key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
36+
value: '0'
37+
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
38+
value: '1'
39+
- key: cert-dcl16-c.NewSuffixes
40+
value: 'L;LL;LU;LLU'
41+
- key: google-readability-braces-around-statements.ShortStatementLines
42+
value: '1'
43+
- key: modernize-pass-by-value.IncludeStyle
44+
value: llvm
45+
- key: google-readability-namespace-comments.SpacesBeforeComments
46+
value: '2'
47+
- key: modernize-loop-convert.MaxCopySize
48+
value: '16'
49+
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
50+
value: '1'
51+
- key: modernize-use-nullptr.NullMacros
52+
value: 'NULL'
53+
- key: llvm-qualified-auto.AddConstToQualified
54+
value: '0'
55+
- key: modernize-loop-convert.NamingStyle
56+
value: CamelCase
57+
- key: llvm-else-after-return.WarnOnUnfixable
58+
value: '0'
59+
- key: google-readability-function-size.StatementThreshold
60+
value: '800'
61+
- key: readability-identifier-naming.MacroDefinitionCase
62+
value: 'UPPER_CASE'
63+
- key: readability-identifier-naming.NamespaceCase
64+
value: 'lower_case'
65+
- key: readability-identifier-naming.FunctionCase
66+
value: 'lower_case'
67+
- key: readability-identifier-naming.ParameterCase
68+
value: 'lower_case'
69+
- key: readability-identifier-naming.VariableCase
70+
value: 'lower_case'
71+
- key: readability-identifier-naming.EnumCase
72+
value: 'lower_case'
73+
- key: readability-identifier-naming.EnumConstantCase
74+
value: 'lower_case'
75+
- key: readability-identifier-naming.ClassCase
76+
value: 'lower_case'
77+
- key: readability-identifier-naming.StructCase
78+
value: 'lower_case'
79+
- key: readability-identifier-naming.UnionCase
80+
value: 'lower_case'
81+
- key: readability-identifier-naming.MemberCase
82+
value: 'lower_case'
83+
- key: readability-identifier-naming.PrivateMemberSuffix
84+
value: '_'
85+
- key: readability-identifier-naming.ProtectedMemberSuffix
86+
value: '_'
87+
- key: readability-identifier-naming.MethodCase
88+
value: 'lower_case'
89+
- key: readability-identifier-naming.TypeAliasCase
90+
value: 'lower_case'
91+
- key: readability-identifier-naming.TemplateParameterCase
92+
value: 'lower_case'
93+
- key: readability-identifier-naming.TypeTemplateParameterSuffix
94+
value: '_t'
95+
- key: readability-identifier-naming.ValueTemplateParameterSuffix
96+
value: '_v'
97+
...

.gitignore

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,6 @@
1-
# Prerequisites
2-
*.d
3-
4-
# Compiled Object files
5-
*.slo
6-
*.lo
7-
*.o
8-
*.obj
9-
10-
# Precompiled Headers
11-
*.gch
12-
*.pch
13-
14-
# Compiled Dynamic libraries
15-
*.so
16-
*.dylib
17-
*.dll
18-
19-
# Fortran module files
20-
*.mod
21-
*.smod
22-
23-
# Compiled Static libraries
24-
*.lai
25-
*.la
26-
*.a
27-
*.lib
28-
29-
# Executables
30-
*.exe
31-
*.out
32-
*.app
33-
34-
# Ctags
35-
.tags
36-
.tags1
1+
build*/
2+
.clangd/
3+
.cache/
4+
.vscode/
5+
__pycache__
6+
compile_commands.json

0 commit comments

Comments
 (0)