Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsx: Maintenance Fixes [4.1] #12795

Merged
merged 2 commits into from
Oct 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions rpcs3/Emu/RSX/RSXFIFO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ namespace rsx
{
enabled = _enabled;
num_collapsed = 0;
begin_end_ctr = 0;
in_begin_end = false;
}

void flattening_helper::force_disable()
Expand Down Expand Up @@ -506,7 +506,7 @@ namespace rsx
{
// If its set to unoptimizable, we already tried and it did not work
// If it resets to load low (usually after some kind of loading screen) we can try again
ensure(begin_end_ctr == 0); // "Incorrect initial state"
ensure(in_begin_end == false); // "Incorrect initial state"
ensure(num_collapsed == 0);
enabled = true;
}
Expand All @@ -520,7 +520,7 @@ namespace rsx
{
case NV4097_SET_BEGIN_END:
{
begin_end_ctr ^= 1;
in_begin_end = !!command.value;

if (command.value)
{
Expand Down Expand Up @@ -550,7 +550,7 @@ namespace rsx
else
{
rsx_log.error("Fifo flattener misalignment, disable FIFO reordering and report to developers");
begin_end_ctr = 0;
in_begin_end = false;
flush_cmd = 0u;
}

Expand All @@ -574,7 +574,7 @@ namespace rsx
else
{
// Flush
flush_cmd = (begin_end_ctr) ? deferred_primitive : 0u;
flush_cmd = (in_begin_end) ? deferred_primitive : 0u;
}
}
else
Expand All @@ -593,7 +593,7 @@ namespace rsx
draw_count = 0;
deferred_primitive = flush_cmd;

return (begin_end_ctr == 1)? EMIT_BARRIER : EMIT_END;
return in_begin_end ? EMIT_BARRIER : EMIT_END;
}

return NOTHING;
Expand Down
2 changes: 1 addition & 1 deletion rpcs3/Emu/RSX/RSXFIFO.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ namespace rsx

u32 deferred_primitive = 0;
u32 draw_count = 0;
u32 begin_end_ctr = 0;
bool in_begin_end = false;

bool enabled = false;
u32 num_collapsed = 0;
Expand Down
2 changes: 2 additions & 0 deletions rpcs3/Emu/RSX/rsx_methods.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,9 @@ namespace rsx
}
}
else
{
rsx::method_registers.current_draw_clause.is_immediate_draw = false;
}

if (!rsx::method_registers.current_draw_clause.empty())
{
Expand Down