summaryrefslogtreecommitdiffstats
path: root/src/video_core/macro_interpreter.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-08-25 06:08:35 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-09-04 06:55:01 +0200
commit701dedcfad3001c1aecb2d714da1e22cc407a5ea (patch)
tree990c44e2e99ad830e5b028f3dae0d08961623e2a /src/video_core/macro_interpreter.h
parentMerge pull request #2835 from chris062689/master (diff)
downloadyuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar.gz
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar.bz2
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar.lz
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar.xz
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.tar.zst
yuzu-701dedcfad3001c1aecb2d714da1e22cc407a5ea.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/macro_interpreter.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/video_core/macro_interpreter.h b/src/video_core/macro_interpreter.h
index cde360288..76b6a895b 100644
--- a/src/video_core/macro_interpreter.h
+++ b/src/video_core/macro_interpreter.h
@@ -25,7 +25,7 @@ public:
* @param offset Offset to start execution at.
* @param parameters The parameters of the macro.
*/
- void Execute(u32 offset, std::vector<u32> parameters);
+ void Execute(u32 offset, std::size_t num_parameters, const u32* parameters);
private:
enum class Operation : u32 {
@@ -162,10 +162,12 @@ private:
MethodAddress method_address = {};
/// Input parameters of the current macro.
- std::vector<u32> parameters;
+ std::unique_ptr<u32[]> parameters;
+ std::size_t num_parameters = 0;
+ std::size_t parameters_capacity = 0;
/// Index of the next parameter that will be fetched by the 'parm' instruction.
u32 next_parameter_index = 0;
- bool carry_flag{};
+ bool carry_flag = false;
};
} // namespace Tegra