diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-11-17 16:36:53 +0100 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-01-01 16:43:57 -0500 |
| commit | 12a76465b99f406ca5fc78dd1622693a8a893ed4 (patch) | |
| tree | 142d4cab2de27ce250d246f0355fec97748a7bcf /src/video_core/engines/maxwell_3d.cpp | |
| parent | 78425435739e46a1c408d4e272c6e62c09df25ae (diff) | |
MacroHLE: Reduce massive calculations on sizing estimation.
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 50d8a94b15..a9fd6d9606 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -157,6 +157,21 @@ void Maxwell3D::RefreshParameters() { } } +bool Maxwell3D::AnyParametersDirty() { + size_t current_index = 0; + for (auto& segment : macro_segments) { + if (segment.first == 0) { + current_index += segment.second; + continue; + } + if (memory_manager.IsMemoryDirty(segment.first, sizeof(u32) * segment.second)) { + return true; + } + current_index += segment.second; + } + return false; +} + u32 Maxwell3D::GetMaxCurrentVertices() { u32 num_vertices = 0; for (size_t index = 0; index < Regs::NumVertexArrays; ++index) { |
