diff options
| author | bunnei <bunneidev@gmail.com> | 2019-09-10 11:55:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-10 11:55:45 -0400 |
| commit | c7ec7bc1f5183f580bf34f9e2dfb59c986551f36 (patch) | |
| tree | a141f778eb57f4583acd24cdcd8027bf2f7099ac /src/video_core/macro_interpreter.h | |
| parent | 434d0922dcf886c6bb3ac50b96a8c6091c5c6c11 (diff) | |
| parent | 701dedcfad3001c1aecb2d714da1e22cc407a5ea (diff) | |
Merge pull request #2810 from ReinUsesLisp/mme-opt
maxwell_3d: Avoid moving macro_params
Diffstat (limited to 'src/video_core/macro_interpreter.h')
| -rw-r--r-- | src/video_core/macro_interpreter.h | 8 |
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 |
