VideoCore: Fix OGL cache invalidation.
This commit is contained in:
parent
66e4a48b75
commit
efbb6fe288
|
@ -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