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 | 39 | if (_data.regulateViewRanges && inTimings.size()) { |
| 40 | 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 | 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 | 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]); | |
| 68 | − 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]); | |
| 73 | + _dataExport.ranges[workload::Region::R1] = regionBackFronts[workload::Region::R1] = regionRegulators[workload::Region::R1].run(loopDuration, timings[0], regionBackFronts[workload::Region::R1]); | |
| 74 | + _dataExport.ranges[workload::Region::R2] = regionBackFronts[workload::Region::R2] = regionRegulators[workload::Region::R2].run(loopDuration, timings[0], regionBackFronts[workload::Region::R2]); | |
| 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 | 81 | int i = 0; |
| 72 | 82 | for (auto& outView : outViews) { |