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: Reduce capture size + image_in fixes #5381

Merged
merged 9 commits into from Dec 4, 2018

Conversation

Projects
None yet
5 participants
@elad335
Copy link
Contributor

elad335 commented Dec 1, 2018

  • Reduce capture size.
  • ignore image_in transfers with empty clip region. its not executed at all according to hw tests.
  • Dont "fix" in_pitch and out_pitch when 0 (image_in and buffer notify)
    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.
  • Minor size of rect fixes.
  • Add rsx lv2 defaults for sempahore context, cus vsh.
  • Implement backwards source image reading in image_in. Fixes #4747.

@elad335 elad335 force-pushed the elad335:experimental branch from 88b83c9 to 89b93bd Dec 1, 2018

@elad335 elad335 force-pushed the elad335:experimental branch 2 times, most recently from bee4926 to c43273f Dec 2, 2018

@Deminating

This comment has been minimized.

Copy link

Deminating commented Dec 2, 2018

Will edit with findings as they go along

Surf's Up loadable -> ingame
NCAA March Madness 08 intro -> ingame, needs a mix of WCB/SRM/blit to show graphics
Mamorukun Curse ingame -> most likely playable, story mode fixed with mix of WCB/SRM/bit needed

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.

@elad335 elad335 force-pushed the elad335:experimental branch 2 times, most recently from e46ebb6 to de5c311 Dec 2, 2018

Show resolved Hide resolved rpcs3/Emu/RSX/rsx_utils.h Outdated
@@ -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));

This comment has been minimized.

Copy link
@kd-11

kd-11 Dec 2, 2018

Contributor

good catch

Show resolved Hide resolved rpcs3/Emu/RSX/rsx_methods.cpp Outdated
@digitaldude555

This comment has been minimized.

Copy link

digitaldude555 commented Dec 2, 2018

screenshot 1285
game no longer black screen.

@elad335 elad335 force-pushed the elad335:experimental branch 2 times, most recently from 914c4c8 to c2f9e27 Dec 2, 2018

@elad335 elad335 force-pushed the elad335:experimental branch 2 times, most recently from 93834ad to 98f97f0 Dec 3, 2018

@micaelis72

This comment has been minimized.

Copy link

micaelis72 commented Dec 3, 2018

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.

@kd-11

kd-11 approved these changes Dec 3, 2018

@elad335 elad335 force-pushed the elad335:experimental branch 3 times, most recently from 8ec8fe8 to 23cac69 Dec 3, 2018

elad335 added some commits Dec 1, 2018

rsx-capture: reduce capture size
* 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
rsx image_in: remove clip h and w hack
If clip region is empty, dont execute
rsx image_in: Fix in_pitch 0
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.

@elad335 elad335 force-pushed the elad335:experimental branch from 23cac69 to e1158a5 Dec 4, 2018

@kd-11 kd-11 merged commit 45942c4 into RPCS3:master Dec 4, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@elad335 elad335 deleted the elad335:experimental branch Dec 4, 2018

@elad335 elad335 referenced this pull request Mar 2, 2019

Merged

My Fixups #5697

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.