Nvdrv: Do framelimiting only in the CPU Thread
This commit is contained in:
		
				
					committed by
					
						
						FernandoS27
					
				
			
			
				
	
			
			
			
						parent
						
							976d9ef43c
						
					
				
				
					commit
					ffc2ce89a0
				
			@@ -5,6 +5,7 @@
 | 
				
			|||||||
#include "common/assert.h"
 | 
					#include "common/assert.h"
 | 
				
			||||||
#include "common/logging/log.h"
 | 
					#include "common/logging/log.h"
 | 
				
			||||||
#include "core/core.h"
 | 
					#include "core/core.h"
 | 
				
			||||||
 | 
					#include "core/core_timing.h"
 | 
				
			||||||
#include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
 | 
					#include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
 | 
				
			||||||
#include "core/hle/service/nvdrv/devices/nvmap.h"
 | 
					#include "core/hle/service/nvdrv/devices/nvmap.h"
 | 
				
			||||||
#include "core/perf_stats.h"
 | 
					#include "core/perf_stats.h"
 | 
				
			||||||
@@ -38,7 +39,10 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3
 | 
				
			|||||||
        transform, crop_rect};
 | 
					        transform, crop_rect};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    system.GetPerfStats().EndGameFrame();
 | 
					    system.GetPerfStats().EndGameFrame();
 | 
				
			||||||
 | 
					    system.GetPerfStats().EndSystemFrame();
 | 
				
			||||||
    system.GPU().SwapBuffers(&framebuffer);
 | 
					    system.GPU().SwapBuffers(&framebuffer);
 | 
				
			||||||
 | 
					    system.FrameLimiter().DoFrameLimiting(system.CoreTiming().GetGlobalTimeUs());
 | 
				
			||||||
 | 
					    system.GetPerfStats().BeginSystemFrame();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Nvidia::Devices
 | 
					} // namespace Service::Nvidia::Devices
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -135,9 +135,6 @@ void RendererOpenGL::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    render_window.PollEvents();
 | 
					    render_window.PollEvents();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    system.FrameLimiter().DoFrameLimiting(system.CoreTiming().GetGlobalTimeUs());
 | 
					 | 
				
			||||||
    system.GetPerfStats().BeginSystemFrame();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Restore the rasterizer state
 | 
					    // Restore the rasterizer state
 | 
				
			||||||
    prev_state.AllDirty();
 | 
					    prev_state.AllDirty();
 | 
				
			||||||
    prev_state.Apply();
 | 
					    prev_state.Apply();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user