-
Notifications
You must be signed in to change notification settings - Fork 809
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
Internal/master #8021
Merged
Merged
Internal/master #8021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Disabling instability bisected by Mike.
…lay VolumeComponents overrides. The VolumeManager initializes the volumes for a pipeline when it is initialized. In the user project, even if the scene view was open, the UniversalRenderPipeline was not created as there was a Built-in debug mode active. When adding an Override on the Volume Profile, the list was null and it has never been initialized. Adding a fetch of the Volume Component types even if the Volume Manager has not been initilazed. Fixing some usages of `GetVolumeComponentsForDisplay`, as it should be RenderPipelineAsset type, and not RenderPipeline type.
Fixed UUM-56242, changed the graphics tests for apv sky occlusion. Previously the 3d scene was poorly authored and had probes inside a wall causing discrepancy between Hardware ray trace and Software ray tracing (compute based).
The purpose of this PR is first and foremost to remove the use of an intermediate texture when it's not needed when XR is in use.
Partial fix for [UUM-31577](https://jira.unity3d.com/browse/UUM-31577) that eliminates a class of artifacts from High-Quality (PCSS) shadows. The fix is applicable to point and spot lights.
… and lose links Jira: UUM-46548 Steps to reproduce: 1. Create new project and import visual effects graph package 2. Create new empty graph 3. Open attached project in another editor instance 4. Open "New VFX" effect from the attached project 5. In visual effects window, select all nodes and blocks and copy them 6. Return to the newly create project and paste them 7. Notice that node connections are lost, some nodes might not have been copied over and there's an exception in console ArgumentException: Object of type 'UnityEngine.Object' cannot be converted to type 'UnityEditor.Experimental.VFX.Utility.PointCacheAsset'. Expected result: All nodes and their connections are copied over to the new project Note: the exception can also be reproduced by deleting point cache file that is used by a visual effect. Reproduced with: 2021.3.29f1 using 12.1.12 2022.3.7f1 using 14.0.8 2023.1.9f1 using 15.0.6 2023.2.0b4 using 16.0.3
JIRA: https://jira.unity3d.com/browse/VFXG-414 Epic: https://jira.unity3d.com/browse/VFXG-408 POI: https://jira.unity3d.com/browse/POI-816 This PR is adding instancing support to the recently landed ShaderGraph keywords feature: https://github.cds.internal.unity3d.com/unity/unity/pull/38694 Without instancing support this feature will not scale properly and won't be production ready. The implementation of this feature is transparent to the user, the only noticeable difference is that the VFX asset will not display the "Instancing disabled" warning, and better performance when using it with several instances. To support this, we are creating one SharedMaterialData for each combination of keywords that is used, for each material. Then, when adding the rendering node in VFXRenderer, we check if this instance needs a SharedMaterialData different than the one used in the material, and replace it in the materialInfo. Overhead for particle systems not using keywords should be minimal.
We are evaluating an unecessary branch in transparents which should be minor, but causes a performance regression on unlit VFX graphs The regression landed in 23.3 so no need to backport it see comment about failing test https://github.cds.internal.unity3d.com/unity/unity/pull/41205#issuecomment-403732
Fixes : https://jira.unity3d.com/browse/UUM-58619 The setting is no more required since : #39099
This PR fixes various small issues related to Render Graph Viewer: https://jira.unity3d.com/browse/XPIPELINE-853 List of changes: - Serialize filter state into EditorPrefs so that the selected filters persist after closing Render Graph Viewer. - Hide RG Viewer menu option if RG is disabled in URP Graphics Settings - Add missing content to Buffer foldout in Resources overlay. Previously the foldout was empty, now it displays some data I was easily able to fetch (count, stride, target, usage flags): - ![image](https://media.github.cds.internal.unity3d.com/user/3380/files/e63b5a3b-76c6-4c98-bb8f-868647730b95) - Also fixed issue where "imported resource" icon wasn't visible for buffer resources - Rename “low level” to “unsafe” to match API rename done earlier - Fix errors happening in from viewer with specific editor layout as RG is disabled from URP Graphics Settings - Minimal pixel fix
…Editor freeze in certain cases https://jira.unity3d.com/browse/UUM-57582 Our dirtiness check for the path tracer had a special case to avoid doing a full path tracing reset when you change denoising parameters and you have enough data to run denoising again without any new data. But this is very fragile as we increase the complexity of the denoising solution (for example with the volumetrics) so at this point it seems that it's better to remove this code and always do a reset.
https://jira.unity3d.com/browse/ANT-962 The shader variant stripper allows huge gains on the shader compilation of SRP test projects, allowing us to run standalone tests much faster, and sometimes to have them in the QV. - The feature was introduced here: https://github.cds.internal.unity3d.com/unity/com.unity.testframework.graphics/pull/146 - Design doc: https://docs.google.com/document/d/1xnkDTeMNZ_MFIVBWzfGr6nfWmKUj07rjP31vWZKITfU/edit#heading=h.v4zit0fymxn7 TL;DR: The feature is working by providing the explicit list of shader variants that are actually used by the graphics tests (as compiling the whole shader variants space is too long). One pain point currently is for the developers to generate said lists. It's happening manually, by opening a unity project with the graphics test framework and using the inspector. It's very tedious to do it for each test project, and for each platform. This PR and initiative are about automating this update. A new C# solution was introduced, with 2 projects: - ShaderVariantListUpdater, containing the actual features. - ShaderVariantListUpdater.Tests, containing unit tests. A new Yamato job was also introduced, as well as boilerplate for code ownership, config, etc. The yamato job takes a `Pipeline ID` and `Update mode` as input from the developers that kicks off the job. ### How does the updater work? **Inputs:** - `Pipeline ID`, pointing to a pipeline holding the jobs running the test projects we want to update the shadervariant lists from ([example](https://unity-ci.cds.internal.unity3d.com/job/32039877/dependency-graph)) - `Update mode`: either `update` or `aggregate`, by default update. If update is specified it will override the existing shadervariantlist file, if aggregate is specified it will append to it. **Workflow:** 1. Instantiate of a Services provider, that we'll use for Dependency Injection (DI) throughout the lifecycle of the process (AppSettings, Logger) 2. Trigger the Updater service 3. Fetch the Pipeline object and its dependencies with the Yamato REST API 4. Download and unzip the relevant artifact (in this case, test execution logs) in the temp local folder 5. Foreach job (each dependency from 3): - Delete the existing shadervariantlist file on the first pass (if `UpdateMode == Update`) - Parse the existing shadervariant list file (after the first pass) into a SortedSet (to get unique values) - Pass the log to the SVLGeneration Service, which will use regexes to match all relevant shader variants and add them to the set. - Dump the SortedSet content to the shadervariantlist file #### How does the yamato job work? Using the updater is possible locally, but there's a yamato job that runs to by default match the HDRP jobs (can be changed to e.g. URP). The job simply triggers the program and commits/pushes the shadervariantlist file updates to the dev branch. **Caveats** - A prerequisite of this job is to have a "valid" standalone pipeline run to input it ([example](https://unity-ci.cds.internal.unity3d.com/job/32039877/dependency-graph)) - By valid we mean with a very low number of jobs failing in that pipeline. For shadervariantlist updates to be relevant we need as many platforms and APIs as possible.
Bump SRP packages to 17.0.2.
`EnqueuePass` API was mistakenly deprecated. Removes the Obsolete attribute.
Fixed typo in setup code setting script interactions to cpu sim in hdrp asset would throw nullref in the console
Regular docs sync to main
This PR fixes the bug case: UUM-52949. The issue was caused by the previous frame not being cleared before drawing opaque objects with alpha clipping enabled. This resulted in an incorrect pixel blending for alpha to coverage. The error is most noticeable when using a transparent object with additive blending since the pixel becomes really bright in the blending area. We can't make a complete solution for the blending without breaking changes but we can avoid making the issue standout or use last frames pixels by clearing the screen in MSAA is used at the start of the rendering of a frame.
When a bake results in zero generated probes, bake would just abort and do nothing This PR changes this behavior to now clear any existing data. Also fixes probe debug draw when rebaking with a different number of subdivision Additionally, i included minor UI fixes from [this PR](https://github.cds.internal.unity3d.com/unity/unity/pull/40583) as it is getting delayed by UX discussions. (change debug icon which was still using legacy probes, fixed muti editing with prefabs, fix memory allocation regression when sky occlusion is disabled, fix wrong warning message on probe volume inspector)
A recent PR fixed an issue with decals not affecting grass on deferred rendering, but did not include images updates for some consoles This PR provides an image update, and re-enables some missing tests
Impossible to open any HDRP project if XR module isn't installed (in the package.json file i think) This is pretty bad introduced here https://github.cds.internal.unity3d.com/unity/unity/pull/27324
https://jira.unity3d.com/browse/UUM-58252 Usage of static list can look like a regression or step back so we switch to a dynamic list. Adding and removing layers ![RL_AddAndRemove](https://media.github.cds.internal.unity3d.com/user/5932/files/f56a0de4-875b-4851-817c-8d72cae7649f) Warning message when some layers exceed a limit from any defined RP in the GraphicsSettings/QualitySettings. ![Warning message from HDRP](https://media.github.cds.internal.unity3d.com/user/5932/files/699b5043-d2ec-45fc-ada0-18dd2540004b) Warning message when the mask is outside of active Render Pipeline ![image](https://media.github.cds.internal.unity3d.com/user/5932/files/a4b98fa2-a30c-43b8-ac26-5f9fa4ea84c5) Undefined Rendering Layers behaviour ![Undefined Layers](https://media.github.cds.internal.unity3d.com/user/5932/files/f7f6ff9d-68c0-4ea8-8d3a-f8e89598f2f4) Here's a figma. https://www.figma.com/file/a7XxcyTABEFg3GdO5p4BiD/Rendering-Layers-Design?type=design&node-id=513%3A260&mode=design&t=Uf8ZlFbpuTsY764L-1
*[See [this document](https://docs.google.com/document/d/1C4Vc7dOKgoZ2mNqMdugHDg-w6iN7iUYdlBQMGDmVS3E/edit) for details on what can land in 2023.3.]* This PR fixes an issue where a SpriteShapeRenderer with mask interaction set is unable to be masked by a SpriteMask when using a URP pipeline.
When baking a very large scene, sky occlusion issues a dispatch too large result in an error in the console and bake fails. Can be easily reproed with a big terrain, eg. this one would fail on trunk ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/9a086574-b2ba-4243-a72d-ad5e78f64086) Note: a recent change from arthur (#40707) hides the option to cull backfaces on sky occlusion, but doesn't force the value to false, so it keeps the value it had before the option was hidden. This is unwanted and so now the value is always forced to false (explanation of why can be found in the original PR)
- Fix incorrect HDRP configuration for MacOS, it was still listing OGL - Fix URP & HDRP Yamato configuration, the filter `VFX.Test` was missing - Upload missing image references
Fixes various shader errors and warnings in URP.
… runtime Adds instructions for blending APV lighting scenarios at runtime. Users are asking a lot of questions on the forums about this, since we communicated about the feature but never documented this.
…n the Scene is reloaded Fixes UUM-49000
reported by the demo team here https://unity.slack.com/archives/C022VGK09HT/p1702945817869849 The max z buffer was used in distant clouds mode and is not useful anymore as we use directly the regular depth buffer (it's more precise obviously and faster than generating it when volumetric fog is disabled) But the code sampling the max z buffer was left making blocky artifacts in some cases Can be reproduced by putting a cube intersecting volumetric clouds and enabling volumetric fog. Blocky artefacts will appear | before | after | |--|--| | <img width="509" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2154/files/6dde9f7a-3f11-4fd4-9cca-bcfa73413ea1"> | <img width="509" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2154/files/69d7838a-b675-428e-83ab-20cc8dab3570"> | Also fix an issue with the integration noise when camera is in the clouds | before | after | |--|--| | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/dd5e1bf5-f357-4aff-8f69-0472294ce352) | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/aedae82e-87d9-4851-a269-c34e6e23fbc3) | Finally fixes an issue on clouds when fog is enabled and camera is a bit high. They would end up further than the far plane and receive too much fog | before | after | |--|--| | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/bc571253-91d9-4604-89be-a3c10734237d) | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/2da7e9c2-f083-4cba-87c5-fb86cd819c61) |
This PR addresses some typos that were present in the previous version of the shader code in Stp.hlsl. Specifically it fixes: - Swapped constants for color channels in luma calculation - Compilation issues in HLSL 2021 mode due to vector ternary usage - Incorrect array index used in dilation constant code (unused in Unity's implementation) The luma weight changes will cause a subtle change in visual output, but the overall impact isn't expected to be noticeable. The other changes don't affect runtime functionality.
Fix invalid resources when pressing Reset on the Global Settings assets. https://jira.unity3d.com/browse/UUM-57476
The code and several places in the UI still refer to STP by its name before it was changed for the Unite demo. This change corrects the code and UI to follow the naming convention that was used when the feature was announced to the public. Before Demo: "Scalable Temporal Post-Processing" After Demo: "Spatial-Temporal Post-Processing"
This change fixes a case where some alpha-to-coverage specific logic was overwriting the alpha value used by transparent surfaces that were also using alpha-clipping. The solution for this problem is to inline the alpha overwrite logic into the alpha-to-coverage specific calculations.
This PR fixes indirect-support collection for Materials, which was happening over multiple-threads instead of in the main-thread (spamming failed assertions in Debug editors), and introduces `GPUDrivenPackedMaterialData` to simplify material-data being passed by `GPUDrivenProcessor` between the engine/scripting sides.
Bug fix for [UUM-58831](https://jira.unity3d.com/browse/UUM-58831) HDRP manually subscribes to the player loop callback and calls the tick function. This can throw a null reference exception during async scene loads where the component is initialized, but the parent GameObject is not. This PR fixes this null reference exception.
Fix https://jira.unity3d.com/browse/UUM-60154 Fixes memory leak reported by beta user on the forums, caused by missing Dispose() call on a NativeList. Slack thread: https://unity.slack.com/archives/C02LJ5VSV97/p1704700987597219
…y Oliver Schnabel. Updated the console message for the Compatibility Mode as suggested by Oliver Schnabel.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please read the Contributing guide before making a PR.
Checklist for PR maker
need-backport-*
label. After you backport the PR, the label changes tobackported-*
.CHANGELOG.md
file.Purpose of this PR
Why is this PR needed, what hard problem is it solving/fixing?
Testing status
Describe what manual/automated tests were performed for this PR
Comments to reviewers
Notes for the reviewers you have assigned.