Showing the changes to interface/src/workload/GameWorkload.cpp (1 of 3 files). Show all
Unified · Split
| @@ -38,7 +38,13 @@ void ControlViews::run(const workload::WorkloadContextPointer& runContext, const · 37 unmodified lines | |||
| 38 | 38 | ||
| 39 | if (_data.regulateViewRanges && inTimings.size()) { | 39 | if (_data.regulateViewRanges && inTimings.size()) { |
| 40 | regulateViews(outViews, inTimings); | 40 | regulateViews(outViews, inTimings); |
| 41 | |||
| 42 | auto config = std::static_pointer_cast<Config>(runContext->jobConfig); | ||
| 43 | config->dataExport = _dataExport; | ||
| 44 | config->emitDirty(); | ||
| 41 | } | 45 | } |
| 46 | |||
| 47 | |||
| 42 | } | 48 | } |
| 43 | 49 | ||
| 44 | glm::vec2 Regulator::run(const Timing_ns& regulationDuration, const Timing_ns& measured, const glm::vec2& current) { | 50 | glm::vec2 Regulator::run(const Timing_ns& regulationDuration, const Timing_ns& measured, const glm::vec2& current) { |
| @@ -64,9 +70,13 @@ void ControlViews::regulateViews(workload::Views& outViews, const workload::Timi · 19 unmodified lines | |||
| 64 | } | 70 | } |
| 65 | 71 | ||
| 66 | auto loopDuration = std::chrono::nanoseconds{ std::chrono::milliseconds(16) }; | 72 | auto loopDuration = std::chrono::nanoseconds{ std::chrono::milliseconds(16) }; |
| 67 | regionBackFronts[workload::Region::R1] = regionRegulators[workload::Region::R1].run(loopDuration, timings[0], regionBackFronts[workload::Region::R1]); | 73 | _dataExport.ranges[workload::Region::R1] = regionBackFronts[workload::Region::R1] = regionRegulators[workload::Region::R1].run(loopDuration, timings[0], regionBackFronts[workload::Region::R1]); |
| 68 | regionBackFronts[workload::Region::R2] = regionRegulators[workload::Region::R2].run(loopDuration, timings[0], regionBackFronts[workload::Region::R2]); | 74 | _dataExport.ranges[workload::Region::R2] = regionBackFronts[workload::Region::R2] = regionRegulators[workload::Region::R2].run(loopDuration, timings[0], regionBackFronts[workload::Region::R2]); |
| 69 | regionBackFronts[workload::Region::R3] = regionRegulators[workload::Region::R3].run(loopDuration, timings[1], regionBackFronts[workload::Region::R3]); | 75 | _dataExport.ranges[workload::Region::R3] = regionBackFronts[workload::Region::R3] = regionRegulators[workload::Region::R3].run(loopDuration, timings[1], regionBackFronts[workload::Region::R3]); |
| 76 | |||
| 77 | _dataExport.timings[workload::Region::R1] = std::chrono::duration<float, std::milli>(timings[0]).count(); | ||
| 78 | _dataExport.timings[workload::Region::R2] = _dataExport.timings[workload::Region::R1]; | ||
| 79 | _dataExport.timings[workload::Region::R3] = std::chrono::duration<float, std::milli>(timings[1]).count(); | ||
| 70 | 80 | ||
| 71 | int i = 0; | 81 | int i = 0; |
| 72 | for (auto& outView : outViews) { | 82 | for (auto& outView : outViews) { |