Skip to content

Conversation

@hrydgard
Copy link
Owner

@hrydgard hrydgard commented Nov 3, 2019

Was introduced in 1.9 for GoW games, but some other games can also benefit (for example Star Wars - The Force Unleashed).

This should have no visible side effects if it's correct (which I believe it is), so why not just enable it globally. If we do find problems with this, they should be fixed instead of disabling it again.

@hrydgard hrydgard added the Vulkan label Nov 3, 2019
@hrydgard hrydgard added this to the v1.10.0 milestone Nov 3, 2019
Copy link
Collaborator

@unknownbrackets unknownbrackets left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. Do we need to add dst to touchedFramebuffers in the VKRStepType::COPY and VKRStepType::BLIT cases? Hopefully a rare case. Can't remember if there was a reason this wasn't needed...

It'd be interesting to expose a debug statistic of renderpasses per frame this reduces.

-[Unknown]

@hrydgard
Copy link
Owner Author

hrydgard commented Nov 4, 2019

If you enable the GPU profiler, you can see by looking at the list how many renderpasses were reduced away (though they'll look the same as renderpasses that we already removed through clear elimination).

So yeah, an actual number could be nice too indeed.

Regarding touchedFramebuffers, I'll have a look and think about it.

@hrydgard hrydgard force-pushed the always-merge-renderpasses branch from d5f5b1c to 26ab81c Compare November 30, 2019 22:04
@hrydgard
Copy link
Owner Author

Alright, I think this is ready now. Adding the copy/blit destinations to touchedFramebuffers does not hurt the optimization in the God of War games.

@hrydgard hrydgard merged commit e847881 into master Dec 1, 2019
@hrydgard hrydgard deleted the always-merge-renderpasses branch October 4, 2020 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants