-
Notifications
You must be signed in to change notification settings - Fork 860
[URP] Automatic Intermediate Texture handling #5297
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
Conversation
…new Compatibility section
|
Hi! This comment will help you figure out which jobs to run before merging your PR. The suggestions are dynamic based on what files you have changed. URP Depending on the scope of your PR, you may need to run more jobs than what has been suggested. Please speak to your lead or a Graphics SDET (#devs-graphics-automation) if you are unsure. |
|
Would suggest that we leave out the explanation about Always for the docs. we normally just have a generalised description of the feature and what it does, maybe speak more to that and explain the performance implications more, without referencing the options. |
thomas-zeng
left a comment
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.
LGTM! Thank you!
|
We will need this PR for 2021.2(requested by msft hololens). The branch off for 2021.2 is scheduled for Sep 1st and it's likely the PR will land afterward. So we will need to backport this PR to 2021.2 branch once it lands. |
ernestasKupciunas
left a comment
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.
Tested the upgradability, works as expected.
Also ran Boat Attack and URP Rendering Examples builds in the Editor and MacStandalone build with Always and When Needed, seems to work as intended too.
Device under testing:
MacBook Pro (15-inch, 2017), 2,8 GHz Quad-Core Intel Core i7, 16 GB 2133 MHz LPDDR3, Radeon Pro 555 2 GB, macOS Big Sur 11.5.1 (20G80)
Unity used for testing:
Version: 2022.1.0a8.1153 Personal
Revision: trunk a6d7f27874c0
Built: Sat, 04 Sep 2021 19:12:24 GMT
Good job with the PR description and attached images!
| { | ||
| public enum IntermediateTextureMode | ||
| { | ||
| WhenNeeded, |
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.
Minor: maybe use Auto as that's a pattern we use already in other properties.
# Conflicts: # com.unity.render-pipelines.universal/CHANGELOG.md # com.unity.render-pipelines.universal/Documentation~/upgrade-guide-12-0-x.md
…y-Technologies/Graphics into universal/intermediate-texture-mode
oleks-k
left a comment
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.
Looks good.
57ce156 to
9783e62
Compare
|
I've gone through all the failing jobs, and verified that they're failing in the same way on master. |
* Revert #5297 * fix whitespace
Purpose of this PR
Previously, URP would force rendering to go through an intermediate renderer if the Renderer had any Renderer Features active. On some platforms, this has significant performance implications. Due to that, Renderer Features are now expected to declare their inputs using
ScriptableRenderPass.ConfigureInput. This information is used to decide automatically whether rendering via an intermediate texture is necessary.For compatibility reasons, a new property Intermediate Texture has been added to the Universal Renderer. This allows for either using the new behaviour, or to force the use of an intermediate texture. The latter should only be used if a Renderer Feature does not declare its inputs using
ScriptableRenderPass.ConfigureInput.All existing Universal Renderer assets that were using any Renderer Features (excluding those included with URP) are upgraded to force the use of an intermediate texture, such that existing setups will continue to work correctly. Any newly created Universal Renderer assets will default to the new behaviour.
Testing status
Verified the behaviour of the option and the asset upgrades locally.
Comments to reviewers
Please do test the upgrading, and see if it acts as expected.