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: Minor texture optimizations #6488

Merged
merged 3 commits into from
Sep 7, 2019
Merged

rsx: Minor texture optimizations #6488

merged 3 commits into from
Sep 7, 2019

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Sep 6, 2019

  • Allow fast upload of data by looking for opportunities to upload the full data block in one go.
    Minor performance improvement noted when profiling a particularly problematic game (Split Second)
  • Allow for auto-matching of pitch dimensions. Dumping statistics from games shows most use pitch alignment of 1 and there is no reason to force 256-byte alignment when uploading. Allows fast-copy to work which should make it easier on the GPU and CPU to handle. Also drastically lowers memory footprint of smaller textures.
  • Batch compute and transfer operations when decoding texture data. Lowers overall number of compute invocations by an order of magnitude.

@legend800
Copy link

Didn't notice a perf diff in S/S. GFX are a little more broken. Guess the good news there is whatever you're doing IS impacting these specific gfx.

Before:
2019-09-06 08_01_38-FPS_ 5 61 _ Vulkan _ 0 0 7-04af3543-dma _ Split_Second  NPUB30450

PR:
2019-09-06 09_42_39-FPS_ 6 16 _ Vulkan _ 0 0 7-f6cd9a86-fixes _ Split_Second  NPUB30450

Master:
2019-09-06 09_40_01-FPS_ 16 93 _ Vulkan _ 0 0 7-8650 _ Split_Second  NPUB30450

PR:
2019-09-06 09_41_27-FPS_ 17 18 _ Vulkan _ 0 0 7-f6cd9a86-fixes _ Split_Second  NPUB30450

@aka2k
Copy link

aka2k commented Sep 6, 2019

Performance seems good on GT5, but the rainbow textures are back:

2

But also getting after between a few seconds and a minute in the track:

F {RSX [0x0012080]} RSX: class std::runtime_error thrown: Verification failed (e=0x7f):
(in file C:\projects\rpcs3\rpcs3\Emu\RSX\VK\VKGSRender.cpp:3202)

- Allows using fast copy paths and reduces memory and compute footprint
@kd-11
Copy link
Contributor Author

kd-11 commented Sep 6, 2019

Rainbow regression is fixed; the other crash is unrelated to this PR.

- Reduces overall number of invocations
@incognitoh
Copy link

incognitoh commented Sep 7, 2019

@kd-11 regression found with Top Spin 4 (cleared shader cache before testing)
vk only, OGL is not affected.

RPCS3 v0.0.7-8650-efa501da
tso

this pr after merge RPCS3 v0.0.7-8653-440d58f2:
ts1

gpu:gtx1070
431.36 drivers

@incognitoh
Copy link

the Smurfs 2 - vulkan regression - playable > nothing. crashes at bootup

vk only, ogl not affected. the game requires libvdec.

RPCS3 v0.0.7-8650-efa501d
sm2

this pr merged-RPCS3 v0.0.7-8653-440d58f2
sm21

gpu:gtx1070
431.36 drivers (july 2019)

@incognitoh
Copy link

@kd-11 as expected, Top Spin 3 has also regressed with this pr. vk only. ogl not affected

ts21

@kd-11 kd-11 mentioned this pull request Sep 8, 2019
@kd-11
Copy link
Contributor Author

kd-11 commented Sep 8, 2019

The regression is fixed by #6498

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants