Skip to content

Commit 374d07b

Browse files
Nyvernnclshortfuse
authored andcommitted
fix(ffxiv): reset copy tracker every frame
1 parent 3ace130 commit 374d07b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

‎src/games/ffxiv/addon.cpp‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,8 +495,9 @@ void OnPresent(reshade::api::command_queue* queue, reshade::api::swapchain* swap
495495
cmd_list->end_render_pass();
496496

497497
cmd_list->barrier(back_buffer_resource, reshade::api::resource_usage::render_target, reshade::api::resource_usage::shader_resource);
498+
}
498499

499-
// reset the copy tracker, entirely unrelated to the final shader above
500+
void OnPresentStateReset(reshade::api::command_queue*, reshade::api::swapchain*, const reshade::api::rect*, const reshade::api::rect*, uint32_t, const reshade::api::rect*) {
500501
track_next_copy = false;
501502
shader_injection.copyTracker = 0;
502503
}
@@ -543,6 +544,7 @@ BOOL APIENTRY DllMain(HMODULE h_module, DWORD fdw_reason, LPVOID lpv_reserved) {
543544
reshade::register_event<reshade::addon_event::destroy_swapchain>(OnDestroySwapchain);
544545
reshade::register_event<reshade::addon_event::present>(OnPresent);
545546
}
547+
reshade::register_event<reshade::addon_event::present>(OnPresentStateReset);
546548

547549
break;
548550
}
@@ -554,6 +556,7 @@ BOOL APIENTRY DllMain(HMODULE h_module, DWORD fdw_reason, LPVOID lpv_reserved) {
554556
reshade::unregister_event<reshade::addon_event::destroy_swapchain>(OnDestroySwapchain);
555557
reshade::unregister_event<reshade::addon_event::present>(OnPresent);
556558
}
559+
reshade::unregister_event<reshade::addon_event::present>(OnPresentStateReset);
557560

558561
reshade::unregister_addon(h_module);
559562
break;

0 commit comments

Comments
 (0)