diff options
| author | Subv <subv2112@gmail.com> | 2018-03-28 15:14:47 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2018-04-01 12:07:26 -0500 |
| commit | 1ec8d2123d3cca013178827e059641f8989b5af4 (patch) | |
| tree | 697717ce5175807e6f56611aee8eef9fd2a11ec3 /src/video_core/engines/maxwell_3d.cpp | |
| parent | be4c7ed0828e47ef44f9cea621946344bec38a54 (diff) | |
GPU: Implemented a gpu macro interpreter.
The Ryujinx macro interpreter and envydis were used as reference.
Macros are programs that are uploaded by the games during boot and can later be called by writing to their method id in a GPU command buffer.
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 5359d21a2..85255d0a5 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -386,5 +386,10 @@ std::vector<Texture::FullTextureInfo> Maxwell3D::GetStageTextures(Regs::ShaderSt return textures; } +u32 Maxwell3D::GetRegisterValue(u32 method) const { + ASSERT_MSG(method < Regs::NUM_REGS, "Invalid Maxwell3D register"); + return regs.reg_array[method]; +} + } // namespace Engines } // namespace Tegra |
