summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2019-10-15 18:49:36 -0400
committerGravatar Lioncash2019-10-15 18:57:02 -0400
commit2f2ab9b5bcada1134d48f7a150463aa6f3d65a8b (patch)
tree93ce1911fa5de41ab1fab8c1ad73bc7161f63a49 /src
parentgl_shader_decompiler: Pass by reference to GenerateTextureArgument() (diff)
downloadyuzu-2f2ab9b5bcada1134d48f7a150463aa6f3d65a8b.tar.gz
yuzu-2f2ab9b5bcada1134d48f7a150463aa6f3d65a8b.tar.xz
yuzu-2f2ab9b5bcada1134d48f7a150463aa6f3d65a8b.zip
gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const references where applicable
These member functions don't actually modify the input parameter, so we can make this explicit with the use of const.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 82228b55d..20dc7d3db 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -2281,7 +2281,7 @@ class ExprDecompiler {
2281public: 2281public:
2282 explicit ExprDecompiler(GLSLDecompiler& decomp) : decomp{decomp} {} 2282 explicit ExprDecompiler(GLSLDecompiler& decomp) : decomp{decomp} {}
2283 2283
2284 void operator()(VideoCommon::Shader::ExprAnd& expr) { 2284 void operator()(const ExprAnd& expr) {
2285 inner += "( "; 2285 inner += "( ";
2286 std::visit(*this, *expr.operand1); 2286 std::visit(*this, *expr.operand1);
2287 inner += " && "; 2287 inner += " && ";
@@ -2289,7 +2289,7 @@ public:
2289 inner += ')'; 2289 inner += ')';
2290 } 2290 }
2291 2291
2292 void operator()(VideoCommon::Shader::ExprOr& expr) { 2292 void operator()(const ExprOr& expr) {
2293 inner += "( "; 2293 inner += "( ";
2294 std::visit(*this, *expr.operand1); 2294 std::visit(*this, *expr.operand1);
2295 inner += " || "; 2295 inner += " || ";
@@ -2297,17 +2297,17 @@ public:
2297 inner += ')'; 2297 inner += ')';
2298 } 2298 }
2299 2299
2300 void operator()(VideoCommon::Shader::ExprNot& expr) { 2300 void operator()(const ExprNot& expr) {
2301 inner += '!'; 2301 inner += '!';
2302 std::visit(*this, *expr.operand1); 2302 std::visit(*this, *expr.operand1);
2303 } 2303 }
2304 2304
2305 void operator()(VideoCommon::Shader::ExprPredicate& expr) { 2305 void operator()(const ExprPredicate& expr) {
2306 const auto pred = static_cast<Tegra::Shader::Pred>(expr.predicate); 2306 const auto pred = static_cast<Tegra::Shader::Pred>(expr.predicate);
2307 inner += decomp.GetPredicate(pred); 2307 inner += decomp.GetPredicate(pred);
2308 } 2308 }
2309 2309
2310 void operator()(VideoCommon::Shader::ExprCondCode& expr) { 2310 void operator()(const ExprCondCode& expr) {
2311 const Node cc = decomp.ir.GetConditionCode(expr.cc); 2311 const Node cc = decomp.ir.GetConditionCode(expr.cc);
2312 std::string target; 2312 std::string target;
2313 2313
@@ -2329,11 +2329,11 @@ public:
2329 inner += target; 2329 inner += target;
2330 } 2330 }
2331 2331
2332 void operator()(VideoCommon::Shader::ExprVar& expr) { 2332 void operator()(const ExprVar& expr) {
2333 inner += GetFlowVariable(expr.var_index); 2333 inner += GetFlowVariable(expr.var_index);
2334 } 2334 }
2335 2335
2336 void operator()(VideoCommon::Shader::ExprBoolean& expr) { 2336 void operator()(const ExprBoolean& expr) {
2337 inner += expr.value ? "true" : "false"; 2337 inner += expr.value ? "true" : "false";
2338 } 2338 }
2339 2339
@@ -2350,7 +2350,7 @@ class ASTDecompiler {
2350public: 2350public:
2351 explicit ASTDecompiler(GLSLDecompiler& decomp) : decomp{decomp} {} 2351 explicit ASTDecompiler(GLSLDecompiler& decomp) : decomp{decomp} {}
2352 2352
2353 void operator()(VideoCommon::Shader::ASTProgram& ast) { 2353 void operator()(const ASTProgram& ast) {
2354 ASTNode current = ast.nodes.GetFirst(); 2354 ASTNode current = ast.nodes.GetFirst();
2355 while (current) { 2355 while (current) {
2356 Visit(current); 2356 Visit(current);
@@ -2358,7 +2358,7 @@ public:
2358 } 2358 }
2359 } 2359 }
2360 2360
2361 void operator()(VideoCommon::Shader::ASTIfThen& ast) { 2361 void operator()(const ASTIfThen& ast) {
2362 ExprDecompiler expr_parser{decomp}; 2362 ExprDecompiler expr_parser{decomp};
2363 std::visit(expr_parser, *ast.condition); 2363 std::visit(expr_parser, *ast.condition);
2364 decomp.code.AddLine("if ({}) {{", expr_parser.GetResult()); 2364 decomp.code.AddLine("if ({}) {{", expr_parser.GetResult());
@@ -2372,7 +2372,7 @@ public:
2372 decomp.code.AddLine("}}"); 2372 decomp.code.AddLine("}}");
2373 } 2373 }
2374 2374
2375 void operator()(VideoCommon::Shader::ASTIfElse& ast) { 2375 void operator()(const ASTIfElse& ast) {
2376 decomp.code.AddLine("else {{"); 2376 decomp.code.AddLine("else {{");
2377 decomp.code.scope++; 2377 decomp.code.scope++;
2378 ASTNode current = ast.nodes.GetFirst(); 2378 ASTNode current = ast.nodes.GetFirst();
@@ -2384,29 +2384,29 @@ public:
2384 decomp.code.AddLine("}}"); 2384 decomp.code.AddLine("}}");
2385 } 2385 }
2386 2386
2387 void operator()(VideoCommon::Shader::ASTBlockEncoded& ast) { 2387 void operator()([[maybe_unused]] const ASTBlockEncoded& ast) {
2388 UNREACHABLE(); 2388 UNREACHABLE();
2389 } 2389 }
2390 2390
2391 void operator()(VideoCommon::Shader::ASTBlockDecoded& ast) { 2391 void operator()(const ASTBlockDecoded& ast) {
2392 decomp.VisitBlock(ast.nodes); 2392 decomp.VisitBlock(ast.nodes);
2393 } 2393 }
2394 2394
2395 void operator()(VideoCommon::Shader::ASTVarSet& ast) { 2395 void operator()(const ASTVarSet& ast) {
2396 ExprDecompiler expr_parser{decomp}; 2396 ExprDecompiler expr_parser{decomp};
2397 std::visit(expr_parser, *ast.condition); 2397 std::visit(expr_parser, *ast.condition);
2398 decomp.code.AddLine("{} = {};", GetFlowVariable(ast.index), expr_parser.GetResult()); 2398 decomp.code.AddLine("{} = {};", GetFlowVariable(ast.index), expr_parser.GetResult());
2399 } 2399 }
2400 2400
2401 void operator()(VideoCommon::Shader::ASTLabel& ast) { 2401 void operator()(const ASTLabel& ast) {
2402 decomp.code.AddLine("// Label_{}:", ast.index); 2402 decomp.code.AddLine("// Label_{}:", ast.index);
2403 } 2403 }
2404 2404
2405 void operator()(VideoCommon::Shader::ASTGoto& ast) { 2405 void operator()([[maybe_unused]] const ASTGoto& ast) {
2406 UNREACHABLE(); 2406 UNREACHABLE();
2407 } 2407 }
2408 2408
2409 void operator()(VideoCommon::Shader::ASTDoWhile& ast) { 2409 void operator()(const ASTDoWhile& ast) {
2410 ExprDecompiler expr_parser{decomp}; 2410 ExprDecompiler expr_parser{decomp};
2411 std::visit(expr_parser, *ast.condition); 2411 std::visit(expr_parser, *ast.condition);
2412 decomp.code.AddLine("do {{"); 2412 decomp.code.AddLine("do {{");
@@ -2420,7 +2420,7 @@ public:
2420 decomp.code.AddLine("}} while({});", expr_parser.GetResult()); 2420 decomp.code.AddLine("}} while({});", expr_parser.GetResult());
2421 } 2421 }
2422 2422
2423 void operator()(VideoCommon::Shader::ASTReturn& ast) { 2423 void operator()(const ASTReturn& ast) {
2424 const bool is_true = VideoCommon::Shader::ExprIsTrue(ast.condition); 2424 const bool is_true = VideoCommon::Shader::ExprIsTrue(ast.condition);
2425 if (!is_true) { 2425 if (!is_true) {
2426 ExprDecompiler expr_parser{decomp}; 2426 ExprDecompiler expr_parser{decomp};
@@ -2440,7 +2440,7 @@ public:
2440 } 2440 }
2441 } 2441 }
2442 2442
2443 void operator()(VideoCommon::Shader::ASTBreak& ast) { 2443 void operator()(const ASTBreak& ast) {
2444 const bool is_true = VideoCommon::Shader::ExprIsTrue(ast.condition); 2444 const bool is_true = VideoCommon::Shader::ExprIsTrue(ast.condition);
2445 if (!is_true) { 2445 if (!is_true) {
2446 ExprDecompiler expr_parser{decomp}; 2446 ExprDecompiler expr_parser{decomp};
@@ -2455,7 +2455,7 @@ public:
2455 } 2455 }
2456 } 2456 }
2457 2457
2458 void Visit(VideoCommon::Shader::ASTNode& node) { 2458 void Visit(const ASTNode& node) {
2459 std::visit(*this, *node->GetInnerData()); 2459 std::visit(*this, *node->GetInnerData());
2460 } 2460 }
2461 2461
@@ -2468,9 +2468,9 @@ void GLSLDecompiler::DecompileAST() {
2468 for (u32 i = 0; i < num_flow_variables; i++) { 2468 for (u32 i = 0; i < num_flow_variables; i++) {
2469 code.AddLine("bool {} = false;", GetFlowVariable(i)); 2469 code.AddLine("bool {} = false;", GetFlowVariable(i));
2470 } 2470 }
2471
2471 ASTDecompiler decompiler{*this}; 2472 ASTDecompiler decompiler{*this};
2472 VideoCommon::Shader::ASTNode program = ir.GetASTProgram(); 2473 decompiler.Visit(ir.GetASTProgram());
2473 decompiler.Visit(program);
2474} 2474}
2475 2475
2476} // Anonymous namespace 2476} // Anonymous namespace