Skip to content

Commit ade756f

Browse files
committed
Fix warnings in hlsl-codegen
1 parent 4748584 commit ade756f

File tree

8 files changed

+30
-29
lines changed

8 files changed

+30
-29
lines changed

src/backends/common/hlsl/codegen_utils/cbuffer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ bool IsCBuffer(Variable::Tag t) {
2929

3030
// Check if CBuffer has data (multiple ranges)
3131
bool CodegenUtility::IsCBufferNonEmpty(std::initializer_list<vstd::IRange<Variable> *> fs) {
32-
for (auto &&f : fs) {
32+
for (auto f : fs) {
3333
for (auto &&i : *f) {
3434
if (detail::IsCBuffer(i.tag())) {
3535
return true;

src/backends/common/hlsl/codegen_utils/constant.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace lc::hlsl {
77

88
// Get/generate constant name
9-
bool CodegenUtility::GetConstName(uint64 hash, ConstantData const &data, vstd::StringBuilder &str) {
9+
bool CodegenUtility::GetConstName(uint64 hash, ConstantData const &data, vstd::StringBuilder &str) const {
1010
auto constCount = opt->GetConstCount(hash);
1111
str << "c";
1212
vstd::to_string((constCount.first), str);

src/backends/common/hlsl/codegen_utils/entry_points.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,11 +360,11 @@ uint obj_id:register(b0);
360360
}
361361
opt->internalStruct.try_emplace(appdataType, "_mesh");
362362
codegenData << "struct _mesh{\n"sv;
363-
for (auto i : vstd::range(appdataAttris.size())) {
363+
for (int64_t i : vstd::range(static_cast<int64_t>(appdataAttris.size()))) {
364364
auto member = appdataMems[static_cast<size_t>(i)];
365365
auto &attr = appdataAttris[static_cast<size_t>(i)];
366366
if (attr.key.empty()) [[unlikely]] {
367-
LUISA_ERROR("Mesh-to-vertex structure member {} miss attributes.", static_cast<int64_t>(i));
367+
LUISA_ERROR("Mesh-to-vertex structure member {} miss attributes.", i);
368368
}
369369
if (!(member->is_scalar() || member->is_vector())) [[unlikely]] {
370370
LUISA_ERROR("Mesh-to-vertex structure do not support type {}", member->description());

src/backends/common/hlsl/codegen_utils/property.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ void CodegenUtility::GenerateBindless(
2626
CodegenResult::Properties &properties,
2727
vstd::StringBuilder &str,
2828
bool isSpirV,
29-
uint &bind_count) {
29+
uint &bind_count) const {
3030
uint table_idx = isSpirV ? 2 : 1;
3131
auto add_prop = [&](ShaderVariableType svt) {
3232
properties.emplace_back(
@@ -75,7 +75,7 @@ void CodegenUtility::PreprocessCodegenProperties(
7575
CodegenResult::Properties &properties,
7676
vstd::StringBuilder &varData,
7777
RegisterIndexer &registerCount,
78-
bool cbufferNonEmpty, bool isRaster, bool isSpirv, uint &bind_count) {
78+
bool cbufferNonEmpty, bool isRaster, bool isSpirv, uint &bind_count) const {
7979
// 1,0,0
8080
registerCount.init();
8181
if (isSpirv) {
@@ -184,7 +184,7 @@ void CodegenUtility::PostprocessCodegenProperties(vstd::StringBuilder &finalResu
184184
}
185185

186186
// Add debug printer for struct types
187-
uint CodegenUtility::AddPrinter(vstd::string_view name, luisa::compute::Type const *structType) {
187+
uint CodegenUtility::AddPrinter(vstd::string_view name, luisa::compute::Type const *structType) const {
188188
auto z = opt->printer.size();
189189
opt->printer.emplace_back(name, structType);
190190
return z;

src/backends/common/hlsl/codegen_utils/resource.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace lc::hlsl {
77

88
// Generate unique temporary variable names
9-
vstd::StringBuilder CodegenUtility::GetNewTempVarName() {
9+
vstd::StringBuilder CodegenUtility::GetNewTempVarName() const {
1010
vstd::StringBuilder name;
1111
name << "tmp"sv;
1212
vstd::to_string(opt->tempCount, name);

src/backends/common/hlsl/codegen_utils/type_system.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
namespace lc::hlsl {
77

88
// Check if type is boolean
9-
uint CodegenUtility::IsBool(Type const &type) {
9+
uint CodegenUtility::IsBool(Type const &type) {// NOLINT: readability-convert-member-functions-to-static
10+
1011
if (type.tag() == Type::Tag::BOOL) {
1112
return 1;
1213
} else if (type.tag() == Type::Tag::VECTOR && type.element()->tag() == Type::Tag::BOOL) {
@@ -210,7 +211,7 @@ void CodegenUtility::OriginToAliased(luisa::compute::Type const *t, vstd::String
210211
str << "}\n"sv;
211212
} else {
212213
auto members = t->members();
213-
for (size_t i : vstd::range(members.size())) {
214+
for (size_t i : vstd::range(static_cast<int64>(members.size()))) {
214215
auto m = members[i];
215216
if (TypeIsAliased(m)) {
216217
str << luisa::format("r.v{}=", i);
@@ -265,7 +266,7 @@ void CodegenUtility::AliasedToOrigin(luisa::compute::Type const *t, vstd::String
265266
str << "}\n"sv;
266267
} else {
267268
auto members = t->members();
268-
for (size_t i : vstd::range(members.size())) {
269+
for (size_t i : vstd::range(static_cast<int64>(members.size()))) {
269270
auto m = members[i];
270271
if (TypeIsAliased(m)) {
271272
str << luisa::format("r.v{}=", i);

src/backends/common/hlsl/codegen_utils/variable.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace lc::hlsl {
77

88
// Get variable name by components
9-
void CodegenUtility::GetVariableName(Function f, Variable::Tag type, uint id, vstd::StringBuilder &str) {
9+
void CodegenUtility::GetVariableName(Function f, Variable::Tag type, uint id, vstd::StringBuilder &str) const {
1010
switch (type) {
1111
case Variable::Tag::BLOCK_ID:
1212
LUISA_ASSERT(!opt->isRaster, "block id only allowed in compute shader");
@@ -179,7 +179,7 @@ void CodegenUtility::GetVariableName(Function f, Variable::Tag type, uint id, vs
179179
}
180180

181181
// Get variable name from variable object
182-
void CodegenUtility::GetVariableName(Function f, Variable const &type, vstd::StringBuilder &str) {
182+
void CodegenUtility::GetVariableName(Function f, Variable const &type, vstd::StringBuilder &str) const {
183183
GetVariableName(f, type.tag(), type.uid(), str);
184184
}
185185

src/backends/common/hlsl/hlsl_codegen.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ class CodegenUtility {
5050
vstd::unordered_map<vstd::string, std::pair<vstd::string, Type const *>> attributes;
5151
CodegenUtility();
5252
~CodegenUtility();
53-
uint IsBool(Type const &type);
54-
bool GetConstName(uint64 hash, ConstantData const &data, vstd::StringBuilder &str);
55-
void GetVariableName(Function func, Variable const &type, vstd::StringBuilder &str);
56-
void GetVariableName(Function func, Variable::Tag type, uint id, vstd::StringBuilder &str);
53+
static uint IsBool(Type const &type);
54+
bool GetConstName(uint64 hash, ConstantData const &data, vstd::StringBuilder &str) const;
55+
void GetVariableName(Function func, Variable const &type, vstd::StringBuilder &str) const;
56+
void GetVariableName(Function func, Variable::Tag type, uint id, vstd::StringBuilder &str) const;
5757
void GetTypeName(Type const &type, vstd::StringBuilder &str, Usage usage, bool local_var = true);
5858
void GetFunctionDecl(Function func, vstd::StringBuilder &str);
5959
void GetFunctionName(Function callable, vstd::StringBuilder &result);
@@ -70,20 +70,20 @@ class CodegenUtility {
7070
void CodegenWorkGraphNode(const WorkGraph &work_graph, size_t node_index, bool is_entry_point, vstd::StringBuilder &result, vstd::unordered_set<uint64_t> &callableMap, bool cbufferNonEmpty);
7171

7272
// Work graph helper methods
73-
void GenerateMaxRecordsAttribute(uint max_records, vstd::StringBuilder &result);
73+
static void GenerateMaxRecordsAttribute(uint max_records, vstd::StringBuilder &result);
7474
void GenerateNodeOutputDecl(const Type *record_type, uint max_records, luisa::string_view var_name_prefix, int output_index, vstd::StringBuilder &result);
7575
void GenerateNodeInputDecl(const Type *record_type, luisa::string_view var_name, vstd::StringBuilder &result);
76-
void GenerateNodeShaderAttributes(bool is_entry_point, luisa::string_view node_name, vstd::StringBuilder &result);
77-
luisa::vector<luisa::vector<const luisa::compute::detail::WorkGraphEdge*>> CollectOutputEdgesByIndex(const luisa::compute::detail::WorkGraphNode &node);
78-
const Type* GetOutputRecordType(const luisa::vector<const luisa::compute::detail::WorkGraphEdge*> &edges, const luisa::vector<luisa::compute::detail::WorkGraphNode> &nodes);
76+
static void GenerateNodeShaderAttributes(bool is_entry_point, luisa::string_view node_name, vstd::StringBuilder &result);
77+
static luisa::vector<luisa::vector<const luisa::compute::detail::WorkGraphEdge*>> CollectOutputEdgesByIndex(const luisa::compute::detail::WorkGraphNode &node);
78+
static const Type* GetOutputRecordType(const luisa::vector<const luisa::compute::detail::WorkGraphEdge*> &edges, const luisa::vector<luisa::compute::detail::WorkGraphNode> &nodes);
7979
void GenerateNodeFunctionSignature(Function node_func, const luisa::compute::detail::WorkGraphNode &node, const luisa::vector<luisa::compute::detail::WorkGraphNode> &all_nodes, vstd::StringBuilder &result);
80-
void GenerateWorkGraphOutputCall(int output_index, luisa::string_view record_var_name, vstd::StringBuilder &result);
80+
static void GenerateWorkGraphOutputCall(int output_index, luisa::string_view record_var_name, vstd::StringBuilder &result);
8181
void GenerateRecordStructDef(const Type *record_type, vstd::StringBuilder &result);
82-
void GenerateNodeDispatchGrid(const uint3 &grid_size, vstd::StringBuilder &result);
82+
static void GenerateNodeDispatchGrid(const uint3 &grid_size, vstd::StringBuilder &result);
8383
void GenerateNodeFunctionBody(Function node_func, vstd::StringBuilder &result);
8484

85-
bool IsCBufferNonEmpty(std::initializer_list<vstd::IRange<Variable> *> f);
86-
bool IsCBufferNonEmpty(Function func);
85+
static bool IsCBufferNonEmpty(std::initializer_list<vstd::IRange<Variable> *> f);
86+
static bool IsCBufferNonEmpty(Function func);
8787
static vstd::MD5 GetTypeMD5(vstd::span<Type const *const> types);
8888
static vstd::MD5 GetTypeMD5(std::initializer_list<vstd::IRange<Variable> *> f);
8989
static vstd::MD5 GetTypeMD5(Function func);
@@ -95,12 +95,12 @@ class CodegenUtility {
9595
CodegenResult::Properties &properties,
9696
vstd::StringBuilder &str,
9797
bool isSpirV,
98-
uint &bind_count);
98+
uint &bind_count) const;
9999
void PreprocessCodegenProperties(
100100
CodegenResult::Properties &properties,
101101
vstd::StringBuilder &varData,
102102
RegisterIndexer &registerCount,
103-
bool cbufferNonEmpty, bool isRaster, bool isSpirv, uint &bind_count);
103+
bool cbufferNonEmpty, bool isRaster, bool isSpirv, uint &bind_count) const;
104104
void PostprocessCodegenProperties(vstd::StringBuilder &finalResult, bool use_autodiff);
105105
void CodegenProperties(
106106
CodegenResult::Properties &properties,
@@ -124,8 +124,8 @@ class CodegenUtility {
124124
bool noRegister = false
125125
);
126126
static vstd::string_view ReadInternalHLSLFile(vstd::string_view name);
127-
uint AddPrinter(vstd::string_view name, luisa::compute::Type const *structType);
128-
vstd::StringBuilder GetNewTempVarName();
127+
uint AddPrinter(vstd::string_view name, luisa::compute::Type const *structType) const;
128+
vstd::StringBuilder GetNewTempVarName() const;
129129
bool TypeIsAliased(luisa::compute::Type const *t) const;
130130
bool VectorShouldBeAliased(luisa::compute::Type const *t) const;
131131
void OriginToAliased(luisa::compute::Type const *t, vstd::StringBuilder &sb);

0 commit comments

Comments
 (0)