diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-08-25 06:08:35 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-09-04 06:55:01 +0200 |
commit | 701dedcfad3001c1aecb2d714da1e22cc407a5ea (patch) | |
tree | 990c44e2e99ad830e5b028f3dae0d08961623e2a /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #2835 from chris062689/master (diff) | |
download | yuzu-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 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index f5158d219..c8c92757a 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -244,7 +244,7 @@ void Maxwell3D::InitDirtySettings() { dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_clamp)] = polygon_offset_dirty_reg; } -void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) { +void Maxwell3D::CallMacroMethod(u32 method, std::size_t num_parameters, const u32* parameters) { // Reset the current macro. executing_macro = 0; @@ -252,7 +252,7 @@ void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) { const u32 entry = ((method - MacroRegistersStart) >> 1) % macro_positions.size(); // Execute the current macro. - macro_interpreter.Execute(macro_positions[entry], std::move(parameters)); + macro_interpreter.Execute(macro_positions[entry], num_parameters, parameters); } void Maxwell3D::CallMethod(const GPU::MethodCall& method_call) { @@ -289,7 +289,8 @@ void Maxwell3D::CallMethod(const GPU::MethodCall& method_call) { // Call the macro when there are no more parameters in the command buffer if (method_call.IsLastCall()) { - CallMacroMethod(executing_macro, std::move(macro_params)); + CallMacroMethod(executing_macro, macro_params.size(), macro_params.data()); + macro_params.clear(); } return; } |