Skip to content

vk: Fix indexed multidraw - #17107

Merged
kd-11 merged 2 commits into
RPCS3:masterfrom
kd-11:vk-rework
Apr 27, 2025
Merged

kd-11 merged 2 commits into
RPCS3:masterfrom
kd-11:vk-rework

Conversation

@kd-11

@kd-11 kd-11 commented Apr 27, 2025 •

Copy link
Copy Markdown
Contributor

Closes #17091
Closes #17099

@digant73

digant73 commented Apr 27, 2025 •

Copy link
Copy Markdown
Contributor

Not yet tested this PR but it should still fail. I fixed the issue passing the base pointer (_ptr is increased in the loop so it will point to the end of the buffer instead of base address) in:

_vkCmdDrawMultiIndexedEXT(*m_current_command_buffer, subranges_count, _ptr, 1, 0, sizeof(u32) * 3, nullptr);

so something like:

auto _ptr = m_multidraw_parameters_buffer.data(), _ptr_base = _ptr;
...
...

_vkCmdDrawMultiIndexedEXT(*m_current_command_buffer, subranges_count, _ptr_base, 1, 0, sizeof(u32) * 3, nullptr);

@digant73

digant73 commented Apr 27, 2025 •

Copy link
Copy Markdown
Contributor

I confirm the issue even on this PR (wrong base address). No issue passing the base address

@digant73

digant73 commented Apr 27, 2025 •

Copy link
Copy Markdown
Contributor

also closes #17099

@kd-11

kd-11 commented Apr 27, 2025

Copy link
Copy Markdown
Contributor Author

I confirm the issue even on this PR (wrong base address). No issue passing the base address

The struct was also constructed incorrectly, so even if you pass base pointer you would still have missing draws and flicker.
That whole changeset was an untested disaster.

@digant73

digant73 commented Apr 27, 2025 •

Copy link
Copy Markdown
Contributor

I see. I limited my test on GT5 only. Regressions are very dangerous if not immediately fixed with so many PRs continuously merged. New bugs over regressed code could be extremely difficult to be properly discovered. For that reason I'm focused on that testing. Sorry for stressing you even on Sunday

@kd-11
kd-11 merged commit 2afd770 into RPCS3:master Apr 27, 2025
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.

[Regression] [BCUS98114] Title temporarily freezes at certain spots [Regression] Gran Turismo 5 Crashing and Freezing

2 participants