VideoCore: Fix OGL cache invalidation.
This commit is contained in:
		@@ -139,6 +139,7 @@ void RasterizerOpenGL::LoadDiskResources(u64 title_id, std::stop_token stop_load
 | 
			
		||||
void RasterizerOpenGL::Clear(u32 layer_count) {
 | 
			
		||||
    MICROPROFILE_SCOPE(OpenGL_Clears);
 | 
			
		||||
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
    const auto& regs = maxwell3d->regs;
 | 
			
		||||
    bool use_color{};
 | 
			
		||||
    bool use_depth{};
 | 
			
		||||
@@ -207,6 +208,7 @@ void RasterizerOpenGL::PrepareDraw(bool is_indexed, Func&& draw_func) {
 | 
			
		||||
    MICROPROFILE_SCOPE(OpenGL_Drawing);
 | 
			
		||||
 | 
			
		||||
    SCOPE_EXIT({ gpu.TickWork(); });
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
    query_cache.UpdateCounters();
 | 
			
		||||
 | 
			
		||||
    GraphicsPipeline* const pipeline{shader_cache.CurrentGraphicsPipeline()};
 | 
			
		||||
@@ -319,6 +321,7 @@ void RasterizerOpenGL::DrawIndirect() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void RasterizerOpenGL::DispatchCompute() {
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
    ComputePipeline* const pipeline{shader_cache.CurrentComputePipeline()};
 | 
			
		||||
    if (!pipeline) {
 | 
			
		||||
        return;
 | 
			
		||||
@@ -526,6 +529,7 @@ void RasterizerOpenGL::TickFrame() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool RasterizerOpenGL::AccelerateConditionalRendering() {
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
    if (Settings::IsGPULevelHigh()) {
 | 
			
		||||
        // Reimplement Host conditional rendering.
 | 
			
		||||
        return false;
 | 
			
		||||
 
 | 
			
		||||
@@ -270,6 +270,7 @@ void RasterizerVulkan::Clear(u32 layer_count) {
 | 
			
		||||
    MICROPROFILE_SCOPE(Vulkan_Clearing);
 | 
			
		||||
 | 
			
		||||
    FlushWork();
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
 | 
			
		||||
    query_cache.UpdateCounters();
 | 
			
		||||
 | 
			
		||||
@@ -628,6 +629,7 @@ void RasterizerVulkan::TickFrame() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool RasterizerVulkan::AccelerateConditionalRendering() {
 | 
			
		||||
    gpu_memory->FlushCaching();
 | 
			
		||||
    if (Settings::IsGPULevelHigh()) {
 | 
			
		||||
        // TODO(Blinkhawk): Reimplement Host conditional rendering.
 | 
			
		||||
        return false;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user