-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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: Reduce capture size + image_in fixes #5381
Conversation
bee4926
to
c43273f
Compare
Will edit with findings as they go along Surf's Up loadable -> ingame Everything else I've reported has either been fixed or suffers from other errors. As far as I can tell, image_in errors seem fixed. |
e46ebb6
to
de5c311
Compare
@@ -900,7 +900,7 @@ namespace rsx | |||
u8* pixels_dst = vm::_ptr<u8>(get_address(dst_offset + out_offset, dst_dma)); | |||
|
|||
const auto read_address = get_address(src_offset, src_dma); | |||
rsx->read_barrier(read_address, in_pitch * in_h); | |||
rsx->read_barrier(read_address, in_pitch * (in_h - 1) + (in_w * in_bpp)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch
914c4c8
to
c2f9e27
Compare
93834ad
to
98f97f0
Compare
The huge amount of "RSX: NV3089_IMAGE_IN: Invalid dimensions or scaling factor." that exists on Macross 30 vanished. Other problems remains on the game, but this message has gone. |
8ec8fe8
to
23cac69
Compare
* Dont bother capturing 'destination' blocks with no data. instead premap all main memory to ensure allocated * Capture zcull and tile state as their compressed gcm forms * Fix index array capturing, ignore empty sets * hle gcm: Fix byteswaping in cellGcmSetZcull
If clip region is empty, dont execute
The hw doesnt fix pitch, when specifying src pitch 0 it copies the same pixels line to dst. keep in mind out_pitch = 0 is not allowed in image_in. Same goes for buffer_notify, though it allows out_pitch to be 0.
extracted from vsh
e.g when src pitch is 0, the same line is copied to the destination.
testcase used
original texture.
result using image_in with zero src pitch.
result using buffer_notify with zero dst pitch;
result using buffer_notify with zero src pitch.