-
Notifications
You must be signed in to change notification settings - Fork 817
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 #8015
Merged
Merged
Internal/master #8015
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
This PR reverts the new contextual menu back to native contextual menu. Our approach was to take the original PR, dissect it and revert all the necessary code to make this happen. It is important to highlight that some areas were affected by this changes. Specifically the Piercing Menu, done by the Scene tooling team and the Menus in the render pipeline stream. With this being said, this PR **will** contain code changes coming from the Scene Tooling and Render Pipeline team respectively. We will ensure to work together to get their affected test(s) and feature passing for 23.3.
*[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 in the TilemapRenderer where in Individual mode, Sprites from the same Sprite Atlas texture do not have all of the secondary textures associated with the Sprite Atlas texture depending on the rendering order of the Tiles.
Fix volumetric clouds in planar reflections (fix zbuffer to linear depth for oblique projection matrices) Support negative scale on water surfaces flipping regions and current Allowed multi editing on water surfaces Fixed max raymarching step size, which was removed as mistake during atmospheric sky PR (reported here https://forum.unity.com/threads/volumetric-clouds.1078811/page-15) Without fix:  With the fix: 
Epic: https://jira.unity3d.com/browse/HDRP-3163 This PR adds an option to cache Render Graph compilation on both URP and HDRP. The option is available in a new Render Graph global setting. It is enabled by default on both pipelines.
Fix missing patching in case of SG which is checking IHLSLCodeHolder in BuildContextBlocks function. Factorizing to use the same function for the two path.
…bjectPool backend It was highlighted in several RenderGraph profiling studies that `RenderGraphObjectPool` used in RG was surprising slow. This PR replaces its current home-made implementation by `UnityEnginePool.ObjectPool`. Overall impact on URP RG is limited but it still brings some relevant local gains with a cleaner implementation.
…ence Content Fix typos, misspellings, & inaccuracies in Shader Graph Node Reference Content As called out by[ this forum post](https://forum.unity.com/threads/new-node-reference-samples.1516337/#post-9513511), Shader Graph Node Reference sample pack (published a few weeks ago) had several typos, misspellings, & inaccuracies. We made [a Jira bug for it](https://jira.unity3d.com/browse/UUM-58488) and corrected the errors.
…e, disable backface culling. *Tooltips and documentation rewrite for Sky Occlusion. *Remove backface culling option from UI which was creating confusion *Disable backface culling by default to align with the lightmapper.
Post Process Data is an asset referenced into the UniversalRenderer and the Renderer2D for URP.  We do not know what are the usages of this asset, and how users are modifying it. We want to know basically 1- Are users modifying the shaders 1 single time for the whole project? 2- Are users modifying the shaders per quality level? With this information we will be able to make a decision if this asset is migrated to GraphicsSettings or we need to think of an alternative. Event sheet for Data team: https://docs.google.com/spreadsheets/d/1YqIZkUi0Y_pd5qpC97i1S-dF6CaL7s1kndi-uHlHs1E/edit#gid=1274740786
…endering (UUM-21928) Fixes UUM-21928 by adding GBuffer passes to the Grass and GrassBillboard shaders.
Fix [UUM-58354](https://jira.unity3d.com/browse/UUM-58354) Baking large APVs for terrains for example was problematic. 1) progress was wildly off, 2) cancelling bakes took many minutes, 3) baking was excessively slow or would fail. This was mainly because too many probes were being baked in a single batch. This would cause memory (in the example from [UUM-58017](https://jira.unity3d.com/browse/UUM-58017)) to spike to a sustained usage of 12GB and on AMD devices the memory would be paged to main memory. With the fix, which bakes maximum 128K probes at a time, the memory in the same scene was at a sustained 4GB (from a base load of 2GB). This PR also fixes cancelling to no use the deprecated `Thread.Abort` functionality and instead passes in a token that can signal a cancel state. With this fix the progress is also monotically increasing at a sensible speed indicating the actual progress. The initial probe virtual offset stage should ideally be weighed lower in the progress estimation, but that can come in a later PR. In addition the cancellation happens almost immediately and performance is increased 4.5x as it is not paging anymore. See also [Slack](https://unity.slack.com/archives/C0108P9UH6H/p1701856783394859) for details. Timings before (4K terrain, 7m APV probes, AMD Radeon Pro W5700 8GB): - 00:45:48 - 00:45:24 - 00:49:41 (Sustained memory load 12GB) Timings after (4K terrain, 7m APV probes, AMD Radeon Pro W5700 8GB): - 00:10:13 - 00:10:39 - 00:10:14 (Sustained memory load 4GB) Before:  After: 
…in runtime (UUM-56165) Fixes UUM-56165. The issue is that when a project only contains renderers with the SSAO feature, the OFF variant is taken out to improve build times. This however presents an issue when the feature is disabled in runtime as the keyword is always enabled. The fix here is to use one of the unused components of `_AmbientOcclusionParam` to specify whether the feature is enabled or not and use that with the calculated SSAO value.
See title. Here's what changed: - Fixing using at the begining of the script - replaced "count" with "resolution * resolution" - Added correct indentation (optional for compilation but heh) here's [the script](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/manual/water-scripting-in-the-water-system.html#multiple-objects-with-burst) in doc right now.
Fix incorrect raytracing limitation documentation
…d of BaseType (UUM-56639) Fixes UUM-56639. Done by using `IsSubclassOf` instead `BaseType`, which doesn't pick up Renderer Feature inheriting from another Renderer Feature.
Fix rendering debugger null exception on render graph path. Add a missing change from https://github.cds.internal.unity3d.com/unity/unity/pull/40178 [**POI-817**](https://jira.unity3d.com/browse/POI-817)
The 32-bit path was actually using the wrong constants and had an unnecessary vector truncation. This was causing warnings on Mac platforms when compiling the shader. This wasn't causing functional differences because the values for the swapped constants were actually the same anyways.
Add support for XR for Data Driven Lens Flare: Before (flares are at the same screen position for both eyes): 
The PR fixes the bug case UUM-36629 by reordering the atlas to render to the correct coordinates needed when lookup while avoiding unnecessary y-flips.
This PR implements missing functionality for particle strips. In particular, it adds particle count readback, which enables sleep state, and per-particle frustum culling. - Particle count readback: Strips don't use dead lists to spawn new particles, so we can't reuse that counter, like we do with particle systems. Instead, we are adding some space in memory (1 uint per instance) to store the particle count, at the beginning of the strip data buffer. In the UpdateStrips compute we were already computing the particle count for each strip, so we added an InterlockedAdd to sum the counts from all the strips of each instance, storing it in the new reserved space. We also need to reset the counters to 0 every frame. We do this in the particle update, which was already writing to the StripData buffer. This way, we avoid setting the data from CPU, which is what we do for other counters. There is one difference compared to particle systems readback. For strips, we are returning the actual particle count, while for regular particle systems we return the number of available particles. The readback system takes care of it, substracting from capacity only for particle systems. - Sleep state: One important advantage of adding the missing particle count readback is that we are now able to detect when strip systems are empty (0 particles and not expected to spawn) and we can set it to sleep, reusing the implementation that we already have for particle systems. - Frustum culling: Most of the implementation for frustum culling was already possible to reuse after implementing indirect draw. In this PR we remove the code that was disabling this option, and modify the bounding sphere computation for strip particles, including the next particle that the strip will be connected to.
Fix UUM-55734 : Sample Camera Buffer in Update Use explicit VFXExpressionTextureWidth/VFXExpressionTextureHeight since _TexelSize isn't available in Dispatch
JIRA Ticket: [GFXRPF-207](https://jira.unity3d.com/browse/GFXRPF-207) Added a profiling marker around the RecordRenderGraph step to help with optimization
…tions I noticed an error in RP Core package definition, it has a duplicate dependency to `com.unity.collections` pacakage with two different versions. For some reason this didn't raise any errors anywhere. It is fixed by removing the reference to the older version, since we upgraded from 1.4.0 to 2.2.0 earlier this year. Some kind of merge conflict when merging latest trunk on [the upgrade PR](https://github.cds.internal.unity3d.com/unity/unity/pull/35168/) caused this, and nobody noticed.
Add doc page for stencil usage in HDRP 
… RasterPasses into a single UnsafePass. Optimize RenderGraph CPU cost by converting Bloom from many RasterPasses into a single UnsafePass. [**POI-817**](https://jira.unity3d.com/browse/POI-817) [**GFXRPF-172**](https://jira.unity3d.com/browse/GFXRPF-172)
This fixes https://jira.unity3d.com/browse/UUM-48518 The denoiser for ray traced shadows was incorrectly calculating the range of box lights.
Regular docs sync to main
…Pass, use ResourceHandle IsValid() Currently RenderGraphPass API is costly because we clear its arrays ColorBuffers/InputFragments/RandomAccessResource at each pass initialization. By leveraging existing IsValid() ResourceHandle system we can remove the clear step. It also makes it coherent with HDRP RG path. Doing so makes the validity layers more costly so the overall gain is currently minimal, but it will improve when the validity layers are disabled (see follow-up [PR](https://github.cds.internal.unity3d.com/unity/unity/pull/41619)). Also: -Some inliners have been added to hot code paths. -Some functions are now using 'in' keyword when there is no risk of defensive copy -Some small bugs have been fixed along the way.
Fixes UUM-58842.
…led. This PR fixes two issues: - Fixed a null ref exception when baking APV without GPU streaming enabled. - Fixed a potential breakage when changing the density of probes (min spacing) where we would load cells with a certain layout, change the layout internally after baking and then unload with a different layout, resulting in stray loaded cells causing issues.
Update what's new page for HDRP - for 2023.3
…on demand Render Graph does a lot of validation checks to ensure resources are not corrupted and correctly setup. These checks are costly. Disabling them provides 0.1-0.2ms gains on main CPU thread on PS4 and Switch with High Quality mode tests. This PR implements a way to enable/disable the validation layers from the UI in the editor for both URP and HDRP. Validations will always be disabled in release mode.
Jira: UUM-59122 1. When Unity starts a warning is displayed in the console telling two entries have the same name 2. In the VFX Graph, right click to open the context menu and select `Create Node` => exception in the console
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.