Rsx: remove method registers reset

cellGcm manually resets registers each flip, tested with cellGcmSetFlip
This commit is contained in:
eladash 2018-08-28 22:03:28 +03:00 committed by kd-11
parent c452b43ebc
commit fc50e6abcb
2 changed files with 7 additions and 2 deletions

View File

@ -719,6 +719,11 @@ namespace
{NV3062_SET_OFFSET_DESTIN, "NV3062_SET_OFFSET_DESTIN"}, {NV308A_POINT, "NV308A_POINT"},
{NV308A_SIZE_OUT, "NV308A_SIZE_OUT"}, {NV308A_SIZE_IN, "NV308A_SIZE_IN"},
{NV308A_COLOR, "NV308A_COLOR"},
{GCM_SET_USER_COMMAND, "GCM_SET_USER_COMMAND"},
{GCM_DRIVER_QUEUE, "GCM_DRIVER_QUEUE + 0x0"},
{GCM_DRIVER_QUEUE+1, "GCM_DRIVER_QUEUE + 0x4"},
{GCM_FLIP_HEAD, "GCM_FLIP_HEAD"},
{GCM_FLIP_HEAD+1, "GCM_FLIP_HEAD + 0x4"},
};
}

View File

@ -1182,9 +1182,9 @@ namespace rsx
rsx->int_flip_index++;
rsx->current_display_buffer = arg;
rsx->flip(arg);
// After each flip PS3 system is executing a routine that changes registers value to some default.
// After each flip cellGcmSys is executing a routine that changes registers value to some default.
// Some game use this default state (SH3).
rsx->reset();
if (rsx->isHLE) rsx->reset();
rsx->last_flip_time = get_system_time() - 1000000;
rsx->flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_DONE;